我对 Ubuntu 还很陌生
自从 23.04 发布以来,我的系统一直无法升级到该版本。
说明如下:
- 安装所有待处理的软件更新
- 然后升级
很遗憾,
sudo apt 完全升级
结尾如下:
以下包裹已被保留:
(故意省略了包裹细节。)
0 表示升级,0 表示全新安装,0 表示删除,4 表示不升级。
我可以按预期看到更多详细信息:
apt 列表--可升级
回答是否强制更新的问题: 如何强制将“已被保留的软件包”安装为“自动”?
总体来说就是不要这样做,等待修复。那么我该如何升级而不强制解决问题呢?
sudo do-release-升级
按照预期失败:
升级之前,请安装适合您的版本的所有可用更新。
我该如何/应该如何更新这些包?或者我需要删除它们及其依赖项吗?这可能相当痛苦。
或者我只是继续等待?
答案1
首先,确定包裹被扣留的原因。
主要有两种可能性:阶段性更新或版本冲突
分阶段更新很容易发现,并且可以轻松跳过阶段,以便您可以发布升级:
$ sudo apt update
[...]
$ apt policy foo
[...]
Version table:
*** 1.1.1 500 (phasing=50%) <------------- This package is phasing
[...]
// One-time (not permanent) way to immediately install Phased Updates.
$ sudo apt -o APT::Get::Always-Include-Phased-Updates=true upgrade
版本冲突看起来更像这样:来自多个来源的多个版本。必须先解决或修复每个版本冲突,然后才能进行发布升级。幸运的是,它们通常并不困难。
$ sudo apt update
[...]
$ apt policy foo
foo:
Installed: 1.2
Candidate: 1.2
Version table:
*** 1.1 500
500 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages
1.2 500
500 http://someplace-else.org/ stable amd64 Packages <--- The Problem
100 /var/lib/dpkg/status
// Revert to the compatible Ubuntu package by specifying the version
$ sudo apt install foo=1.1
// Delete or disable the source that provides the conflicting package(s)
$ sudo apt edit-sources
// Since your sources just changed:
$ sudo apt update