问题描述
我已经阅读了我能找到的每一个主题 – 甚至那些说这个问题已经在其他地方得到解答但却没有解决我遇到的具体问题的主题。 Update Manager运行并生成与未满足的依赖关系相关的错误,并建议使用apt-get install -f,该消息失败并显示以下消息:
Unpacking linux-headers-3.5.0-36 (from .../linux-headers-3.5.0-36_3.5.0-36.57~precise1_all.deb) ...
dpkg: error processing /var/cache/apt/archives/linux-headers-3.5.0-36_3.5.0-36.57~precise1_all.deb (--unpack):
unable to create `/usr/src/linux-headers-3.5.0-36/arch/arm/mach-iop32x/include/mach/glantank.h.dpkg-new' (while processing `./usr/src/linux-headers-3.5.0-36/arch/arm/mach-iop32x/include/mach/glantank.h'): No space left on device
我怀疑最后5个字没有留在设备上的空间是显著的,但df和du都显示足够的空间。所以我想知道,什么设备需要更多空间?
来自df -h
的输出
Filesystem
Size Used Avail Use%
Mounted on /dev/sda1 5.5G 4.4G 786M 86%
/ udev 996M 4.0K 996M 1%
/dev tmpfs 402M 880K 401M 1%
/run none 5.0M 0 5.0M 0% /run/lock none 1004M 156K 1004M 1%
/run/shm /dev/sdb1 30G 1.4G 27G 5%
/home /dev/sdc1 299G 31G 268G 11% /media/HD-PCTU2
最佳解决方案
我刚遇到同样的问题。我在其他地方遇到了提到的inode,并在我的终端中运行以检查inode的使用情况:
df -i
这表明inode的使用率为99%。因此,虽然我的磁盘剩余空间很大,但由于inode数量的限制,我无法创建更多文件。一些磁盘清理是我的问题的解决方案。
次佳解决方案
我认为你的启动分区充满了旧的内核映像,没有留给apt-get
尝试安装的新版本。你可以输入
dpkg -l linux-headers-\* linux-image-\* | grep ^ii
进入终端窗口。当我这样做时,我明白了
ii linux-headers-3.8.0-18 3.8.0-18.28 all Header files related to Linux kernel version 3.8.0
ii linux-headers-3.8.0-18-generic 3.8.0-18.28 amd64 Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii linux-headers-3.8.0-19 3.8.0-19.30 all Header files related to Linux kernel version 3.8.0
ii linux-headers-3.8.0-19-generic 3.8.0-19.30 amd64 Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii linux-headers-3.8.0-21 3.8.0-21.32 all Header files related to Linux kernel version 3.8.0
ii linux-headers-3.8.0-21-generic 3.8.0-21.32 amd64 Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii linux-headers-3.8.0-22 3.8.0-22.33 all Header files related to Linux kernel version 3.8.0
ii linux-headers-3.8.0-22-generic 3.8.0-22.33 amd64 Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii linux-headers-3.8.0-23 3.8.0-23.34 all Header files related to Linux kernel version 3.8.0
ii linux-headers-3.8.0-23-generic 3.8.0-23.34 amd64 Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii linux-headers-3.8.0-25 3.8.0-25.37 all Header files related to Linux kernel version 3.8.0
ii linux-headers-3.8.0-25-generic 3.8.0-25.37 amd64 Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii linux-headers-generic 3.8.0.25.43 amd64 Generic Linux kernel headers
由于我有很多,我可以删除一些最老的
sudo apt-get remove linux-headers-3.8.0-18
如果apt-get
因为缺少某些软件包依赖项(由于缺少免费的inode而无法安装)而失败,则可以直接使用dpkg
:
sudo dpkg --remove linux-headers-3.8.0-18
对你最老的linux-headers-*
做几次,你应该有空间。
第三种解决方案
我使用了sudo apt-get autoremove
,它删除了一堆旧的kernel-headers软件包。很高兴去那之后。