在debian上apt-get安装和升级失败

我有一个奇怪的错误,阻止我在Debian框上安装任何东西。

当我运行apt-get upgrade(或apt-get install)时,会产生这个错误信息:

# apt-get upgrade E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem. 

如果我这样做告诉我 – 运行dpkg --configure -a它会产生以下输出:

 # dpkg --configure -a Setting up initramfs-tools (0.93.4) ... update-initramfs: deferring update (trigger activated) Processing triggers for initramfs-tools ... update-initramfs: Generating /boot/initrd.img-2.6.26-2-686 gzip: stdout: No space left on device update-initramfs: failed for /boot/initrd.img-2.6.26-2-686 dpkg: subprocess installed post-installation script returned error exit status 1 

如果我做了一个df -h /boot它表明分区已经满了:

 # df -h /boot Filesystem Size Used Avail Use% Mounted on /dev/sda1 38M 31M 5.5M 85% /boot 

如果我检查目录,似乎有相当多的东西是重复的:

 # ls -la /boot total 26495 drwxr-xr-x 4 root root 1024 2009-11-02 05:00 . drwxr-xr-x 22 root root 4096 2009-10-25 07:46 .. -rw-r--r-- 1 root root 70682 2009-08-20 23:14 config-2.6.18-6-686 -rw-r--r-- 1 root root 91690 2009-08-19 11:49 config-2.6.26-2-686 drwxr-xr-x 2 root root 1024 2009-09-20 15:48 grub -rw-r--r-- 1 root root 4495693 2009-09-20 15:32 initrd.img-2.6.18-6-686 -rw-r--r-- 1 root root 4495471 2008-12-18 12:50 initrd.img-2.6.18-6-686.bak -rw-r--r-- 1 root root 7175680 2009-09-20 15:54 initrd.img-2.6.26-2-686 -rw-r--r-- 1 root root 6239705 2009-09-20 15:48 initrd.img-2.6.26-2-686.bak drwx------ 2 root root 12288 2008-08-29 12:21 lost+found -rw-r--r-- 1 root root 723580 2009-08-21 05:08 System.map-2.6.18-6-686 -rw-r--r-- 1 root root 928010 2009-08-19 11:49 System.map-2.6.26-2-686 -rw-r--r-- 1 root root 1261508 2009-08-21 05:08 vmlinuz-2.6.18-6-686 -rw-r--r-- 1 root root 1506032 2009-08-19 11:48 vmlinuz-2.6.26-2-686 

任何人都可以帮助我摆脱这种苦难吗? 😉

作为一个权宜之计,你可以删除/boot中的.bak文件,但是我真的build议得到一个更大的/boot分区。 正如你所发现的那样,38MB是有点苗条的,最后你想做的事情是核心,你需要。

你正在运行什么内核? 你可以通过uname -a来检查。 获得这些信息后,可以删除与当前内核版本不匹配的config-,initrd.img-,System.map-和vmlinuz-文件。

为了小心,不要实际删除这些文件。 如果可能的话,只是将它们复制到另一个分区。

另一个select是创build一个新的/ boot分区,这个分区会比现有的分区大一些。