说明:
当我运行 dist-upgrade 时,我遇到了以下详细信息的问题
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US:",
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LC_TERMINAL = "iTerm2",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Setting up initramfs-tools (0.136ubuntu6.6) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.136ubuntu6.6) ...
update-initramfs: Generating /boot/initrd.img-4.15.0-112-generic
W: Possible missing firmware /lib/firmware/ast_dp501_fw.bin for module ast
Error 24 : Write error : cannot write compressed block
E: mkinitramfs failure lz4 -9 -l 24
update-initramfs: failed for /boot/initrd.img-4.15.0-112-generic with 1.
dpkg: error processing package initramfs-tools (--configure):
installed initramfs-tools package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
任何人都可以解决这个问题吗?
隐藏在所有输出中的真正错误消息是
Write error : cannot write compressed block
,以压倒性优势被发现是可用空间不足的结果,可用于创建新的 initramfs 映像。请记住,您需要为/boot
文件夹中的未压缩图像提供足够的空间,然后将其替换为压缩版本,但由于您使用的是 lz4 压缩算法,因此可能不会有很大的大小差异(我猜 < 20%,我)。我看到了几种不同的方法来改善你的问题,除了用细齿梳浏览 /boot 目录并寻找你可以安全地重新定位/删除的垃圾之外,这应该是你的第一种方法。
dpkg --list | grep '^linux-'
检查uname -r
. 如果您有一些满足该标准并且愿意为了成功完成包更新而放弃它们,只需在sudo dpkg --purge
.cd
到不同分区上的某个文件夹,或者如果这不可能并且你的 / tmp 文件夹是一个挂载的 tmpfs 分区,然后cd /tmp
),然后执行:如果您仍然遇到相同的错误并且您确定可用空间问题已得到解决,那么结论一定是 initramfs-tools 软件包确实存在问题,因为它当前存在于您的系统中,因此请尝试返回它使用以下命令序列恢复到原始状态: