目录
Hshh's Cosmos
碰到 bhyve 的 efi boot var 坏了
bhyve 里的 arch linux 更新重启后, bhyve core dump, 启动不了了.
把 ini 的 lpc.bootvars 注释掉, 正常启动, 看来不知道什么原因把 efi 的 启动变量弄坏了.
重新把 /usr/local/share/edk2-bhyve/BHYVE_UEFI_VARS.fd 复制过来覆盖掉, 启动正常.
重新进到虚拟机后, 用 efibootmgr 添加启动项, 修改启动顺序. 再次重启, 没问题.
非常奇怪, 坏之前明明没有碰过 efi boot var 啊.
有点想把 locale 设为 C.UTF-8
一直以来都在用 en_US.UTF-8, 但是用 sort, comm 总是怪怪的.
Linux
用 en_US, 排序会忽略符号
$ printf "a.d\na_c\nab" | sort ab a_c a.d
用 C
$ printf "a.d\na_c\nab" | sort a.d a_c ab
用 awk 排序, 不依赖 locale
$ printf "a.d\na_c\nab" | awk '{if ($0!="") {a[$0]}} END {asorti(a); for (k in a) {print a[k]}}' a.d a_c ab
FreeBSD
用 en_US
$ printf "a.d\na_c\nab" | sort a_c a.d ab
用 C
$ printf "a.d\na_c\nab" | sort a.d a_c ab
用 gawk 排序和 Linux 一样 (FreeBSD 自身的 awk 不支持 asorti)
DNSSEC & EDNS
查 DNS 总是 DNSSEC 失败, 查了几天, 终于想起来, DNSSEC 需要用 EDNS, 而我对某些 IP 段关闭了 EDNS. 原来傻逼是自己.
用 gost 替换 3proxy
自从 FreeBSD 14.1 开始, 3proxy 的 tcppm (TCP端口映射), 如果配置不指定 log 是不会继承主配置, 启动会报错. 虽然可以在参数指定 log, 但是还是觉得不爽. 看了半天源代码, 没找出问题.
我需要用到通过 socks5 做 TCP 端口映射. 可选的方案不多, gost 可以, 反正 go 的程序部署简单.
不过, gost 的 cpu/ram 占用还是要比 3proxy 高.
FreeBSD 14.1
FreeBSD hshh.org 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-10e31f094 hshh amd64