avatar

Ubuntu 18升级到22

由于公司的破Windows电脑安装Docker以后,一直提示WSL在执行的时候有异常,所以回来在虚拟机里折腾一下Docker的安装。
打开Docker官网文档看了下,Ubuntu版本必须要>=22.04才可以安装,而我虚拟机里还是几年前安装的elementary OS5.0(Ubuntu 18.04),显然需要升级系统。

一. 5.0升级到6.0

1
2
3
4
# 修改源 将以下文件中的 bionic 替换为 focal
sudo vim /etc/apt/sources.list
sudo vim /etc/apt/sources.list.d/patches.list
sudo vim /etc/apt/sources.list.d/elementary.list

修改后sources.list的内容为:

1
2
3
4
5
6
deb http://mirrors.163.com/ubuntu/ focal main restricted multiverse
deb http://mirrors.163.com/ubuntu/ focal-updates main restricted
deb http://mirrors.163.com/ubuntu/ focal universe
deb http://mirrors.163.com/ubuntu/ focal-updates universe
deb http://mirrors.163.com/ubuntu/ focal-updates multiverse
deb http://archive.canonical.com/ubuntu focal partner

修改后patches.list的内容为:

1
2
deb http://ppa.launchpad.net/elementary-os/os-patches/ubuntu focal main
deb-src http://ppa.launchpad.net/elementary-os/os-patches/ubuntu focal main

修改后elementary.list的内容为:

1
2
deb http://ppa.launchpad.net/elementary-os/stable/ubuntu focal main
deb-src http://ppa.launchpad.net/elementary-os/stable/ubuntu focal main

保存后,获取所有安装包信息并执行更新操作

1
2
sudo apt update -y && sudo apt upgrade -y
# 更新过程中会遇到提示xxx在安装后曾被修改(您或者某个脚本修改了它),软件包的提供者同时提供了更新了的版本,您现在希望如何处理呢?输入Y安装软件包维护者所提供的版本替换即可(默认N,保留原来的版本)

在此过程中一切顺利,并没有遇到稀奇古怪的问题,Ubuntu版本从18.04升级到了20.04 。

二. 6.0升级到7.1

1
2
3
4
# 修改源 将以下文件中的 focal 替换为 jammy
sudo vim /etc/apt/sources.list
sudo vim /etc/apt/sources.list.d/patches.list
sudo vim /etc/apt/sources.list.d/elementary.list

修改后sources.list的内容为:

1
2
3
4
5
6
deb http://mirrors.163.com/ubuntu/ jammy main restricted multiverse
deb http://mirrors.163.com/ubuntu/ jammy-updates main restricted
deb http://mirrors.163.com/ubuntu/ jammy universe
deb http://mirrors.163.com/ubuntu/ jammy-updates universe
deb http://mirrors.163.com/ubuntu/ jammy-updates multiverse
deb http://archive.canonical.com/ubuntu jammy partner

修改后patches.list的内容为:

1
2
deb http://ppa.launchpad.net/elementary-os/os-patches/ubuntu jammy main
deb-src http://ppa.launchpad.net/elementary-os/os-patches/ubuntu jammy main

修改后elementary.list的内容为:

1
2
deb http://ppa.launchpad.net/elementary-os/stable/ubuntu jammy main
deb-src http://ppa.launchpad.net/elementary-os/stable/ubuntu jammy main

保存后,获取所有安装包信息并执行更新操作

1
2
sudo apt update -y && sudo apt upgrade -y
# 更新过程中会遇到提示xxx在安装后曾被修改(您或者某个脚本修改了它),软件包的提供者同时提供了更新了的版本,您现在希望如何处理呢?输入Y安装软件包维护者所提供的版本替换即可(默认N,保留原来的版本)

升级到一半,终端中有错误信息,提示因为python依赖问题,升级中断了,手动安装python也是同样失败……
重启设备,登录界面显示异常,无法登录,哦豁,该来的终于来了,进入恢复模式抢救一下:

  1. 再次重启设备,根据屏幕上的提示,按下ESC键,进入elementary启动模式选择界面,选中Advance模式后回车;
  2. 进入GRUB选择界面,选择一个内核的recovery模式回车,等待进入恢复模式(失败则尝试其他内核的recovery模式);
  3. 按方向键选中network选项,按回车键先启用网络;
  4. 再次按方向键选中root选项,进入命令行模式进行抢救。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # 清除多余的内核及无用的包
    apt autoremove --purge
    apt autoclean
    dpkg --list | grep linux-image
    # 上述命令会列出本机安装过的内核,保留1-2个旧的备用,其他删除,然后重启再次进入恢复模式
    apt purge linux-image-x.x.x-x-generic
    reboot
    # 更新包信息及安装更新包,然后重启
    apt update
    apt install python
    apt upgrade -y
    apt dist-upgrade
    reboot
    重启后,终于能登录了,升级成功,Ubuntu版本从20.04升级到22.04 。
文章作者: pengweifu
文章链接: https://www.pengwf.com/2025/02/15/other/Ubuntu-upgrade/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 麦子的博客
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论