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

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

提醒
最终,我按照下面方法升的两台电脑,都重装系统了。我也说不准是否使用官方的升级方法,会导致某些驱动损坏(尤其是显卡)。但出于安全考虑,建议还是直接手动备份重要数据,然后用启动盘直接安装想要的版本。

0.备份与网络

无论对系统做什么操作,都应当注意备份。我主要进行了数据的备份,至于系统的备份,可以参考https://blog.csdn.net/sinat_27554409/article/details/78227496。此外,应当检查自己的网络情况,最好确保网络不会中断,且网速较快。

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-core

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的操作都执行一遍。

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

即强制的删除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的。

  • 20
    点赞
  • 123
    收藏
    觉得还不错? 一键收藏
  • 18
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值