apt-get:未满足依赖项,但依赖项无法安装

apt-get:未满足依赖项,但依赖项无法安装

我现在想要对 Ubuntu 12.04 LTS 进行 dist-upgrade,但是由于 /boot 已满,我什么也做不了。

~$ df -h
/dev/sda1                               228M  227M     0 100% /boot

我想使用 删除旧的 Linux 内核,apt-get autoremove但是我不能,因为我有未满足的依赖关系。

~$ sudo apt-get autoremove
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:
 libc6-dev : Depends: libc6 (= 2.15-0ubuntu10.9) but 2.15-0ubuntu10.11 is installed
             Depends: libc-dev-bin (= 2.15-0ubuntu10.9)
E: Unmet dependencies. Try using -f.

如果我尝试使用 安装未满足的依赖项apt-get -f install,则会失败,因为 /boot 已满。

我该如何摆脱这种无法释放 /boot 上的空间而apt-get无法运行的循环?

答案1

我不得不在启动时手动释放空间。由于apt-get毫无用处,我不得不手动删除 2 个最老的 Linux 内核的文件。这是我删除单个内核的示例。

警告:危险

sudo rm /boot/vmlinuz-3.8.0-36-generic /boot/System.map-3.8.0-36-generic /boot/initrd-3.8.0-36-generic /boot/config-3.8.0-36-generic /boot/abi-3.8.0-36-generic 

释放空间后,apt-get -f install仍然失败,因为之前失败的内核安装一半do-release-upgrade

do-release-upgrade又跑了一次,这次成功了,除了针对之前失败的软件包apt-get。以下是升级结束时显示的示例:

dpkg: error processing package linux-generic-lts-trusty (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 linux-image-generic-lts-trusty
 libc6-dev:amd64
 linux-generic-lts-trusty

从这里,我可以运行:

apt-get update
apt-get -f install
apt-get autoremove
apt-get upgrade

install修复了依赖性错误,并upgrade正确安装了最新内核。我重新启动进行测试,一切似乎都很好。

相关内容