RSSAmplifier

Blog

Karuboniru's Blog

羰基的博客

yanqiyu.infoRSS feed ↗24 posts

Latest posts

一种很怪的隧道 (MACsec in VXLAN)

出发点 其实一开始是想玩 IEKv2 + IPsec的,但刚开始配置就被复杂度劝退了。于是就开始研究现有的隧道方案,看到 这篇文章 ,才知道数据中心里常用的VXLAN 隧道其实也能跑在公网上,而且还能翻墙。 不过那篇文章提到一个问题:VXLAN本身没有加密,墙还是能检查隧道里的内容。然后我就想到,既然是二层连接,不如加个 MACsec ,既能加密又能认证?这种比较小众的协议,说不定就是“灯下黑”,能混过去。 配隧道 先在两端配置 VXLAN 隧道: 1 2 3 4 5 6 firewall-cmd --permanent --add-port=8472/udp # 放行 vxlan 的端口 nmcli connection add type vxlan \ con-name vxlan ifname vxlan \ # interface 的名字,可以随便取名 id 0 remote…

Build your own fedora OSTree Remix

I am not responsible for bricked computers, system instabilities, dead cats, thermonuclear war or you getting fired because you lost important work. Please make a backup of your device or of the data, and make a boot drive in case of necessity. Do some research if you have any concerns about steps documented in this guide. YOU are choosing to make these modifications, and if you point the finger…

Singleton Patterns are DANGEROUS (when used across the border of shared libraries)

Singleton Patterns areDANGEROUS ... When you want to control the order ofinitialization/deinitialization of your objects across sharedlibraries. Consider the case where you have a beautiful logger class, which is asingleton, and another class which will put some information to log. Itis also totally legit that you want to log when the object is beingcontructed and being destructed. In the object,…

整点新笔记本

好端端的为啥要买电脑 自古以来,我的setup就是两台笔记本,一个游戏本...用来打游戏,另一个轻薄本,用来拿着到处跑还有写写代码。然后又有些历史背景,简单的说就是家里人不怎么会用电脑,也不愿意学。这一切形成的稳态直到我爸他们学校引入高大上的电教系统之后被打破了——我爸也要用电脑。 这事情本来很好办,用电脑嘛,老年人安排个红米笔记本,就能覆盖几乎所有需求。但是我爸觉得为了这么简单的需求买个电脑意义不大,一直在拖买电脑/学电脑的事情。 那我也忍不下去了,干脆声称Surface Book2已经不能满足我写代码的性能要求,干脆丢给我爸。我声称自己可以用游戏本完成所有需要笔记本的工作。 这一切都很好,直到带着电脑开会,背着到处跑重不说,续航还是惨不忍睹,在会场上拿着大砖头到处找插座的就是我了。…

Don't Panic

俗话说得好,用 btrfs 的人不吃一次 ENOSPC 就算人生不完整。Btrfs 巧妙的chunk 双重分配设计使得你可以在 df 报告 all green 的时候唐突ENOSPC。不过我一度觉得只要没发生过大规模删除 subvol ,导致 allocation效率变低这类的情况,唐突 ENOSPC 不会找上你。 万事就怕个但是... 背景 两块盘,hc550(16TB) 和 hc320(8TB),数据是 metadata 用 RAID1, data 用single。装的快满了,但是剩余空间还剩余接近 2TB。 事件发生 我正在喝着酒儿唱着歌儿,顺便解压一些之前下载的同人音声。突然,解压程序报I/O错误,然后退出。意识到什么地方不对的我直接 dmesg ,结果看到吓人的一片红 你就说吓不吓人吧 我大概是不熟悉/不信任 btrfs,第一反应看见一堆 transid verify…

Building a router based on Fedora IoT

I had enough of my old WiFi router that hangs randomly, and hijacksmy traffic when it thinks the network is down (diagnostics page). So Idecided to build one router on myself. Compared to FedoraMagazine article , I decided to do something new: use Fedora IoT instead of FedoraServer. This guide is based on latest fedora iot edition and my setup is amulti ethernet small computer. Installing Fedora…

Waydroid on Fedora

There is a new Waydroidbuild for fedora that don't need a custom kernel, by dropping ashmem requirements, you can check out there. Waydroid needkernel with ashmem and binder Ashmem and binder is what makes "Android kernel" different fromtraditional desktop's. They are not built with Fedora's stock kernel fornow ( Butthey are planning so ). So we need to install a kernel with ashmemand binder…

尝试 WSLg 以及启用图形加速

