From 311a89c0e6b683c1b34a9d544c6bcc037abc3e84 Mon Sep 17 00:00:00 2001 From: Uyanide Date: Tue, 5 May 2026 09:22:05 +0200 Subject: [PATCH] update --- memo/alarm-qemu.md | 43 +++++++++++++++++++++ memo/av1an.md | 24 ++++++++++-- memo/packages.md | 96 +++++++++++++++++++++++++--------------------- 3 files changed, 117 insertions(+), 46 deletions(-) create mode 100644 memo/alarm-qemu.md diff --git a/memo/alarm-qemu.md b/memo/alarm-qemu.md new file mode 100644 index 0000000..81a407e --- /dev/null +++ b/memo/alarm-qemu.md @@ -0,0 +1,43 @@ +> 嗯, 用户想问的似乎是如何使用 +> +> - `qemu-user-static` +> - `qemu-user-static-binfmt` +> +> 通过 +> +> ```bash +> sudo systemd-nspawn -M {{ rootfs-name }} +> ``` +> +> 运行从 +> +> ```bash +> wget https://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz +> ``` +> +> 下载且通过 +> +> ```bash +> sudo mkdir -p /var/lib/machines/{{ rootfs-name }} && \ +> sudo bsdtar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C /var/lib/machines/{{ rootfs-name }} +> ``` +> +> 解压的 aarch64 架构的 archlinux rootfs. 但要不要提醒用户应该取消注释 `cat /etc/pacman.conf` 中的 +> +> ```conf +> [options] +> #DisableSandboxFilesystem +> #DisableSandboxSyscalls +> ``` +> +> 以禁用在 systemd-nspawn 中默认不可用的下载沙盒, 并且应该避免运行需要 setuid 的程序 (如 sudo), 因为 `/proc/sys/fs/binfmt_misc/qemu-aarch64` 中的 `flags` 缺失 `C` (Credentials) 标志, 导致可执行文件的 `s` 权限位被忽视? 不过如果真的需要 setuid 的话, 也可以通过 +> +> ```bash +> sudo cp /usr/lib/binfmt.d/qemu-aarch64-static.conf /etc/binfmt.d/ +> ``` +> +> 复制一份并在末尾加上 C, 要不要一并告诉用户? +> +> 算了, 反正用户什么也不懂, 即使问题解决也只会原地消失, 一句感谢也不说. + +_Baked for 27s._ diff --git a/memo/av1an.md b/memo/av1an.md index 5558cb3..c17f866 100644 --- a/memo/av1an.md +++ b/memo/av1an.md @@ -2,16 +2,26 @@ ### VapourSynth 破坏性更新 -> Mon May 4 19:25:48 CEST 2026 +> Tue May 5 09:08:30 CEST 2026 -- `vapoursynth` 包更新至 75 版本后 (此问题其实是 R74 引入的, 但他们似乎跳过了 R74 直接在今天更新至 R75), vsscript 库文件符号链接关系如下: +- `extra/vapoursynth` 包更新至 75 版本后 (此问题其实是 R74 引入的, 但他们似乎跳过了 R74 直接在近几天更新至 R75), vsscript 库文件符号链接关系如下: - `/usr/lib/libvapoursynth-script.so` -> `python3.14/site-packages/vapoursynth/libvsscript.so` - `/usr/lib/libvapoursynth-script.so.0` -> `python3.14/site-packages/vapoursynth/libvsscript.so` - 这导致 ldconfig 根据 SONAME 字段建立的缓存条目变化, 例如从 `libvapoursynth-script.so.0 (libc,x86-64) => /usr/lib/libvapoursynth-script.so.0` 变为 `libvsscript.so (libc6,x86-64) => /usr/lib/libvsscript.so`, 从而使其他未能重新链接的程序找不到对应库. + 这导致 ldconfig 根据 SONAME 字段建立的缓存条目变化, 例如从 `libvapoursynth-script.so.0 (libc,x86-64) => /usr/lib/libvapoursynth-script.so.0` 变为 `libvsscript.so (libc6,x86-64) => /usr/lib/libvsscript.so`, 可能会使其他未能重新链接的程序找不到对应库. + + 但该问题影响范围比较有限, 因为动态库并不完全根据 ldconfig 缓存条目加载 —— 如果文件名完全匹配也能正确加载, 毕竟 `/usr/lib/libvapoursynth-script.so.0` 仍然存在. - 同时, 插件目录也从 `/usr/lib/vapoursynth/` 改为 `/usr/lib/python3.14/site-packages/vapoursynth/plugins/`, 很多包未能及时更新插件安装路径, 导致 vapoursynth 插件丢失. + extra 仓库中的 vapoursynth-plugin-\* 包均已改为类似如下动态查找插件安装路径的方式: + + ```bash + install -Dm 755 libxxx.so -t "${pkgdir}"/$(python -c 'import vapoursynth;print(vapoursynth.get_plugin_dir())')/ + ``` + + 所以不会出问题. 主要影响范围是打包者或上游硬编码插件安装路径为 `/usr/lib/vapoursynth` 的包, 其中包括少数 extra 仓库的包如 `extra/ffms2` 和众多 AUR 包. + - vapoursynth 不再在编译器 link libpython, 而必须在加载 libvsscript.so 时选择 python. 选哪个 python 由 `$HOME/.config/vapoursynth/vapoursynth.toml` 维护的映射关系决定, 格式类似: ```toml @@ -32,6 +42,14 @@ "/usr/lib/libvsscript.so" = ["/usr/bin/python","/usr/lib/libpython3.14.so.1.0"] ``` + 如果运行 vapoursynth 此次更新前构建并链接的程序, 可能同样需要为 `/usr/lib/libvapoursynth-script.so.0` 准备对应条目: + + ```toml + "/usr/lib/libvapoursynth-script.so.0" = ["/usr/bin/python","/usr/lib/libpython3.14.so.1.0"] + ``` + + 影响范围为所有动态链接 vapoursynth 的二进制文件. + ### CUDA 13.2 不兼容 GCC 16.1 > Mon May 4 15:39:17 CEST 2026 diff --git a/memo/packages.md b/memo/packages.md index 36e381b..0b27fbe 100644 --- a/memo/packages.md +++ b/memo/packages.md @@ -7,49 +7,6 @@ grab | bash -s -- "$0" exit $? -> [!NOTE] -> The gibberish above is **NOT** meant to be copy-pasted into the terminal. It is a script that updates the [Full list](#full-list) section below, and should be run as: -> -> ```bash -> bash /path/to/dotfiles/memo/packages.md -> ``` - -## Notes - -| | | -| --------- | ---------------------------- | -| alass | Subtitle sync; used in mpv | -| axel | CLI download accelerator | -| figlet | Draw large letters | -| foliate | GTK eBook reader | -| gearlever | AppImage manager | -| gping | Ping with better looking TUI | -| jp2a | JPEG to ASCII | -| nethogs | Network top | -| picard | Music tagger (MusicBrainz) | -| toilet | Better FIGlet | -| wev | Debug wayland events | -| yad | Fork of zenity | -| zenity | Display dialog boxes via cli | - -## Some useful commands - -Show packages sorted by size, with a preview of their info: - -```bash -expac -H M '%m\t%n' \ -| sort -hr \ -| fzf --delimiter='\t' --with-nth=1,2 --multi \ - --preview 'yay -Qi {2}' \ - --preview-window='right,70%,wrap' -``` - -Update the list below: - -```bash -bash /path/to/dotfiles/memo/packages.md -``` - +> [!NOTE] +> The gibberish above is **NOT** meant to be copy-pasted into the terminal. It is a script that updates the [Full list](#full-list) section below, and should be run as: +> +> ```bash +> bash /path/to/dotfiles/memo/packages.md +> ``` + +## Notes + +| | | +| --------- | ---------------------------- | +| alass | Subtitle sync; used in mpv | +| axel | CLI download accelerator | +| figlet | Draw large letters | +| foliate | GTK eBook reader | +| gearlever | AppImage manager | +| gping | Ping with better looking TUI | +| jp2a | JPEG to ASCII | +| nethogs | Network top | +| picard | Music tagger (MusicBrainz) | +| toilet | Better FIGlet | +| wev | Debug wayland events | +| yad | Fork of zenity | +| zenity | Display dialog boxes via cli | + +## Some useful commands + +Show packages sorted by size, with a preview of their info: + +```bash +expac -H M '%m\t%n' \ +| sort -hr \ +| fzf --delimiter='\t' --with-nth=1,2 --multi \ + --preview 'yay -Qi {2}' \ + --preview-window='right,70%,wrap' +``` + +Update the list below: + +```bash +bash /path/to/dotfiles/memo/packages.md +``` + ## Full list ``` @@ -106,6 +106,7 @@ archiso archlinux-contrib archlinuxcn-keyring ark +av1an awww axel azure-cli @@ -184,7 +185,9 @@ fcitx5-qt fd fdkaac ffmpeg-full +ffms2 ffnvcodec-headers +ffvship figlet filelight fish @@ -282,6 +285,7 @@ libc++ libdbusmenu-lxqt libguestfs libreoffice-still-zh-cn +libspng libva-intel-driver libva-nvidia-driver libva-utils @@ -317,6 +321,7 @@ mpd-mpris mpv-full mpv-mpris msedit +namcap nasm nautilus nautilus-share @@ -337,6 +342,7 @@ nvidia-utils nvme-cli nvtop nwg-look +oavif obs-studio obsidian okular @@ -385,6 +391,8 @@ python-yaml qbittorrent-enhanced qdiskinfo qemu-full +qemu-user-static +qemu-user-static-binfmt qt5-graphicaleffects qt5-quickcontrols qt5-quickcontrols2 @@ -491,6 +499,7 @@ unrar usbip uv valgrind +vapoursynth-plugin-vship-cuda-git ventoy-bin vesktop-bin vicinae @@ -573,6 +582,7 @@ yt-dlp zellij zen-browser-bin zenity +zig zoxide zram-generator zsh