文章内容
2021/8/23 17:53:06,作 者: 黄兵
Ubuntu The following packages have been kept back
今天在对 Ubuntu 升级的时候具体执行命令如下:
$ apt-get update && apt-get upgrade ... The following packages have been kept back: base-files fwupd fwupd-signed libfwupd2 libfwupdplugin1 linux-aws linux-headers-aws linux-image-aws sosreport ubuntu-advantage-tools ubuntu-server 0 upgraded, 0 newly installed, 0 to remove and 11 not upgraded.ch
出现问题的原因:
如果您安装的其中一个软件包的依赖关系发生了变化,因此必须安装新软件包才能执行升级,那么该软件包将被列为“保留”。
解决方案:
方案一:
您可以运行sudo apt-get --with-new-pkgs upgrade
,它将安装保留的软件包。
这样做的好处是不会将保留的软件包标记为“手动安装”,这可能会迫使更多的用户干预。
方案二:
谨慎的解决方案是运行sudo apt-get install <list of packages kept back>
. 在大多数情况下,这将为保留的软件包提供成功升级所需的东西。
方案三:
一个更积极的解决方案是运行sudo apt-get dist-upgrade
,这将强制安装这些新的依赖项。
但dist-upgrade 可能相当危险。与升级不同,它可能会删除包以解决复杂的依赖情况。与您不同,APT 并不总是足够聪明,无法知道这些添加和删除是否会造成严重破坏。
因此,如果您发现自己处于“谨慎解决方案”不起作用的地方,dist-upgrade
可能会起作用……但您最好多了解一点 APT
并通过安装和删除“手动”解决依赖问题根据具体情况打包。
参考资料:
1、“The following packages have been kept back:” Why and how do I solve it?
评论列表