关于 WSLg 在老早之前微软就宣布了 WSL支持图形界面 ,这个项目的代号就叫做 WSLg。因为不常用 Windows于是我其实一直没有尝试这东西,直到昨天 Windows 11 推送 insider版本。我为了尝试 Windows 11 找了个电脑升级之后, 发现最想要的Android 模拟器还没加进来, 感叹微软虚假宣传之外,顺便尝试下 WSLg的玩法。 其实最令人感到奇妙的就是 WSLg 都用上了 Wayland,然而有些发行版的Wayland 支持还是不积极。 使用 WSLg 在很多地方已经有了详细的介绍,开启 WSLg 首先就要开启 WSL2,首先要去 启用或关闭 Windows 功能 里面开启 适用于 Linux 的 Windows 子系统 以及 虚拟机平台 ,注意后者有很多名字类似的,不要开错了。然后安装WSL 的发行版。我还是老样子选了 修改版的Fedora…

某不知名网友怒斥华为,究竟发生了什么

虽然国内新闻平台比较后知后觉,但是想必大家都看到了类似于这样的 报道 。报道中故事被显著的简化:一个提交trivial patch的华为员工被开发者社区怒斥。这个瓜显然不好啃,我大概简述一下我吃到的瓜长啥样。 导火索的 patch 作为导火索的邮件是 这一封 。邮件中Zhen Lei 想要提交一个 patch以移除一个分配内存失败的警告。理由是如果能触发这个警告的情况下,calltrace 应该能有效的提示开发者发生了什么。 这个 patch被礼貌的拒绝,理由是作为测试套件的一部分,尽可能的详细并不是一件坏事。移除它完全没必要。 到这里结束的话,问题其实不大。在 LKML 中一直有 patch被拒绝,这种无关紧要的一行修改被拒绝了就被拒绝了。但是这位 patch作者接下来进行了反驳: 我觉得这个错误提示对于 debug 完全没用; 删除它能省下来一点编译出来的二进制的体积; 如果发生了…

上手 Fedora CoreOS,以搭建代理为例

前几天,Vultr的洛杉矶机房维护,我的主力代理自然就断掉了,于是临时启动了一个机器用来救急。虽然有一个脚本用来处理配置代理需要的步骤,但是因为脚本忘了写防火墙规则导致我迷惑了足足有半分钟(然后想起来我上次用这个脚本的时候也是手动ssh 上去添加防火墙规则的)。 退一步越想越气,于是突然想到妮可艹提到过 Fedora CoreOS 很适合这类工作,顺便我正好学习下这东西怎么用。 在 Vultr 上通过 CoreOS 部署V2ray 说干就干,先看看 文档 ,琢磨琢磨,然后糊一个Fedora CoreOS Config 文件。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48…

Switch to systemd-boot and Unified Kernel Image on Fedora

I am not responsible for bricked computers, system instabilities, dead cats, thermonuclear war or you getting fired because you lost important work. Please make a backup of your device or of the data, and make a boot drive in case of necessity. Do some research if you have any concerns about steps documented in this guide. YOU are choosing to make these modifications, and if you point the finger…

莽一把,升级 Fedora 34

Fedora 34 (在 2021 年 3 月 15 日)还处于 Prerelease 状态,虽然我使用过程没遇到严重问题,但是不建议新手盲目上测试版。 在邮件列表看了下 Fedora 34 的 blockerbugs 状态,感觉严重的问题基本上已经被解决了。加上现在我的机器有牛逼闪闪的Btrfs 加成,再大的翻车都能回滚快照。于是决定莽一把,升级 Fedora 34。 总之先搞一个快照 顺便把快照传出去: 1 2 sudo btrfs sub snap -r / /.snapshot/fedora-33 sudo btrfs send /.snapshot/fedora-33 | pigz --best > /any/path/fedora-33.btrfs.gz 众所周知的升级过程 1 2 sudo dnf system-upgrade download --refresh…

我是来吹 Cloudflare Pages 的

