我有一个运行 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