首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将传统的16.04 LTS升级到18.04 LTS --“发布升级”显示了许多未找到的软件包。我应该继续做下去吗?

将传统的16.04 LTS升级到18.04 LTS --“发布升级”显示了许多未找到的软件包。我应该继续做下去吗?
EN

Ask Ubuntu用户
提问于 2022-08-03 19:54:14
回答 3查看 427关注 0票数 0

我对编程和运行软件/OS更新很陌生,所以我试图谨慎行事,尽管我的文件是备份的,以防万一。我已经包含了这个升级过程的全部上下文,所以如果您想跳过手头的问题,可以自由滚动到最后。

我正在升级我们的遗留服务器。删除旧的PPA引用后,使用:

sudo add-apt-repository --remove ppa:<username>/<ppaname>

..and使用以下方法更新对old-releases的发布url引用:

sudo sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list

..and安装管理器-核心:

apt-get install update-manager-core

我运行了更新:

sudo apt-get update

..and欣慰地看到,除了这5个包之外,大多数包都被更新了:

代码语言:javascript
复制
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: The repository 'http://old-releases.ubuntu.com/ubuntu xenial-updates Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: The repository 'http://old-releases.ubuntu.com/ubuntu xenial-backports Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: The repository 'http://old-releases.ubuntu.com/ubuntu xenial-security Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch http://old-releases.ubuntu.com/ubuntu/dists/xenial/main/binary-amd64/Packages  404  Not Found [IP: 91.189.91.123 80]
E: Failed to fetch http://old-releases.ubuntu.com/ubuntu/dists/xenial-updates/main/binary-amd64/Packages  404  Not Found [IP: 91.189.91.123 80]
E: Failed to fetch http://old-releases.ubuntu.com/ubuntu/dists/xenial-backports/main/binary-amd64/Packages  404  Not Found [IP: 91.189.91.123 80]
E: Failed to fetch http://old-releases.ubuntu.com/ubuntu/dists/xenial-security/main/binary-amd64/Packages  404  Not Found [IP: 91.189.91.123 80]
E: Some index files failed to download. They have been ignored, or old ones used instead.

在这一点上,我还不确定这是否是升级的关键(很难在网上找到明确的答案),所以我继续进行了升级:

sudo apt-get upgrade -y

这似乎很顺利,尽管什么也没发生:

代码语言:javascript
复制
The following packages have been kept back:
  certbot python-acme python-certbot-apache python-parsedatetime python3-requests python3-urllib3
0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.

..so,我走下一步,跑了:

sudo apt-get dist-upgrade

这样跑得很好,没有出错,所以我走下一步跑:

sudo do-release-upgrade

..and --当我得到这404个错误中的100个时(都来自同一个IP地址):

代码语言:javascript
复制
Err http://old-releases.ubuntu.com/ubuntu xenial/main all Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial/main Translation-en
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial/restricted amd64 Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial/restricted i386 Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial/restricted all Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial/restricted Translation-en
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial/universe amd64 Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial/universe i386 Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial/universe all Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial/universe Translation-en
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial/multiverse amd64 Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial/multiverse i386 Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial/multiverse all Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial/multiverse Translation-en
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial-updates/main i386 Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial-updates/main all Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial-updates/main Translation-en
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial-updates/restricted i386 Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial-updates/restricted all Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial-updates/restricted Translation-en
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial-updates/universe i386 Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial-updates/universe all Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial-updates/universe Translation-en
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial-updates/multiverse i386 Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial-updates/multiverse all Packages
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial-updates/multiverse Translation-en
  404  Not Found [IP: 185.125.190.37 80]
Err http://old-releases.ubuntu.com/ubuntu xenial-backports/main amd64 Packages
  404  Not Found [IP: 185.125.190.37 80]

还需要对这些快照进行研究:

代码语言:javascript
复制
No snaps are installed yet. Try 'snap install hello-world'.

Checking for installed snaps

Calculating snap size requirements
No candidate ver:  liblockfile1
No candidate ver:  python-pbr
No candidate ver:  sendmail-base
No candidate ver:  sendmail-bin
No candidate ver:  sendmail-cf
No candidate ver:  ssmtp

Updating repository information

Third party sources disabled

Some third party entries in your sources.list were disabled. You can
re-enable them after the upgrade with the 'software-properties' tool
or your package manager.

To continue please press [ENTER]
^C
=== Command terminated with signal 2 (Wed Aug  3 13:41:27 2022) ===

我点击了185.125.190.37就行了,所以这些包似乎不存在于这个IP地址.我害怕在没有确保这些包没有被检索到的情况下运行升级。这引出了我的问题--

问:在这么多缺少包的情况下运行do-release-upgrade还可以吗?如果没有,我怎样才能拿到这些包裹?对Ubuntu 16.04来说太晚了吗?

非常感谢你的帮助!

EN

回答 3

Ask Ubuntu用户

发布于 2022-08-03 23:11:42

如前所述,16.04 ESM仍然被支持,因此您不需要使用旧的Relases.ubuntu.com,但是标准支持已经结束,因此现在升级变得复杂起来,这可能取决于您在世界上的位置。我会提供一些想法

  • 为了为您的位置提供良好的CA证书,您可能会遇到EOL证书,除非您已经应用了ESM修复程序&从而启用了ESM &从而使用仅通过ESM提供的包进行了完全升级。
  • 随着标准支持的结束,许多PPA和第三方镜像可能已经放弃了对发行版的支持,所以如果您正在使用其中的一个,那么您可能会有一些包,这些包现在只会在遇到问题时为您带来问题。但是,如果您只使用Ubuntu存储库软件,那么这里不会出现问题。
  • 将源代码返回到主存档,并尝试使用do-release-upgrade。几周前,我这么做是为了对我发现的一个异种系统发表评论,在修复问题和升级软件包几分钟后,do-release-upgrade开始正常运行并下载仿生软件包.在我的例子中,我中止了升级,并将我的盒子返回到xenial (当我需要它时,我会通过重新安装来升级它),但是它已经到了一个我很高兴它能工作的地步&我可以留下我的评论。

在您的例子中,我会将旧的Relases.ubuntu.com恢复为archive.ubuntu.com &确保您有所有的包,然后再试一次。如前所述,您将遇到什么问题可能取决于您在世界上的位置(证书;您可能需要应用ESM以获得升级的证书,或者像我一样幸运&不需要),或者与第三方包有复杂的关系(对我来说没有问题;我没有)。

如果您想避免这种情况,只需在系统达到标准支持结束之前进行维护和升级。Ubuntu16.04LTS告诉你,它是以它的名义发布的2016到4月,它有5年的标准支持;所以在16 (2016)中增加5(年)就可以结束标准支持(EOSS),或者当你需要完成发布-升级之前,可能需要额外的工作。

票数 2
EN

Ask Ubuntu用户

发布于 2022-08-03 21:19:14

看起来,仍然处于ESM (而不是EOL )中的版本位于https://us.archive.ubuntu.com (或您自己的两个字母的国家代码)中,而不是https://old-releases.ubuntu.com中。要确认这一点,您可以尝试在url + /ubuntu/dists访问它们,并查看您的发行版是否位于那里。在这种情况下,我检查了一下,目前,xenial并不是在旧版本中。您可以尝试将您的sources.list切换到该站点,并查看更新是否通过。

票数 1
EN

Ask Ubuntu用户

发布于 2022-08-03 21:40:00

我认为“升级”从生命的一端不受支持的发布到另一个是EOL也是一个坏主意。我建议你升级(也许是通过干净的安装?)至少是22.04或20.04。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1421848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档