尝试升级 Ubuntu 但无法完成先决条件更新

尝试升级 Ubuntu 但无法完成先决条件更新

我对 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

相关内容