如何将Debian 9 Stretch升级到Debian 10 Buster
经过两年多的开发,新的Debian稳定版Debian 10(代号Buster)于2019年7月6日发布,并将获得5年的支持
经过两年多的开发,新的Debian稳定版Debian 10(代号Buster)于2019年7月6日发布,并将获得5年的支持。
此版本附带许多新软件包和主要软件升级。Debian 10 buste使用Linux 4.19 LTS内核,nftables框架作为默认iptables后端,支持UEFI安全启动,并默认启用了AppArmor。
在本教程中,我们将向您展示如何将Debian 9 Stretch系统升级到Debian 10 Buster。包括使用apt-mark showhold命令检查已锁定的软件版本,执行sudo apt upgrade进行软件包的升级,使用sudo apt full-upgrade进行发行版的升级,验证升级后发行版名称。
先决条件
升级操作必须以超级用户运行。您需要以root用户或具有sudo权限的用户登录。
备份资料
首先备份你的数据,然后再开始进行操作系统的升级。如果您在虚拟机上运行Debian,则最好执行一次系统快照,以便您可以轻松还原计算机,以防更新失败。
更新已安装的软件包
在开始为发行版升级之前,建议将所有已安装的软件包更新为最新版本。标记为保留的软件包无法自动安装,升级或删除。这可能会在升级过程中引发不必要的问题。要检查系统上是否有保留的软件包,请运行:
sudo apt-mark showhold
如果有on hold
软件包,则使用sudo apt-mark unhold package_name
命令释放软件包,确保软件包不会干扰升级过程。接下来,刷新软件包索引并升级所有已安装的软件包:
sudo apt update
sudo apt upgrade
运行apt full-upgrade
命令将对安装的软件包进行主要版本升级,并删除一些不必要的软件包:
sudo apt full-upgrade
使用以下命令自动删除软件包不再需要的依赖:
sudo apt autoremove
将Debian 9 Stretch升级到Debian 10 Buster
第一步是重新配置APT的源列表文件。您可以使用以下sed
命令,这些命令将在所有源列表文件中将stretch
替换为buster
:
sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list
sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/*.list
完成后,更新软件包索引:
sudo apt update
如果存在与第三方存储库任何错误或警告消息,请尝试解决问题或禁用存储库。通过升级已安装的软件包来开始系统升级。
sudo apt upgrade
系统将询问您是否要在升级过程中自动重新启动。
Restart services during package upgrades without asking?
在升级过程中,可能还会询问您其他各种问题,例如您是要保留现有的配置文件还是要安装软件包维护者的版本。如果您未对文件进行任何自定义更改,则可以键入Y
,否则输入N
。
升级可能需要一些时间,具体取决于您的Internet速度。接下来,执行apt full-upgrade
将执行系统的完整升级,安装软件包的最新版本。
sudo apt full-upgrade
上面的命令可能会安装一些新软件包,并删除有冲突和过时的软件包。完成后,请使用以下命令清理不必要的软件包:
sudo apt autoremove
最后,通过键入以下内容来重新启动计算机,以便激活新内核:
sudo systemctl reboot
验证升级
等待片刻,直到系统启动并登录。登录后,您会收到以下消息:
Linux stretch 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19) x86_64
...
您也可以使用以下命令检查Debian版本:
lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
至此,您现在已更新到Debian 10 Buster。
结论
在大多数情况下,从Debian 9 Stretch升级到Debian 10 Buster相对容易且轻松。如果遇到任何错误,请访问从Debian 9升级页面,该页面介绍了在升级到Debian 10 Buster期间可能发生的已知问题。