由于我的 apt 版本,我似乎无法从 20.04 升级到 22.04.1 LTS,但它也是最新的。
我已经跑了
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt full-upgrade
并且所有软件包似乎都是最新的。
但是,当我运行它时sudo do-release-upgrade
,它会失败并出现错误
Reading cache
Checking package manager
Reading package lists... Done
Building dependency tree
Reading state information... Done
Required depends are not installed
The required dependency 'apt (>= 2.0.4)' is not installed.
跑步apt --version
确实能带来好处apt 2.0.2 (amd64)
。
在此处检查焦点上可用的 apt 版本https://launchpad.net/ubuntu/+source/apt似乎表明 2.0.2 是该release (main)
分支上最新的可用版本,尽管 2.0.9 已在 下可用updates (main)
。
是否可以以某种方式安装 2.0.9 版本?我该如何开始do-release-upgrade
工作?
答案1
哎呀。你的麻烦更大了。
- 您的 apt 版本:2.0.2 (focal)
- focal-security repo 中的 apt 版本:2.0.2ubuntu0.2
- focal-updates pocket 中的 apt 版本:2.0.9
版本的差异意味着两个问题:
您已禁用
focal-security
。不好。不要这么做。这意味着您一直在运行未打补丁的已知已发布漏洞。也许已经好几年了。这是一种让您的系统立即脱离互联网的错误。您的不安全系统可能已受到威胁。通常的建议是重新安装 Ubuntu,以消除入侵者在您不知情的情况下放置在您不安全系统上的任何恶意软件或后门。
您禁用了
focal-updates
。有些人在尝试禁用更新通知时会犯此错误。但这意味着您没有收到现在需要的较新版本的 apt。通常的建议是简单地重新启用
-updates
,然后运行sudo apt update
,然后sudo apt upgrade
。这将提供所需的所有升级,使您的 20.04 系统准备好升级到 22.04 版本。然而,无论如何你都需要重新安装 Ubuntu。未能及时安装安全升级更为重要。
你今天应该做什么:从 LiveUSB 安装 Ubuntu 22.04,而不是从不安全的 20.04 系统进行版本升级。
向前走:
-security
除非有充分(临时)理由,否则切勿禁用- 不要禁用
-updates
。有更好的方法来停止更新通知。
答案2
正如@user535733所说引用,问题是我的/etc/apt/sources.list
只有一个条目
deb http://archive.ubuntu.com/ubuntu focal multiverse main universe restricted
。
编辑后阅读
deb http://archive.ubuntu.com/ubuntu/ focal multiverse main universe restricted
deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
已经解决了该问题,但是您仍然需要面对之前提到的安全隐患。
答案3
就我的情况来说,解决办法很简单。只需切换“订阅“在 GUI 中”仅安全更新“ 到 ”安全和推荐更新“。
此后运行apt update
会产生大量软件更新(包括 apt 2.0.2 -> 2.0.9)。