Skip to content
VDS · 操作系统

更新系统与软件包

如何安全地更新 Debian、Ubuntu 和 AlmaLinux:upgrade 与 full-upgrade 有何不同、什么时候需要重启,以及更新破坏了服务该怎么办。

更新于 2026年8月23日

全新的系统会修复漏洞和错误,但更新本身也是一种变更,而变更往往会破坏原本正常工作的东西。合理的做法是:定期更新,小步推进,而不是一年一次性地全部更新。

Debian 和 Ubuntu

apt update
apt list --upgradable
apt upgrade

apt upgrade 会安装新版本,但不会移除任何东西。如果输出中显示“deferred updates”,您需要使用 apt full-upgrade——它允许移除软件包以满足依赖关系。确认之前请先阅读将被移除的软件包列表。

更新后的清理:

apt autoremove --purge
apt clean

如果某个软件包的配置发生了变化,apt 会询问保留哪个版本。安全的答案是保留您的版本(N),然后将其与 .dpkg-dist 文件中的新版本进行比较。

AlmaLinux 和 CentOS Stream

dnf check-update
dnf upgrade
dnf autoremove

dnf 会将新配置以 .rpmnew 的形式放在旁边,并将旧配置保存为 .rpmsave。要找到它们:

find /etc -name "*.rpmnew" -o -name "*.rpmsave"

重启与服务

对内核、glibc、systemd 或 openssl 的更新,在进程重启之前不会生效。

test -f /var/run/reboot-required && echo "reboot required"
needs-restarting -r
systemctl list-units --state=failed

当您能在控制面板中打开控制台时再重启:如果系统在新内核下无法启动,您可以通过救援磁盘来修复。

更换发行版

从 Debian 12 升级到 13,或从 Ubuntu 24.04 升级到 26.04,并不是一次常规更新,而是数小时的工作和实实在在的风险。如果机器上没有难以迁移的数据,更干净的做法是在面板 /hosting/vds/m/<id> 的“访问”选项卡中选择重装为所需的系统:配置过程大约需要一分钟。

在更换发行版之前,请先将数据从机器上复制出来。我们没有机器的自动备份,因此将无处可以回滚。

常见错误

错误会发生什么解决方法
Could not get lock /var/lib/dpkg/lockapt 或自动更新正在并行运行等待,然后执行 systemctl status unattended-upgrades
更新随 SSH 一起中断软件包处于半安装状态dpkg --configure -a,并且今后在 tmux 中运行
磁盘空间不足/boot 中塞满了旧内核apt autoremove --purge,移除多余的内核
服务未启动配置格式发生了变化journalctl -u <service> -n 50 并进行修复

请在 tmux 或 screen 中运行耗时较长的更新。在 apt full-upgrade 过程中 SSH 断开连接会使系统处于半完成状态,而这已经是修复,而不是更新了。

您可以把例行部分交给我们——请参阅自动安全更新。