我有一台运行 Ubuntu 21.10-server arm6 的 Raspberry Pi 4。我刚刚在尝试更新/升级软件后得知它已达到 EOL。我实际上忘记了安装的系统不是 LTS(表明我很少接触它的终端)。我正在这台服务器上运行一些服务,已经忘记了我是如何配置它的(那是 2021 年第一季度),所以我宁愿直接升级它,而不是从头开始重新安装所有内容。
答案1
解决方案
编辑您的/etc/apt/sources.list
并替换http://ports.ubuntu.com/ubuntu-ports
为http://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 失败,...)或者您想更好地了解发生了什么,请查看此页面: