E:每当使用 apt-get 时,子进程 /usr/bin/dpkg 返回错误代码 (1)

E:每当使用 apt-get 时,子进程 /usr/bin/dpkg 返回错误代码 (1)

我在网上搜索了一下,发现很多人都有几乎完全相同的问题,但在一些小方面与我不同。我已经尝试了几乎所有找到的解决方案,但没有任何效果。

每当使用 时apt-get,我都会遇到一个大错误,我不会发布整个输出,因为它有多大,但它以

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-4.4.0-103-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
dpkg: error processing package linux-image-extra-4.4.0-103-generic (--configure):
 subprocess installed post-installation script returned error exit status 1
No apport report written because MaxReports is reached already

Errors were encountered while processing:
 linux-firmware
 linux-image-4.4.0-104-generic
 linux-image-extra-4.4.0-104-generic
 linux-image-generic-lts-xenial
 linux-generic-lts-xenial
 linux-image-extra-4.4.0-103-generic`

E: Sub-process /usr/bin/dpkg returned an error code (1)

我花了几个小时试图找到解决方案,但没有任何效果,许多建议使用等方法,但考虑到每次我使用时都会遇到同样的错误,sudo apt-get autoclean这不起作用。apt-get

的输出uname -r4.4.0-103-generic

我的 /boot 目录中的文件是

abi-4.4.0-103-generic         lost+found
abi-4.4.0-104-generic         memtest86+.bin
config-4.4.0-103-generic      memtest86+.elf
config-4.4.0-104-generic      memtest86+_multiboot.bin
grub                          System.map-4.4.0-103-generic
initrd.img-4.4.0-101-generic  System.map-4.4.0-104-generic
initrd.img-4.4.0-103-generic  vmlinuz-4.4.0-103-generic
initrd.img-4.4.0-97-generic   vmlinuz-4.4.0-104-generic
initrd.img-4.4.0-98-generic

我已经有一段时间遇到这个问题了,但试图忽略它,因为它并没有真正影响我的正常浏览和使用,尽管考虑到我现在甚至无法正确更新我的系统,它已经成为一个问题。有人有解决办法吗?如有必要,我可以发布更多完整输出

答案1

gzip:标准输出:设备上没有剩余空间

您需要删除旧内核。但你应该保留最新的4.4.0-103-generic

执行以下命令后,该命令sudo apt --purge autoremove将删除旧内核及其:linux-headers

sudo dpkg --configure -a

然后 :

sudo apt --purge autoremove

或者您可以手动删除旧内核:

sudo apt --purge remove linux-image-4.4.0-101-generic
sudo apt --purge remove linux-image-4.4.0-98-generic
sudo apt --purge remove linux-image-4.4.0-97-generic

同时删除linux-headers与已删除的linux-image包关联的内容。

您可以使用purge-old-kernels安装包后byobu

sudo apt install byobu
sudo purge-old-kernels

描述

  This program will remove  old  kernel  and  header  packages  from  the
   system, freeing disk space.  It will never remove the currently running
   kernel.  By default, it will keep at least the latest  2  kernels,  but
   the  user  can  override  that  value  using the --keep parameter.  Any
   additional parameters will be passed directly to apt-get(8).

该程序需要管理访问权限。

例子

sudo purge-old-kernels --keep 3 -qy

相关内容