Debian、Deepin 系统升级小结

本人使用 Linux 10+ 年,各种发行版都尝试过,但主要是使用 Debian,从 Debian 5 一直到 Debian 10。还有 Ubuntu。近期开始使用国产发行版 Deepin。 这篇日记小结了一下我在使用 Debian 和 Deepin Linux 时进行系统版本升级的一些经验,与朋友们交流一下。主要包括:升级前的准备,正式升级,故障处理,升级后的收尾。针对的主要是个人用途的非生产环境。另外,使用纯命令行的升级方式。

一、升级前的准备

系统升级前需要准备的事情根据系统的用途和复杂程度而定。比如,不能中断服务的服务器升级和个人尝鲜的升级肯定是差别巨大的。但是,数据备份是任何升级前都应该做的。

数据备份有完整备份和部分备份。

完整备份我主要使用 2 种方法,一种是在 Live USB 启动系统后,直接在 root 账号下用 tar 命令把整个系统打包压缩;另一种是在我使用 LVM 结构时,直接创建系统的 LV 快照。

部分备份主要是备份 /etc ,/boot 下面的系统配置文件,还有如果运行了一些服务,如 http、mysql 服务,也许还要备份 /var 下面的一些数据。这种备份主要是用 tar 打包压缩,数据库之类里面的数据还需要用工具导出来备份。另外,据说升级可能破坏个人配置,所以,也应该备份 /home/用户名 下面隐藏的个人配置文件或文件夹。

另外,也有朋友推荐使用 timeshift 进行系统备份。如果是全盘安装 Deepin 的话,它自带备份与恢复功能。

上面这些备份方法都有对应的恢复方法,这里就不详述了。

二、正式升级

1、卸载一些不用的软件
软件越多,系统升级出现问题的可能性越大,花的时间也越长,如果因为尝鲜、测试安装了大量不需要的软件,可以先把它们卸载掉。

2、把正在使用的系统版本的全部软件更新到最新且移除不再使用的依赖包

 sudo apt update
 sudo apt upgrade
 sudo apt full-upgrade(也可以用 sudo apt dist-upgrade ,据我所知,它们效果是一样的)
 sudo apt --purge autoremove(移除不再需要的依赖包)

3、大版本升级前修改软件仓库源为新版本仓库源
如 Debian 9 升级到 Debian 10,需要把 /etc/apt/sources.list 的内容更新为 Debian 10 的。

4、同样分两步更新新版本的系统和软件(仅改变了软件源内容的大版本升级需要)

sudo apt update
sudo apt upgrade
sudo apt full-upgrade

重启系统

sudo reboot
sudo apt --purge autoremove

三、故障处理
如果一切顺利的话,升级就基本完成了。但是,不少时候我们在升级过程中会碰到一些麻烦。这时,关键是要认真阅读系统给出的提示,并按照提示操作。

如果还不解决问题,我有一些经验可供参考。

1、如果一个非核心的普通软件或内核模块引起了升级障碍,那么就先卸载它。完成升级后再安装上。如最近这次由 Deepin 20.1 升级到 20.2 时,部分用户会因 vfs_monitor.ko 模块不能升级成功,官方给出的临时解决方案就有这一步骤“sudo rmmod vfs_monitor”。

2、如果是核心组件导致的升级障碍,可以使用 “apt-mark hold 包名” 冻结某一个组件的升级,先升级可以升级的部分,最后再解除冻结,对这个组件进行升级。这个方法我没使用过,我在 Deepin 论坛上曾看到有人由于 systemd 组件导致不能升级使用过这个方法。
所谓的核心组件,大致就是那些一卸载基本就会连带卸载几十上百个软件包的那种组件。当时,如果你乐于折腾,又作了充分的准备,你也可以卸载掉这些软件包,升级成功后再装上。

3、不能升级所有组件或软件包到最新版本
有时,就算是反复执行了 “sudo apt full-upgrade”,仍然有一些组件或包不能升级到最新版本。这时,你需要查看一下是否有些包被禁止升级了,可以通过 “sudo apt-mark showhold” 查看。如果这种禁止不再需要,通过 “sudo apt-mark unhold 包名”取消禁止再尝试升级。

4、升级中途或完成后不能登录图形界面
如果是升级中途,按 CTRL+ALT+(F2~F6中一个)进入控制台登录继续升级。
如果是升级完成后不能登录图形界面,那么进入控制台登录,然后备份 /home/用户名 下面前面是点的隐藏文件和文件夹,它们包含了程序的个人配置或重要数据(如浏览器收藏夹)。然后,删除这些隐藏文件和文件夹。重启系统,因为这时系统会使用默认的个人配置,能解决一些图形界面升级配置冲突的问题,这样,有可能就能登录图形界面了。登录成功后,可以逐个恢复那些备份的配置文件,看是哪个配置引起了问题以便修复。

5、怎么都无法升级成功
再次检查一下还需要备份的数据并作备份,然后清除旧版本系统,全新安装新系统。

四、升级成功后的收尾
如果你在升级的过程中卸载了一些需要的软件,现在可以重新安装上它了。
如果升级时破坏了一些配置,你可以恢复原来备份的配置。包括 /etc 下面的系统配置和 /home/用户名 下面的个人隐藏配置文件或文件夹。
然后,经过一段时间的使用,证明升级后的系统完全符合你的要求。如果你的磁盘空间紧张的时候,你也可以删除原来的备份文件或系统快照。

最后,强调一句,个人经验,仅供参考,欢迎批评指正。祝各位朋友在每一次的系统升级中都有愉快的体验。

参考链接:
How to upgrade Debian 9 to Debian 10 Buster using the CLI: https://www.cyberciti.biz/faq/update-upgrade-debian-9-to-debian-10-buster/
Upgrades from Debian 9 (stretch): https://www.debian.org/releases/stable/amd64/release-notes/ch-upgrading.en.html
从 Debian 9(stretch)升级: https://www.debian.org/releases/stable/amd64/release-notes/ch-upgrading (上面链接的中文版)
[社区公告] 关于部分用户反馈升级20.2失败的临时解决办法: https://bbs.deepin.org/zh/post/217934

发表评论

电子邮件地址不会被公开。 必填项已用*标注