是否需要备份
建议在进行任何系统更新前先备份,尤其是执行**版本升级(如从 20.04 LTS 升到 22.04 LTS)**或系统存在大量自定义配置时。更新过程可能因断电、磁盘空间不足、依赖冲突、第三方源异常等导致失败,备份能显著降低数据与服务中断的风险。日常的小版本安全更新通常较为稳妥,但风险并非为零,备份依然是最佳实践。
备份什么与如何快速备份
- 个人数据与关键配置:如 /home、/etc、/var/www、数据库数据目录、SSH 密钥等。
- 系统级快照与回滚点:使用 Timeshift(Btrfs/ZFS 快照或 rsync),便于在升级失败时快速还原系统分区。
- 快速命令行全量备份示例(谨慎使用,确保磁盘空间充足):
sudo tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system /
- 虚拟机场景:直接做整机快照,回滚最省时。
- 验证备份可用性:备份完成后,做一次恢复演练或至少检查归档文件大小与关键文件列表。
不备份时的风险控制清单
- 预留空间:确保根分区有至少2–3 GB可用空间,避免更新中途因空间不足失败。
- 稳定网络:升级前测试网络连通性,避免大版本升级被中断。
- 第三方源:升级前先禁用 PPA 等非官方源,升级完成后再逐一恢复并验证。
- 小版本更新:执行 sudo apt update && sudo apt upgrade -y,随后 sudo apt autoclean 清理无用包缓存。
- 版本升级:使用 sudo do-release-upgrade;生产环境避免使用 -d 参数(开发版)。
升级失败后的应急与修复
- 无法进入桌面或卡在登录界面:切换到 tty(Ctrl+Alt+F2/3),清理锁文件并修复 dpkg:
sudo rm /var/lib/apt/lists/lock
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -a
sudo apt-get -f install
sudo apt update && sudo apt upgrade
sudo reboot
- 使用 LiveCD/救援模式:从 U 盘启动进入 Live 环境,先挂载原系统分区并备份重要数据,再尝试修复或回滚。
- 常见更新错误速解:
- “合并列表/Hash Sum mismatch”:sudo rm -r /var/lib/apt/lists/* && sudo apt-get clean && sudo apt-get update
- “无法获取锁”:关闭占用 APT 的进程,必要时删除锁文件后再 update
- “部分更新错误”:sudo apt-get install -f
以上步骤可修复多数因列表损坏、锁冲突、依赖异常导致的更新失败。