我有一个运行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不检查数据库中的未满足的依赖关系,这与我需要删除的包没有任何关系? 一旦我释放了一些空间,我实际上也可以解决破损的包裹。
我的替代解决scheme是通过移动内核(到/kernels )来手动释放空间,修复依赖性问题,删除一些内核包,如果我不能指示apt-get来协作,请移回/kernels/* 。
编辑
我尝试apt-get -f remove PACKAGENAME ,但它打到dep错误。 但是apt-get -f autoremove忽略了dep问题。 没有-f,autoremove命中dep错误。 有了它,一些内核被发现删除,它正在处理它。 所以,当我的直接问题得到解决,我仍然想知道是否常规apt-get -f remove PACKAGENAME可以有相同的能力,忽略无关的依赖性问题。
dpkg --remove删除软件包而不抱怨失败的安装。 这让你的磁盘空间做apt-get -f autoremove