Java教程

ubuntu16.04升级系统

本文主要是介绍ubuntu16.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

  1. 安装update-manager-core
    sudo apt-get install update-manager-core

  2. 执行系统升级
    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的。

这篇关于ubuntu16.04升级系统的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!