升级内核时出现“gzip:stdout:设备上没有剩余空间”

升级内核时出现“gzip:stdout:设备上没有剩余空间”

尝试运行下面显示的命令时,我看到以下错误。我从某处读到我的 /boot 分区磁盘空间不足。如何增加 /boot 分区的大小以便安装更多软件?我有 500GB 的硬盘,所以有足够的空间可以使用。

sudo apt-get install libdvdread4

gzip: stdout: No space left on device                                                                                                                                                                              
   E: mkinitramfs failure cpio 141 gzip 1                                                                                                                                                                             
   update-initramfs: failed for /boot/initrd.img-3.2.0-33-generic with 1.                                                                                                                                             
   run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1                                                                                                                                        
   Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-3.2.0-33-generic.postinst line 1010.                                                                                                    
   dpkg: error processing linux-image-3.2.0-33-generic (--configure):                                                                                                                                                 
    subprocess installed post-installation script returned error exit status 2                                                                                                                                        
   dpkg: dependency problems prevent configuration of linux-image-server:                                                                                                                                             
   linux-image-server depends on linux-image-3.2.0-33-generic; however:                                                                                                                                              
     Package linux-image-3.2.0-33-generic is not configured yet.
   dpkg: error processing linux-image-server (--configure):
    dependency problems - leaving unconfigured
   dpkg: dependency problems prevent configuration of linux-server:
    linux-server depends on linux-image-server (= 3.2.0.33.36); however:
     Package linux-image-server is not configured yet.
   dpkg: error processing linux-server (--configure):
    dependency problems - leaving unconfigured
   No apport report written because the error message indicates its a followup error from a   previous failure.
                                                                                                          No apport report written because the error message indicates its a followup error from a previous failure.
 Errors were encountered while processing:
 linux-image-3.2.0-33-generic
 linux-image-server
 linux-server
N: Ignoring file 'michael-gruz-canon-precise.list.1' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension
N: Ignoring file 'michael-gruz-canon-precise.list.1' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension

下面列出的是du

Filesystem              1K-blocks      Used Available Use% Mounted on
/dev/mapper/ubuntu-root 712660664 104095912 572363692  16% /
udev                      3964792         4   3964788   1% /dev
tmpfs                     1591012      1064   1589948   1% /run
none                         5120         0      5120   0% /run/lock
none                      3977528       684   3976844   1% /run/shm
/dev/sda1                  233191    219821       929 100% /boot

答案1

您有一个单独的分区,/boot大小只有大约 227MB。此分区已满。

Ubuntu 为您提供 /boot 单独分区的原因似乎是您在驱动器的其余部分使用了 LVM 和/或“完整”磁盘加密。

/boot目录包含所有内核映像,因此导致此问题的原因可能是您安装了太多以前的内核。Ubuntu 会发布内核更新,即使对于长期稳定的版本,也会经常更改软件包名称中的版本号,因此如果您让系统保持最新状态,该/boot目录会随着时间的推移而增长。

你应该能够列出你安装的内核

aptitude search ~ilinux-image

(请注意,这也可能会返回非内核的包)。

通常不需要安装两个以上的内核 - 当前正在使用的内核和之前已知可以工作的内核(作为后备)。因此,您可以开始逐个删除较旧的内核,如下所示:

sudo apt-get autoremove linux-image-3.2.0-23-generic

确保将“3.2.0-23-generic”替换为要删除的实际内核版本!另外,不要删除诸如 之类的软件包linux-image-generic。您必须非常小心,不要删除当前正在运行的内核,否则您将无法启动(Ubuntu 可能会或可能不会警告您这样做)。

您可以使用以下命令找到当前正在运行的内核:

uname -r

以下是我刚刚解释的内容的图解指南。本文使用的工具略有不同,但方法基本相同。

答案2

我实际上想对 neon_overload 发表评论,但是 askubuntu 阻止我这样做。

我按照流程操作,但现在运行后包:linux-image-generic没有出现: aptitude search ~ilinux-image

现在我不知道如何继续-我正在 3.14 kenel 上运行:

$ uname -a
Linux ***** 3.13.1-031301-generic #201401291035 SMP Wed Jan 29 15:37:43 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

现在我不知道是否需要安装linux-image-generic我在 synaptic 包管理器中可以找到的 - 3.2 或安装查找linux-image-generic3.13 版本的

我已经通过以下方式解决了这个问题 -

  1. 使用 synaptic 包管理器安装linux-image-genericlinux-image
  2. 按照常规程序安装新内核 - 使用dpkg -i以下 3 个文件:

    ubuntu-pc:〜/下载/ kernel_3.13.1 $ ls linux-headers-3.13.1-031301_3.13.1-031301.201401291035_all.deb linux-headers-3.13.1-031301-generic_3.13.1-031301.201401291035_amd64.deb
    linux-image-3.13.1-031301-generic_3.13.1-031301.201401291035_amd64.deb

现在我的输出中有linux-image-generic和: 。linux-imageaptitude search ~ilinux-image

现在让我们试着交叉手指启动。

相关内容