我一直在尝试将我的 Ubuntu 18.04 版本升级到 20.04。我已经执行了所有步骤,包括更新和升级 apt 和 apt-get、更改更新管理器中的设置以及所有此链接中描述的步骤. 但我一直收到错误:
Please install all available updates for your release before upgrading.
尝试从 18.04 升级到 20.04 时是否有特殊原因导致此错误?我是否需要先更新到 19.04?
编辑:我刚刚注意到一些可能很重要的事情。运行时,sudo apt-get update
我在输出末尾收到以下通知:
The following packages have been kept back:
colord gimagereader python-sane sane simple-scan
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
这可能是导致问题的原因吗?
答案1
我也遇到了同样的问题。但是,当我运行常用的升级命令(sudo apt upgrade
、sudo apt full-upgrade
、sudo apt-get dist-upgrade
)时,它们都报告说没有要升级的软件包,没有保留包裹:
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
最终我将该文件复制/usr/bin/do-release-upgrade
到我家并进行了如下修改:
for pkg in upgradable:
if 'Phased-Update-Percentage' in pkg.candidate.record:
# P-U-P does not exist if it is fully phased
continue
else:
install_count += 1
print(pkg) # <--- ADD THIS LINE
# one upgradeable package is enough to stop the dist-upgrade
# break # <--- COMMENT THIS LINE OUT to get all packages
此更改将打印所有需要升级的软件包的名称。
当我运行时sudo ~/do-release-upgrade
,打印了一个来自外部存储库的包,该包具有可用的更新,但新版本依赖于不可用的库,这导致包无法升级。
仍然不确定为什么它没有被not upgraded
报告apt upgrade
。
编辑:以下代码片段可以在 Python 控制台中运行以列出所有可升级的包 - 感谢@jferard!
import apt
cache = apt.Cache()
cache.open()
print([pkg for pkg in cache if pkg.is_upgradable])
答案2
从 18.04 到 20.04 的序列
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt autoremove
sudo do-release-upgrade -d -f DistUpgradeViewGtk3
按照屏幕上的说明操作。祝你好运!
答案3
问题是您的 repo 未更新,因此您需要删除以下五个 repo:colord gimagereader python-sane sane simple-scan
执行sudo add-apt-repository -r ppa:<ppa to remove>
或编辑/etc/apt/sources.list
以删除所有这些存储库。
然后你可以运行update-manager
答案4
首先在你的终端中:
sudo apt dist-upgrade
然后你会得到
The following packages have been kept back:
mongodb-org mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
你所要做的就是使用
sudo apt 安装< 软件包名称 >
结果将会像这样:
sudo apt install mongodb-org mongodb-org-mongos mongodb-org-server mongodb-org-tools
最后,选择:
sudo do-release-upgrade