在更新基于Ubuntu和Debian的Linux发行版时修复“The following packages have been kept back”错误 - 武汉新胜电脑
  • 武汉市武昌区南湖花园 瑞安街140号 027-88016877
  • 18627003654
  • love6411692@qq.com

在更新基于Ubuntu和Debian的Linux发行版时修复“The following packages have been kept back”错误

首页最新动态

在更新基于Ubuntu和Debian的Linux发行版时修复“The following packages have been kept back”错误

前几天,我正在更新我的Ubuntu系统。我更喜欢使用apt update和apt upgrade的组合来更新系统的命令行方式。

这次我在Ubuntu中遇到了一个奇怪的更新错误。它告诉我,有些软件包可以升级,但由于读取错误而无法升级这些软件包:

以下软件包已保留

这是我遇到的错误的屏幕截图:

软件包在Ubuntu Linux中被保留了错误

如上图所示,问题是由于fwupd引起的,它是Ubuntu和其他Linux中的固件更新管理器守护程序。

让我向您展示如何在Ubuntu和其他Linux发行版(如Linux Mint,Debian,Kali Linux等)中处理此错误。

修复“以下软件包已保留”错误

解决此错误的方法非常简单。您所要做的就是对问题中的一个或多个软件包使用apt install命令:

sudo apt install package_name

如果在已经安装的软件包上使用apt install,它将被更新。就我而言,fwupd程序包被保留。因此,这是我尝试的方法:

sudo apt install fwupd

正如您在下面的屏幕快照中看到的那样,它建议将要安装两个软件包,然后还要安装这些软件包。

修复软件包在Ubuntu Linux中被保留了错误

说明:“以下软件包已被保留”错误的原因及其解决方法

上面建议的修复程序应该可以为您解决问题。但是您是否好奇导致错误的原因以及如何解决该错误?让我向您解释。

通常,当您运行sudo apt update和sudo apt upgrade命令时,它将所有已安装的软件包更新为可用的较新版本。

但是,如果已更改已安装程序包的依赖关系,从而需要安装新程序包,则已安装程序包将不会随着系统更新而升级,并且您会看到程序包保留错误。

在此处的示例中,最初安装fwupd时,未安装tpm2-tools和tpm2-abrmd,并且fwupd并不依赖于此。后来,较新版本的fwupd要求安装这些新软件包。

这是Debian的APT软件包管理器中的一种机制,它通知您现在已经安装的软件包需要安装更多新的软件包作为依赖项。当您手动和单独更新这些软件包时,您会看到要安装哪些新软件包,并且不再显示该错误。

在这种情况下,您也可以使用apt full-upgrade / apt-get dist-upgrade代替apt install package_name,但是我不建议这样做。apt全面升级可能会在处理依赖项时自动删除它认为不必要的软件包。这可能会导致意外情况。

联系方式 / Contact

  • 武汉新胜电脑
  • 地址:武汉市武昌区南湖花园 瑞安街140号 027-88016877
  • 电话:18627003654
  • 联系人:彭经理
  • 邮箱:love6411692@qq.com
  • 网址:https://www.whxsdn.com
  •  
  •  
  •