我在网上搜索了一下,发现很多人都有几乎完全相同的问题,但在一些小方面与我不同。我已经尝试了几乎所有找到的解决方案,但没有任何效果。
每当使用 时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 -r
是4.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