如何在使用 apt-get remove 时忽略未满足的依赖关系?

如何在使用 apt-get remove 时忽略未满足的依赖关系?

我有一个运行 Ubuntu 14.04 的精简 VPS,带有自动安全更新。它用大量内核更新填满了 /boot 分区。我试图删除较旧的更新,但遇到了“未满足”依赖项错误,要求我修复另一个包才能继续。不幸的是,未满足的依赖项想要将新内核安装到已 100% 满的分区。

$ sudo apt-get remove [an old linux-image* package]
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 linux-image-extra-3.13.0-88-generic : Depends: linux-image-3.13.0-88-generic but it is not going to be installed
 linux-image-generic : Depends: linux-image-3.13.0-88-generic but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

分区满了,我没办法apt-get -f install纠正任何问题。有没有办法告诉我apt-get不要检查数据库中未满足的依赖关系,这些依赖关系与我需要删除的包无关?一旦我释放了一些空间,我实际上也可以解决损坏的包。

我的替代解决方案是通过将一些内核移开(到)来手动释放空间/kernels,修复依赖性问题,删除一些内核包,/kernels/*如果我无法指示apt-get以其他方式合作,则移回。

编辑

我试过了apt-get -f remove PACKAGENAME,但它遇到了 dep 错误。但是apt-get -f autoremove忽略了 dep 问题。没有 -f,autoremove 遇到了 dep 错误。有了它,发现了一些需要删除的内核,它正在处理它。所以虽然我眼前的问题已经解决,但我仍然想知道常规是否apt-get -f remove PACKAGENAME具有忽略不相关依赖关系问题的相同能力。

答案1

dpkg --remove确实删除了软件包,而不会抱怨安装失败。这样你就有磁盘空间来做apt-get -f autoremove

相关内容