如何在 EOL 之后将 Ubuntu 21.10 升级到 22.04?

如何在 EOL 之后将 Ubuntu 21.10 升级到 22.04?

我有一台运行 Ubuntu 21.10-server arm6 的 Raspberry Pi 4。我刚刚在尝试更新/升级软件后得知它已达到 EOL。我实际上忘记了安装的系统不是 LTS(表明我很少接触它的终端)。我正在这台服务器上运行一些服务,已经忘记了我是如何配置它的(那是 2021 年第一季度),所以我宁愿直接升级它,而不是从头开始重新安装所有内容。

答案1

解决方案

编辑您的/etc/apt/sources.list并替换http://ports.ubuntu.com/ubuntu-portshttp://old-releases.ubuntu.com/ubuntu/。然后重新运行命令。

一步步:

  • 保存备份/etc/apt/sources.list(虽然你也可以用#注释行,但最好还是备份一下,以便自己参考,以防万一,让系统保持原样)
  • /etc/apt/sources.list通过使用http://old-releases.ubuntu.com/ubuntu/而不是替换 URLhttp://ports.ubuntu.com/ubuntu-ports
  • 运行sudo apt-get update,现在应该可以正常运行了。
  • 运行sudo apt-get dist-upgrade,现在也应该可以正常运行。
  • 最后,运行do-release-upgrade (运行此命令之前可能需要重新启动)

希望就是这样。您可以随意禁用 sources.list 中所有失败的源,直到成功升级系统。

事情背景

我刚刚遇到了同样的问题,我记得 ubuntu 为旧的不受支持/已停用的版本保留了一个单独的存档。一旦某个版本停用,所有软件包都会从主存储库 URL 中删除。

只需提供一点背景信息,我遇到的第一个问题是运行时sudo apt-get update出现如下错误:

Err:9 http://ports.ubuntu.com/ubuntu-ports impish Release
  404  Not Found [IP: 185.125.190.39 80]

我在尝试运行时遇到了类似的问题sudo apt-get dist-upgrade

E: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/pool/main/s/systemd/libpam-systemd_248.3-1ubuntu8.6_arm64.deb  404  Not Found [IP: 185.125.190.39 80]

事实证明 ubuntu impish/ubuntu 21.10 已退役,因此在主 ubuntu 档案中找不到它。

接下来我想起来/想到的是,有这个,old-releases.ubuntu.com所以我决定试一试。结果证明它有效。

从概念上讲,唯一要做的就是替换 URL 并重新运行命令。请参阅此解决方案的顶部以了解详细步骤。

注意:请注意,这不仅涉及更改 sources.list 中的域名,还涉及为 ubuntu 包 URL 设置正确的文件夹。在此特定情况下,在撰写本文时,URL 为:

http://old-releases.ubuntu.com/ubuntu/

附言:如果您发现此解决方案中存在一些不准确之处,或者存在其他极端情况,请告诉我。我非常乐意为您修复。

更多信息:

如果出现故障(例如 do-release-upgrade 失败,...)或者您想更好地了解发生了什么,请查看此页面:

相关内容