Ubuntu用do-release-upgrade升级系统

Ubuntu用do-release-upgrade升级系统

hash070 1,064 2022-12-31

简介

在Ubuntu系统中,do-release-upgrade命令可以实现升级系统版本的功能,(这个命令我每次ssh登录到服务器时都会看到。。。

Welcome to Ubuntu 20.04.5 LTS (GNU/Linux 5.4.0-28-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage
New release '22.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

本来我是不大喜欢Ubuntu 22.04的,因为我几乎每次我用apt安装依赖时都会问我要重启哪些服务,光这点就让我掉不少好感。这次升级是因为我不小心执行autoremove命令把给系统整炸了(我怎么也想不到这玩意破坏力居然这么大),因此想着也许可以用升级系统的方法补救一下。

更新系统

本次我演示的是从Ubuntu 20.04更新到Ubuntu 22.04

准备工作

数据备份

数据无价,执行这种操作前一定要备份一下数据,(虽然我觉得既然官方给的这种升级方式应该是不会轻易翻车的。

我的家里云里的数据虽然都有经常备份,但要是升级把服务器升炸了的话手动恢复起来还是比较麻烦的,而快照还原起来就方便多了。

image-20221231155242308

更新软件包

我觉得更新系统前应该让系统上的软件包是最新的(直觉

apt update&&apt upgrade -y

更新系统

执行这个命令

do-release-upgrade

当我忐忑地在控制台敲下这个命令并按下回车后,直接给我返回了个这个:

root@ubuntu:~# do-release-upgrade
-bash: do-release-upgrade: command not found

我。。。

解决找不到do-release-upgrade命令的问题

解决方法:

sudo apt update
sudo apt install update-manager-core

相关问题链接:https://askubuntu.com/questions/1318223/do-release-upgrade-command-failing


继续更新

再次在命令行中敲下这个命令,终于开始正常工作了:

在开始升级之前,系统会告诉你当前正在通过SSH操作,并表示不推荐这样做,因为当系统升级失败后会难以恢复,最后问是否继续。

image-20221231160240868

我当然是yes了,反正有快照,有VNC,啥都不怕。

下一个提示:第三方源将会被禁用,你可以在升级后再次启用

image-20221231160611858

最后一次升级前的确认:

image-20221231160701832

然后就会开始下载一堆东西。

在安装和配置新系统时,会时不时像下面这样问你关于新配置文件覆盖的问题,如果你不确定该怎么做,我认为你应该选择默认的N,即保留原先配置,除非你确定覆盖某软件包的原配置文件没什么问题。

image-20221231161641063

在所有软件包升级完成后会告诉你有90个软件包将被移除,我肯定是无脑YES了。(逃

image-20221231162025110

最后系统升级完成,需要重启

image-20221231162058773

重启后再次登录,好像没什么问题,升级很顺利。

image-20221231162221806

进入系统执行一下apt更新命令,会告诉你这些Python包已经不需要了,可以用xxx命令移除

image-20221231162453957

这时你可不要听了它的鬼话!千万不要手贱在命令行执行apt autoremove命令,特别是当它跟你提到和Python有关的东西时,不要问我是怎么知道的,这玩意可能会把你系统里几乎所有的软件包都给扬了