内容简介:关于升级Debian的主版本,官方有非常详细的文档:其中关键操作为升级当前系统中的包至最新版,然后修改当然还有其他一些事情,每次都看很麻烦,而且并不是文档中的每一步都必须,我总结其中核心思路如下。
文章目录
- 升级Debian操作过程的总结
升级Debian操作过程的总结
关于升级Debian的主版本,官方有非常详细的文档: https://www.debian.org/releases/stable/amd64/release-notes/ch-upgrading.html
其中关键操作为升级当前系统中的包至最新版,然后修改 /etc/apt/sources.list
为新版本的内容,并执行:
apt update apt upgrade apt dist-upgrade
当然还有其他一些事情,每次都看很麻烦,而且并不是文档中的每一步都必须,我总结其中核心思路如下。
-
清理不必要的软件包。
目的:减少需要下载的内容从而缩短升级时间,降低出现依赖问题的可能性。
方法:先手动清除不必要的软件,然后参考我之前关于清理Debian/Ubuntu系统上冗余包的文章,删除掉冗余包、废弃包。简单来说就是执行下面两个命令,如果情况比较复杂(aptitude认为依赖关系复杂,无法稳妥地完全自行完成,提示用户是否要接受它计算出的一个解决方案),可以接受建议方案并再次执行直到没有包能被删除。
sudo aptitude purge "~o" # dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge sudo aptitude purge "~c"
- 升级当前系统中的软件包。
sudo apt update sudo apt upgrade
-
检查。
强烈建议在升级对已经安装的包进行检查,并解决所有hold的包(卸载或上网查询具体方案)。
# 检查安装的包的一致性(正常情况下无输出) dpkg -C # 查看无法升级(on hold)的包(正常情况下无输出) apt-mark showhold
参考: https://linuxconfig.org/how-to-upgrade-debian-8-jessie-to-debian-9-stretch
-
更新sources.list。
修改/etc/apt/sources.list文件(建议提前备份)之中关于当前版本的部分为新版本的部分。通常只需修改版本名称为新的,例如升级Debian 8到Debian 9需要将jessie改为stretch。
也可以直接使用官网提供的版本进行覆盖: https://wiki.debian.org/SourcesList。
# 修改sources.list sudo sed -i 's/jessie/stretch/g' /etc/apt/sources.list
-
升级。
先更新包数据库,然后更新外围软件包,最后更新关键包。
需要有人值守:因为部分软件的配置文件会出现变化,需要手动确认使用哪个版本。
切记:这个过程中不要中断,否则可能导致包关系异常或包管理系统损坏。
sudo apt update sudo apt upgrade sudo apt dist-upgrade
-
重启。
通常新版本会更使用新的内核,重启是为了使用新的内核image,同时方便删除就的版本。
-
清理作废的包。
升级后,很多旧版本的包将不再需要。除了
apt-get autoremove
可以删除的,还有一些需要使用更底层的dpkg工具进行删除。
sudo apt-get autoremove sudo aptitude purge "~o" # dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge sudo aptitude purge "~c"
- 清理下载缓存。
sudo apt-get clean
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 手动升级Coreos版本
- npm 升级版本号技巧
- 悟空 CRM 11.0 版本-20210502 升级内容【JAVA 版本】
- 升级Tensorflow到1.2版本
- GCC升级至高版本
- 升级python版本和搭建环境
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。