迁移博客到 Cloudflare Pages 薅羊毛,就要薅到底 突然发现 Cloudflare的新静态网页托管服务结束了内测,变得可用。考虑到现在站点是 Github Pages+ Cloudflare CDN 搭建,于是干脆一不做二不休换成 Cloudflare Pages 算了。 没有中间商赚差价 我也不用粗暴的在每次 GitHub Actions之后做一次缓存清除(以免 Cloudflare 缓存了旧的页面而没有及时更新)。 切换到 Cloudflare Pages 整体上很容易,在 Pages 页面点击那个大大的黄色的 Get Started按钮,按照指引授权 GitHub权限、选择构建使用的仓库、最后设置构建的命令就完成了迁移...好吧,这是最简单的情况,适用于你的站点只需要最简单的命令即可构建时,例如下表中的框架: 框架 构建命令 输出目录 Angular (Angular…

如何更加优雅的在 fedora 上安装 fcitx5

感谢囧脸的努力,fcitx5 也进入了正式 release 的阶段。当然,Fedora官方源里面的 fcitx5 也即将切换到 release版本。相对于之前的版本,有些信息需要相应的更新,于是有了这篇文章。 新版本的 fcitx5 及其组件在现在(写文章时)还在 test仓库,想要安装的可以从中安装尝试,升级方法见 bodhi 。 对应升级用户,变更如下: 如果你是使用 imsettings 设置输入法或者是通过 alternatives设置输入法的,那么你不会感知到变化。 如果你是通过符号链接 ln -s /usr/share/applications/fcitx5.desktop ~/.config/autostart/ 设置输入法的,那么自动启动会挂掉,你需要删除原来的符号链接并 ln -s…

轻松的安装 Geant4

本文主要是给组里面的同学们快速配置自己的 Geant 4 之用 本文使用 Fedora 操作系统(或者是其 WSL remix) 如果你是高贵的 Arch 用户,AUR 里面貌似有现成的 Geant 4, 也是开箱即用的,但是 Arch 用户大概不需要这篇文章 在 WSL 中配置你的 Fedora环境 对于原生 Linux 用户,请忽略这一节。 启用 WSL 与安装 Linux 请参阅 这篇文章 的“为 WSL做准备”章节,启用你的 Windows 下的 WSL。然后在 FedoraRemix for WSL发表页面 下载那个 appxbundle 文件,双击安装这个软件包,然后打开安装的程序,按照提示进行设置用户名以及密码。 安装 XServer 为了能正确使用 ROOT/Geant4 的图形界面,你需要安装 XServer。在 这里 下载,安装后启动,全部选择默认配置即可。 然后在…

如何下周就在 Fedora 32 用上 Fcitx 5

本文内容已经严重过时,请参阅 这篇更新的文章 设置你的 fcitx5 一开始想了想要不要在标题写 Fedora,觉得还是必要的。因为目前只有 ArchLinux (和 Debian 和 Ubuntu)出于套近乎的关系有了 Fcitx 5 全家桶。 为什么是下周?——因为 Fedora 的 QA, 包最长会在 Bodhi 等一周,除非你们帮忙测试,点个 upvote (๑•̀ㅂ•́)و✧。 测试大概明天或者后天上线,想要参与就 dnf install --enablerepo=updates-testing 来进行安装。 建议安装的包 fcitx5 fcitx5-gtk fcitx5-qt fcitx5-configtool fcitx5-chinese-addons 另外之前用了我的 copr 版本的人,请保证把里面的包卸载之后在进行安装,否则可能出现奇妙的冲突。…

在 Hyper-V 会话中对于 Fedora 启用增强会话

Hyper-V的图形界面搞得老百姓怨声载道 卡出翔 分辨率最高 1080x1920 剪切板共享没有 TL;DR, 使用增强模式 1 2 3 $ git clone https://github.com/karuboniru/linux-vm-tools.git $ cd linux-vm-tools/fedora $ sudo ./install-config.sh 虚拟机关机, 打开 PowerShell (需要管理员权限) 1 PowerShell> Set -VM -VMName <your_vm_name> -EnhancedSessionTransportType HvSocket 重新打开虚拟机即可 效果 Detail: 你多干了啥 主要是为了让 SELinux 高兴增加了模块: 1 2 3 4 5 6 7 8 9 10 module allow-vsock 1.0 ;…

Trojan for Fedora and EPEL

Trojan 即将在Fedora 操作系统官方源(含 EPEL 8)可用🎉. 详情可见 FedoraBodhi , 以及 Trojan issue#462 . 在 Trojan 进入 stable 仓库之后我会去更新一下 Trojan 那边的安装教程,顺便在这里也写一下. 等到软件进入 Testing 之后大家也可以帮忙测试.有这个版本特有的问题(来自于打包等的问题)请汇报 Bugzilla 或者是 邮件联系我 .来自于上游的问题可以 直接汇报给上游 ,但请注明软件包安装来源. Update 20/6/22 已经可用 1 2 3 4 Package : trojan- 1 . 16 . 0 - 4 .fc33 Summary : An unidentifiable mechanism that helps you avoid censorship RPMs : trojan Size :…

Geant 4 的一个坑

本文主题在 Geant 4 的官方论坛讨论 在此 .感谢论坛用户 maire 没有它的提醒我现在还没走出代码苦海. 遇到问题 因为给最近在学习 Geant 4,在老师的要求下准备写一个程序模拟获得质子行进的 \(\require{physics}\dv{E}{x}\) 数据,一开始我直接记录下每个 Step 的能量损失以及 PostStepPoint 对应的坐标. 然后对于质子穿透范围划成多个 bin, 将能量沉积填入其中. 但是事与愿违: 我得到了这样的直方图: 它不正常, 一个质子行进的 \(\dv{E}{x}\) 作图应该表现为单峰结构: Bragg Peak .但是可以看到在 \(x = 5 \,\rm{cm}\) 上出现一个峰值. OK, 出现了问题就去找问题. 寻找源头 理应 \(x = 5\,\rm{cm}\) 附近不会有任何特殊性质, 至少在我的代码中 --说明问题出在…

诺特定律

诺特定律, 也即对称性蕴含守恒流, 更加准确的说法是 每一个局部作用的可微的对称性, 都蕴含某种守恒流. 什么是守恒流 守恒流是满足: \[\require{physics}\partial_\mu j^\mu = 0\] 的一个场. 场在对称变换下的描述 而对称性的考量数学上就有两种看法 主动视角, 对应参照系不变, 物理点运动; 被动视角, 物理点不变, 参照系运动. 接下来我们会更加自然的考虑后者,因为后者更加容易给出明确的数学表示. 也就是时空点 \(P\) , 坐标 \(x^\mu\) , 场 \(f\left(x^\mu\right)\) , 变为坐标 \(x'^\mu\) , 场 \(f'\left(x'^\mu\right)\) , 考虑在一个无穷小变换 \(x' \to x + \deltax\) 下, 场的变换可以写作: \[\begin{aligned} \delta…

博客创建过程与总结

至此, 博客建站算是完成了, 整个过程历时三天,由于一些强迫症修各种细节花了我不少时间. 主题 本站使用的主题是 我改过的fluid , 改动可以看链接里面的 commits ,其中有些改动已经提了 Pull Request 并且已经被接受, 但是还有一些并非 bug修复或者是改进, 只是个人喜好, 于是就不 PR 了. 我的版本的 fluid 相对 原版 改动(没有合并进入 master 的)有以下 : 添加了 PWA 支持, 本站现在是 PWA 网站, 你甚至可以作为应用安装它; 尽可能使用 cdnjs 作为静态脚本来源, 这是为了即将到来的 HTTP/3 做准备,静态资源来自同一个源能借助 0-RTT加速访问; 换成了 jsdelivr, CDNjs太慢了, jsdelivr 在全球都有节点, 是好东西. 修复了统计相关的(可能影响加载速度的)一个轻微 bug,合并到了原项目的…

一些绝妙的 WSL 技巧

想起来了就更新一点: 统一 DBUS 会话 Linux 下有些程序会通过 dbus 来启动, 如果没有 dbus的话就会出错或者花很长时间开个新的 dbus. 使用: 1 2 daemonize -e /tmp/dbus- ${USER} . log -o /tmp/dbus- ${USER} . log -p /tmp/dbus- ${USER} .pid -l /tmp/dbus- ${USER} .pid -a /usr/bin/dbus-daemon --address= "unix:path=/tmp/dbus- ${USER} " --session --nofork >>/dev/null 2>&1 export DBUS_SESSION_BUS_ADDRESS= "unix:path=/tmp/dbus- ${USER} " 加到 ~/.bash_profile…

在 WSL 2 下运行 Anbox

介绍 这本来是我之前在 reddit 上面发的一个 帖子 .现在干脆把它重新写成中文, 姑且算是给自己引流. Anbox 实现了基于 lxc 的 Android onLinux 支持, 由于 WSL 2 就是完整的 Linux, 于是稍加折腾就能跑起来了. 安装 anbox 我在 copr 上有现成的 Anbox build, 直接安装即可. 我使用的 WSL 内发行版是 FedoraRemix . Ubuntu 上我也试过, 但是不能正常显示(窗口啥都没有) ,但是 Android 跑起来了 , 可能是 SDL 的锅. 跑 Arch 的 WSL 也能跑起来 步骤几乎相同 . 1 2 $ sudo dnf copr enable yanqiyu/anbox $ sudo dnf install anbox 从源代码编译 你需要 anbox-modules 和 kernel 的源代码.…

规划

因为万恶的知乎审查逐渐疯狂, 于是机智的我决定注销愚蠢的知乎,转向使用美妙的 Hexo . 之后准备闲下来的时候写点关于 Geant4 和 ROOT 的文章, 也算是给后来人开路吧...闲下来之后. 因为这里看起来支持 \(\LaTeX\) ,可能会有一些物理的东西? MathJax 实验: \(\begin{bmatrix}a & b \\c & d\end{bmatrix}\) , 不过评论区貌似有一些奇怪的 bug,这是因为 markdown 的转义行为, 发表 \(\LaTeX\) 可以先预览一下看看是否踩坑. Code Block 实验: 1 2 [ -1 ] [ 2 ]