<- Back

Ubuntu Server 18.04 升级至 20.04 步骤与报错解决

Created at 2020-09-26 20:28:29

Last updated at 2020-09-26 20:28:29

1112 Clicks

前一阵升级了服务器的系统,虽然参照了官方的教程步骤,但是还是遇到了报错,所以在这总结一下步骤和报错的解决。

(官方教程:https://ubuntu.com/blog/how-to-upgrade-from-ubuntu-18-04-lts-to-20-04-lts-today

报错是在执行 $ sudo do-release-upgrade 时出现的,具体内容如下:
AttributeError: 'UbuntuDistroInfo' object has no attribute 'get_all'

原因就是从pip源中安装了distro-info包,只需要把它卸载掉,再安装apt源的distro-info包就好。

通过如下命令,可以查看distro-info包的版本:

$ pip list | grep distro-info

如果看到的版本号是数字的,那就是pip源安装的,如果是ubuntu开头的,那就是apt源安装的。

更换apt源distro-info包的具体命令如下:

$ sudo pip uninstall distro-info
$ sudo apt --purge remove python3-distro-info
$ sudo apt install python3-distro-info

总结一下,升级包简要步骤:

  1. $ sudo apt update
  2. $ sudo apt dist-upgrade
  3. $ sudo apt --purge autoremove
    (主要为了移除旧的内核)
  4. $ sudo reboot
  5. $ sudo pip uninstall distro-info
  6. $ sudo apt --purge remove python3-distro-info
  7. $ sudo apt install python3-distro-info
  8. $ sudo do-release-upgrade
    (请谨慎选择配置文件,不要轻易覆盖自己编写好的或者旧的配置文件,不然容易造成配置丢失或改变)
  9. 重启之后,一些软件、pip包可能需要重新安装,因为源会因为版本而变化。

Tags:ITUbuntuLinuxPythonpip

0 Comments

@ 2019-2024 OWENDSWANG
Contact me: owendswang@qq.com