磁盘空间不足时的initramfs问题


13

我刚刚从10.10升级到11.04。在升级过程中,它说设置initramfs-tools时遇到问题,我需要执行sudo dpkg --configure -a

所以,一旦我第一次开始11.04,我就做到了。这是输出。

Setting up initramfs-tools (0.98.8ubuntu3) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.38-8-generic

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-2.6.38-8-generic
dpkg: error processing initramfs-tools (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 initramfs-tools

在四处搜索之后,似乎这是我的/ boot分区中空间不足的问题。它只有100 MB,这以前从来都不是问题,但是尽管删除了除最新内核以外的所有内核,但我仍然收到相同的消息。

Answers:


19

100MB足够用于2个内核和一个初始化ramdisk。您可以通过执行以下命令查看当前已安装的内核:

dpkg -l 'linux-image-*' | grep '^ii'

输出示例:

ii  linux-image-2.6.35-28-generic        2.6.35-28.50                               Linux kernel image for version 2.6.35 on x86/x86_64
ii  linux-image-2.6.38-8-generic         2.6.38-8.42                                Linux kernel image for version 2.6.38 on x86/x86_64
ii  linux-image-generic                  2.6.38.8.22                                Generic Linux kernel image

在确认最新的内核正常工作之后,您可以删除以前的内核。在这种情况下,只有一个冗余内核:

sudo apt-get purge linux-image-2.6.35-28-generic

如果此过程由于先前的安装触发器而未能完成,请尝试在之前添加-f--fix-brokenpurge


2
清除每个旧内核时,会产生与我上面发布的错误相同的错误。
user3403 2011年

使用-f(强制操作)根本没有帮助。
Sridhar Ratnakumar 2013年

-f无论如何并不意味着用力

4

我建议您看看正在占用什么空间/boot/

find /boot/ -type f | xargs du | sort -n

然后,如果您发现大量的空间使用者,则可以查看他们来自哪个软件包:

dpkg -S /boot/some-large-file

如果不再需要该软件包,则可以将其删除。但是,请务必小心,不要删除所需的内容,尤其是引导加载程序(grub)和当前正在运行的内核。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.