给一台长期运行的小型 Ubuntu 服务器做更新,真正重要的不是输入 apt upgrade,而是确保更新前知道它正在提供什么服务,更新后也能迅速确认业务是否恢复。下面是我现在使用的一份简化清单。
更新前先记录现场
先确认磁盘、内存和失败的服务,避免把旧问题误判成升级故障:
df -hT
free -h
systemctl --failed
ss -lntup
journalctl -p warning -b --no-pager
如果机器承担数据库或文件共享任务,还应做一份应用级备份。虚拟机快照很方便,但它不能替代可独立恢复的数据备份。
分开执行下载和升级
apt update
apt list --upgradable
apt upgrade
先看待升级列表,尤其留意内核、数据库、SSH 和网络组件。生产环境中不建议顺手执行来源不明的一键脚本,也不要在没有控制台的情况下同时修改 SSH 和防火墙。
更新后的四项检查
- 关键 systemd 服务是否为 active;
- 监听端口是否符合预期;
- 从另一台机器进行一次真实连接;
- 检查本次启动和最近十分钟的错误日志。
systemctl --failed
journalctl --since "-10 min" -p warning
uname -r
需要重启时先确认是否存在内核更新,再安排窗口。回滚方案至少要包含配置备份、数据备份以及可用的控制台入口。清单不复杂,但每次都照着做,比依赖记忆可靠得多。