如何安全的从ubuntu16.04升级到18.04?

按照ubuntu官方发布计划,ubuntu16.04将在2021年4月停止工作,加上新出的一些硬件和算法都是考虑了到18.04的兼容,因此,最近开始考虑升级系统的事情。

0.备份

无论对系统做什么操作,都应当注意备份。我主要进行了数据的备份,至于系统的备份,可以百度下ubuntu的备份方法。

1.升级16.04上所有的软件并移除无用软件

sudo apt-get update
sudo apt-get upgrade
sudo apt-get autoremove
sudo apt dist-upgrade

按顺序执行上述命令即可。全部执行完,重启下系统。其他教程并没有这一步,不过我运行下一步的命令时,系统提示我必须reboot,只好照做。

reboot

2. 安装update-manager-core

sudo apt-get install update-manager-upgrade

3. 执行系统升级

sudo do-release-upgrade

如果运气好,一切正常,一路按y和enter即可。但是一般都会被各种问题卡住,下面介绍典型的错误及解决措施。

3.1 python symlink问题

该问题的报错为:

Your python install is corrupted. Please fix the ‘/usr/bin/python’ symlink.

Your python3 install is corrupted. Please fix the ‘/usr/bin/python3’ symlink.

这个问题其实是由于设置了update-alternative导致的,也就是之前为了方便切换不同版本的python做的设置。在升级时,要求python版本必须严格符合原来的链接,因此需要做如下操作。值得注意的是无论报错的是哪个版本,最好把python和python3的操作都执行一遍。

sudo update-alternatives --remove-all python3
sudo ln -sf /usr/bin/python3.5 /usr/bin/python3
sudo update-alternatives --remove-all python
sudo ln -sf /usr/bin/python2.7 /usr/bin/python

即强制的删除update-alternatives的python选项,并将链接恢复到开始的样子。如果该操作执行后,依然无法do-release-upgrade,此时考虑重新安装python:

sudo apt-get install --reinstall python
sudo apt-get install --reinstall python3

3.2 Calculating the changes

详细报错如下:

Could not calculate the upgrade
An unresolvable problem occurred while calculating the upgrade.
This can be caused by:

  • Upgrading to a pre-release version of Ubuntu
  • Running the current pre-release version of Ubuntu
  • Unofficial software packages not provided by Ubuntu

在我的电脑上是由于ros-kinetic的相关软件导致的,因此只能全部删除了,即属于第三个理由–非官方的软件包。

sudo apt-get autoremove ros-kinetic-*

具体什么软件干扰了升级,可以查看/var/log/dist-upgrade/apt.log,但阅读方式我不知道,因为是直接按照别人的博客删除了ros的。

你可能感兴趣的:(Linux,linux)