0 已升级,0 已新安装,0 已删除,1 未升级。我如何升级该 1 个软件包,或者至少知道哪个是?

0 已升级,0 已新安装,0 已删除,1 未升级。我如何升级该 1 个软件包,或者至少知道哪个是?

我尝试了在这个网站和其他网站上找到的许多不同的解决方案,例如

sudo apt update && sudo apt upgrade
sudo apt list --upgradeable
sudo apt full-upgrade
sudo apt dist-upgrade

并且不显示包的信息或更新。我也尝试过

aptitude update

并检查了日志,没有显示有关该包的信息。

关于如何识别这个包有什么想法吗?

我目前的猜测是,它可能与该文件有关sources.list。对此有何评论?

我有 Linux Mint 和最新发行版 Ulyana / Focal。

非常感谢!

答案1

apt upgrade会告诉你它想做什么,包括包升级;这将包括不会升级的软件包列表:

$ sudo apt upgrade -o APT::Get::Show-Upgraded=true
The following packages were automatically installed and are no longer required:
  [any packages which could be auto-removed]
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  [any packages which will be installed]
The following packages have been kept back:
  [any packages which are upgradeable but won’t be upgraded]
The following packages will be upgraded:
  [any packages which will be upgraded]
NN upgraded, NN newly installed, NN to remove and NN not upgraded.
Need to get ... of archives.
After this operation, ... of additional disk space will be used.
Do you want to continue? [Y/n]

(替换NN为反映上面列出的包的四个不同值)。

如果这仍然没有向您显示任何内容,则可能是本地安装了未升级的软件包(但是,apt可能不想升级它......)。调查这个问题的一个好工具是apt-show-versions

sudo apt install apt-show-versions

然后运行

apt-show-versions | grep "No available version in archive"

查看配置的存储库中不可用的包,以及

apt-show-versions | grep upgradeable

查看哪些软件包可以升级(无论是否apt 升级它们)。

您通常可以了解更多有关为什么该软件包不会通过apt install使用软件包名称运行来升级。如果其升级会导致另一个包被删除,upgrade则会跳过它,但full-upgrade会升级它。

另一种可能性是升级候选者被阻止;特别是在 Linux Mint 上,这可能会发生在snapd,即默认禁用通过/etc/apt/preferences.d/nosnap.pref配置文件。

答案2

apt如果升级一个包需要删除另一个包,通常会这样做。您可以使用以下方式应用升级

apt dist-upgrade

apt会询问您是否要实际更新软件包,因此您也可以使用它来首先列出软件包。

答案3

/etc/apt/preferences.d/nosnap.pref就我而言,同样的错误是由于 Linux Mint 软件包安装的文件存在ubuntu-system-adjustments以禁用snapd.

注释掉该文件的内容nosnap.pref或删除该文件可以解决该问题。

相关内容