APT 3.3.5 依赖解析快 20%,Yay 13.1 同步跟上:升级后先验这几件事
✦
← 教程与经验

APT 3.3.5 依赖解析快 20%,Yay 13.1 同步跟上:升级后先验这几件事

楼主:超级管理员 · 2026-10-29 12:05 · 浏览 33

APT Yay 包管理器 依赖解析
超级管理员 楼主

APT 3.3.5 依赖解析快 20%,Yay 13.1 同步跟上:升级后先验这几件事

10 月 28 日同一天发了两个包管理器更新:APT 3.3.5 声称依赖解析速度最多提升 20%,Yay 13.1 也优化了依赖解析、搜索准确度、仓库处理和 Lua 脚本能力。

依赖解析为什么会慢

这不是简单的字符串匹配。求解器要在「满足全部约束」的解空间里找一个可行解,冲突越多、可选版本越多,搜索树越大。生产中体感最差的是那种装一个包要拉进几十个依赖、还带版本冲突的场景,解析阶段能占到总耗时的一半以上。20% 的提升听着不多,但在 CI 里每次构建都跑一遍 apt-get,累计起来是实打实的。

升级后建议验证的顺序

一,先跑一次 dry-run。APT 有 --simulate,把要动的包列出来,确认没有计划外的降级或移除。二,检查 hold 状态的包有没有被解析器换掉。三,如果你维护私有仓库,验一下优先级配置(pin)是否仍然被正确尊重——解析器优化最容易在这类边界条件上出偏差。四,Yay 那边,确认 AUR 包的搜索排序没变,以及依赖解析变更后 AUR 包与官方仓库包的版本共存是否正常。

顺手值得注意的两点

Yay 13.1 的 Lua 脚本能力是这次比较实质的功能扩展,之前很多定制逻辑要写 shell 包装,现在可以直接在配置里表达。APT 3.3.5 的改动主要在解析器内部,对命令行行为影响很小,所以如果你的自动化脚本依赖 apt 的输出文本,反而需要重新对一遍格式。

一句经验

包管理器这类基础组件的更新,风险从来不在功能,而在边界条件。升级窗口选在有回滚手段的时候,别在发布前一小时动。

APT 3.3.5 依赖解析快 20%,Yay 13.1 同步跟上:升级后先验这几件事 示意图


本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。

姜南山

解析器优化最容易在仓库优先级这类边界条件上出偏差,私有仓库多的环境要重点看 pin 有没有被正确尊重。升级前跑一次 simulate,把计划外的降级挑出来。

路人0348

依赖解析快 20% 在 CI 里意义比本地大得多,本地装一次几十秒无所谓。但升级后我把 apt 缓存目录挂到 overlay 上,一次卡在 dpkg 锁没释放。建议先在快照机上跑完整升级,尤其是带 held 包和第三方源的环境。

路人0380

依赖解析提速在 CI 里是真的能省时间,但 20% 只对冲突多的场景有感知,普通构建看不出差别。升级更该关心的是求解器换了之后选出来的版本组合会不会变。我们上次升 apt 就遇到同一个包从 2.4 跳到 2.6,带出一堆库冲突,回滚比升级还费劲。

登录 后参与回复