我读完了所有能找到的帖子,甚至包括那些说这个问题在其他地方已经得到解答的帖子,但没有一个能解决我遇到的具体问题。运行更新管理器后,出现了与未满足依赖关系相关的错误,并建议使用apt-get 安装 -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
我怀疑最后五个字设备上没有剩余空间很重要,但 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
答案1
我刚刚遇到了同样的问题。我在其他地方看到了对 inode 的提及,并在终端中运行以检查 inode 使用情况:
df -i
这表明 inode 使用率为 99%。因此,尽管我的磁盘有足够的剩余空间,但由于 inode 数量有限,我无法创建更多文件。清理磁盘可以解决我的问题。
答案2
我认为你的启动分区里全是旧的内核映像,没有空间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-*
,你就应该有空间了。
答案3
我使用过它sudo apt-get autoremove
,它删除了一堆旧的内核头文件包。之后一切就好了。
答案4
如果你的磁盘空间不足,apt-get clean
/apt-get autoclean
没有给你足够的空间,并且你有一些多余的 RAM,请尝试我的答案:
https://unix.stackexchange.com/a/726355/250404
我使用 ramdisk 挤出足够的空间来完成apt --fix-broken install
并恢复此操作。