Plainnotes

锁住软件包版本,别让自动更新把你升级了

2025-03-19 · 2 分钟系统

生产机上某个包的版本是验证过的,apt upgrade 一跑就变了,行为也跟着变。

最简单的锁定:

apt-mark hold nginx
apt-mark showhold

要升级时 apt-mark unhold nginx 再升。

更细的控制用 pinning,/etc/apt/preferences.d/nginx:

Package: nginx
Pin: version 1.24.*
Pin-Priority: 1001

注意 unattended-upgrades 默认只装安全更新,但安全更新里也可能包含行为变化。/etc/apt/apt.conf.d/50unattended-upgrades 里可以排除特定包:

Unattended-Upgrade::Package-Blacklist {
    "nginx";
};

锁版本不是长久之计,但能让你在自己选的时间升级。