Ubuntu 16.04 apt升级导致循环依赖

Ubuntu 16.04 apt升级导致循环依赖
# apt upgrade
The following packages have unmet dependencies:
 linux-headers-generic : Depends: linux-headers-4.4.0-177-generic but it is not installed
 linux-image-4.4.0-177-generic : Depends: linux-modules-4.4.0-177-generic but it is not installed

尝试安装linux-modules-4.4.0-177-generic

# apt install linux-modules-4.4.0-177-generic
...
The following packages have unmet dependencies:
 linux-headers-generic : Depends: linux-headers-4.4.0-177-generic but it is not going to be installed

因此,headers-generic需要headers-4.4.0-177-generic需要modules-4.4.0-177-generic需要headers-4.4.0-177-generic

问题是如何解决这种循环依赖?

系统总是建议

您可能需要运行“apt-get -f install”来纠正这些问题。

但我不确定这是否-f是最好的解决方案。

答案1

尝试, 先sudo apt install linux-headers-versionxx -f 安装linux-headers依赖项。

如果安装成功,那么您想尝试再次使用f标志安装它的模块和其他包。

答案2

使用apt purge删除linux-headers和两个包linux-modules

一旦它们都消失并且无法阻止安装,则安装其中一个,同时也会安装另一个。

如果两者都不存在,则不应该有任何循环依赖问题。

答案3

解决循环依赖问题的常用解决方案是在单个sudo apt-get install ...命令中安装所有涉及的包。

就你的情况来说,

sudo apt-get install linux-headers-4.4.0-177 linux-headers-4.4.0-177-generic linux-modules-4.4.0-177-generic

或类似的东西。

也可以看看:

https://askubuntu.com/questions/584829/how-does-apt-handle-circular-dependencies

https://unix.stackexchange.com/questions/394670/what-to-do-with-a-circular-dependency-between-two-packages-in-fedora

https://ubuntuforums.org/showthread.php?t=1910500

相关内容