PS:由于我可能尚未发布图片,我如何才能最好地提供正确的信息以供他人建议?

PS:由于我可能尚未发布图片,我如何才能最好地提供正确的信息以供他人建议?

我不断收到紧急错误消息,告诉我我的 BOOT 卷已满!我该如何安全地清理它?请注意,我是 Linux 新手。

其结果如下uname -a

Linux ESPRIMO-E3500 3.13.0-53-generic #89-Ubuntu SMP Wed May 20 10:34:28 UTC 2015 i686 i686 i686 GNU/Linux

我安装了Synaptic 包管理器并查看了状态窗口“自动可移除”:
有类似的东西System.map-3.13.0-46-generic

但是我可以删除其中哪一个(如果有的话)?
在此先感谢您的帮助!

PS:由于我可能尚未发布图片,我如何才能最好地提供正确的信息以供他人建议?

按照要求:

$ dpkg -l | grep linux-image-
rc  linux-image-3.13.0-30-generic                         3.13.0-30.55                                        i386         Linux kernel image for version 3.13.0 on 32 bit x86 SMP
ii  linux-image-3.13.0-46-generic                         3.13.0-46.79                                        i386         Linux kernel image for version 3.13.0 on 32 bit x86 SMP
ii  linux-image-3.13.0-48-generic                         3.13.0-48.80                                        i386         Linux kernel image for version 3.13.0 on 32 bit x86 SMP
ii  linux-image-3.13.0-49-generic                         3.13.0-49.83                                        i386         Linux kernel image for version 3.13.0 on 32 bit x86 SMP
ii  linux-image-3.13.0-51-generic                         3.13.0-51.84                                        i386         Linux kernel image for version 3.13.0 on 32 bit x86 SMP
ii  linux-image-3.13.0-52-generic                         3.13.0-52.86                                        i386         Linux kernel image for version 3.13.0 on 32 bit x86 SMP
ii  linux-image-3.13.0-53-generic                         3.13.0-53.89                                        i386         Linux kernel image for version 3.13.0 on 32 bit x86 SMP
rc  linux-image-extra-3.13.0-30-generic                   3.13.0-30.55                                        i386         Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
ii  linux-image-extra-3.13.0-46-generic                   3.13.0-46.79                                        i386         Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
ii  linux-image-extra-3.13.0-48-generic                   3.13.0-48.80                                        i386         Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
ii  linux-image-extra-3.13.0-49-generic                   3.13.0-49.83                                        i386         Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
ii  linux-image-extra-3.13.0-51-generic                   3.13.0-51.84                                        i386         Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
ii  linux-image-extra-3.13.0-52-generic                   3.13.0-52.86                                        i386         Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
iF  linux-image-extra-3.13.0-53-generic                   3.13.0-53.89                                        i386         Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
iU  linux-image-generic                                   3.13.0.53.60                                        i386         Generic Linux kernel image

因此,当我运行“sudo apt-get autoremove”时,响应现在是:

正在读取软件包列表...完成正在构建依赖关系树
正在读取状态信息...完成已升级 0 个软件包,新安装 0 个软件包,要删除 0 个软件包,未升级 0 个软件包。

顺便说一下,我确实手动删除了 /boot 中的几个较旧的 linux-image 文件。

现在输出为“apt-get 更新apt-get dist-upgrade

20 秒内获取 1166 kB(56,0 kB/s)
正在读取软件包列表...完成

sudo apt-get dist-upgrade 正在读取软件包列表...完成 正在构建依赖关系树
正在读取状态信息...完成 正在计算升级...完成 0 个升级,0 个新安装,0 个要删除,0 个未升级。

只是为了清楚了解当前的情况:

设备:/dev/sda1 大小:255 MB — 39 MB 可用(84.6%已用)

设备:/dev/zorin-os-vg/swap_1 内容:交换(版本 2)— 活动 大小:1.6 GB(1602224128 字节)

uname -r:sudo uname -r 3.13.0-62-通用

dpkg -l | grep linux-image-

rc linux-image-3.13.0-57-generic 3.13.0-57.95
rc linux-image-3.13.0-58-generic 3.13.0-58.97
rc linux-image-3.13.0-59-generic 3.13.0-59.98
rc linux-image-3.13.0-61-generic 3.13.0-61.100 ii linux-image-3.13.0-62-generic 3.13.0-62.102
rc linux-image-extra-3.13.0-57-generic 3.13.0-57.95
rc linux-image-extra-3.13.0-58-generic 3.13.0-58.97 rc linux-image-extra-3.13.0-59-通用 3.13.0-59.98
rc linux-image-extra-3.13.0-61-通用 3.13.0-61.100
ii linux-image-extra-3.13.0-62-通用 3.13.0-62.102
ii linux-image-通用 3.13.0.62.69

奇怪的是(或者可能不是)我仍然收到 /Boot 已满的消息。

因此,为了检查状态,我使用了:df -Th | sort 结果:

/dev/mapper/zorin--os--vg-root ext4 145G 8,9G 129G 7% / /dev/sda1 ext2 236M 235M 0 100% /boot /dev/sdb vfat 967M 233M 735M 25% /media/home/SAN 文件系统 类型 大小 已用 可用 使用率% 挂载于 无 tmpfs 100M 24K 100M 1% /run/user 无 tmpfs 4,0K 0 4,0K 0% /sys/fs/cgroup 无 tmpfs 5,0M 0 5,0M 0% /run/lock 无 tmpfs 750M 80K 750M 1% /run/shm tmpfs tmpfs 150M 1,4M 149M 1% /run udev devtmpfs 737M 4,0K 737M 1% /dev

然后我再次搜索最新的 Keernel 文件:

uname -r 3.13.0-63-通用

运行: ls /usr/src | grep linux-headers 似乎表明我已经清除了所有不需要的内核:

linux-headers-3.13.0-62 linux-headers-3.13.0-62-通用 linux-headers-3.13.0-63 linux-headers-3.13.0-63-通用

奇怪的是,如果我运行:dpkg -l | grep linux-image

我仍然看到所有列表,例如:

rc linux-image-3.13.0-57-通用 3.13.0-57.95 rc linux-image-3.13.0-58-通用 3.13.0-58.97 rc linux-image-3.13.0-59-通用 3.13.0-59.98

尽管运行了各种清除命令,情况仍然如此。

因此有人建议运行:sudo apt-get dist-upgrade 来清除除最后一个内核之外的所有内容。

结果:

gzip:标准输出:设备上没有剩余空间 E:mkinitramfs 失败 cpio 141 gzip 1 update-initramfs:/boot/initrd.img-3.13.0-63-generic 失败,1。run-parts:/etc/kernel/postinst.d/initramfs-tools 退出,返回代码为 1 dpkg:错误处理软件包 linux-image-extra-3.13.0-63-generic (--configure):子进程安装后安装脚本返回错误退出状态 1 dpkg:依赖性问题阻止 linux-image-generic 的配置:linux-image-generic 依赖于 linux-image-extra-3.13.0-63-generic;但是:软件包 linux-image-extra-3.13.0-63-generic 尚未配置。

dpkg:错误处理软件包 linux-image-generic (--configure):依赖性问题 - 未配置未写入 apport 报告,因为错误消息表明它是先前故障的后续错误。E:子进程 /usr/bin/dpkg 返回错误代码 (1)

因此,当我使用以下命令检查时,似乎我的 /boot 中仍然有很多文件ls -alhR /boot

我发现几个旧的内核文件仍然存在:

-rw-r--r-- 1 root root 1,2M 7 月 25 日 01:11 abi-3.13.0-59-generic -rw-r--r-- 1 root root 1,2M 7 月 29 日 14:40 abi-3.13.0-61-generic -rw-r--r-- 1 root root 166K 7 月 25 日 01:11 config-3.13.0-59-generic -rw-r--r-- 1 root root 166K 7 月 29 日 14:40 config-3.13.0-61-generic -rw-r--r-- 1 root root 27M 7 月 28 日 02:40 initrd.img-3.13.0-59-generic -rw-r--r-- 1 root root 27M 8 月 6 日03:09 initrd.img-3.13.0-61-generic -rw------- 1 root root 2,6M 7 月 25 日 01:11 System.map-3.13.0-59-generic -rw------- 1 root root 2,6M 7 月 29 日 14:40 System.map-3.13.0-61-generic -rw------- 1 root root 5,6M 7 月 25 日 01:11 vmlinuz-3.13.0-59-generic -rw------- 1 root root 5,6M 7 月 29 日 14:40 vmlinuz-3.13.0-61-generic

我刚刚跑了:sudo apt-get 更新sudo apt-get 自动删除

结果:

正在读取软件包列表... 完成 正在构建依赖关系树
正在读取状态信息... 完成 已升级 0 个软件包,新安装了 0 个软件包,要删除 0 个软件包,未升级 2 个软件包。2 个软件包未完全安装或删除。此操作后,将使用 0 B 的额外磁盘空间。设置 linux-image-extra-3.13.0-63-generic (3.13.0-63.103) ... run-parts:执行 /etc/kernel/postinst.d/apt-auto-removal 3.13.0-63-generic /boot/vmlinuz-3.13.0-63-generic run-parts:执行 /etc/kernel/postinst.d/dkms 3.13.0-63-generic /boot/vmlinuz-3.13.0-63-generic run-parts:执行 /etc/kernel/postinst.d/initramfs-tools 3.13.0-63-generic /boot/vmlinuz-3.13.0-63-generic update-initramfs:生成 /boot/initrd.img-3.13.0-63-generic

gzip:stdout:设备 E 上没有剩余空间:mkinitramfs 失败 cpio 141 gzip 1 update-initramfs:/boot/initrd.img-3.13.0-63-generic 失败,1。run-parts:/etc/kernel/postinst.d/initramfs-tools 退出,返回代码为 1 dpkg:错误处理软件包 linux-image-extra-3.13.0-63-generic(--configure):子进程安装后安装脚本返回错误退出状态 1 dpkg:依赖性问题阻止 linux-image-generic 的配置:linux-image-generic 依赖于 linux-image-extra-3.13.0-63-generic;但是:软件包 linux-image-extra-3.13.0-63-generic 尚未配置。

dpkg:错误处理软件包 linux-image-generic (--configure):依赖性问题 - 未配置 未写入 apport 报告,因为错误消息表明它是上一次失败的后续错误。处理时遇到错误:linux-image-extra-3.13.0-63-generic linux-image-generic E:子进程 /usr/bin/dpkg 返回错误代码 (1)

继续寻找解决方案并找到这个命令“脚本”

dpkg-l'linux-' | sed '/^ii/!d;/'"$(uname -r | sed "s/(.)-([^0-9]+)/\1/")"'/d;s/^[^ ]* [^ ]* ([^ ])。/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

运行此命令时,它显示:将删除以下软件包:linux-headers-3.13.0-62* linux-headers-3.13.0-62-generic* linux-image-3.13.0-62-generic* linux-image-extra-3.13.0-62-generic* 已升级 0 个软件包,新安装 0 个软件包,要删除 4 个软件包,未升级 0 个软件包。2 个软件包未完全安装或删除。执行此操作后,将释放 223 MB 磁盘空间。

确实如此,因为这些文件再也找不到了。但它还说:

正在生成 grub 配置文件... 找到主题:/boot/grub/themes/Zorin/theme.txt 找到 linux 映像:/boot/vmlinuz-3.13.0-63-generic 找到 initrd 映像:/boot/initrd.img-3.13.0-63-generic 找到 linux 映像:/boot/vmlinuz-3.13.0-61-generic 找到 initrd 映像:/boot/initrd.img-3.13.0-61-generic 找到 linux 映像:/boot/vmlinuz-3.13.0-59-generic 找到 initrd 映像:/boot/initrd.img-3.13.0-59-generic 找到 memtest86+ 映像:/memtest86+.elf 找到 memtest86+ 映像:/memtest86+.bin 完成

在这里我再次看到了旧的 3.13.0-59-generic 和 3.13.0-61-generic,它们显然仍然占用了不必要的空间。

还剩下两个问题……

一、我该如何适应dpkg-l'linux-' | sed '/^ii/!d;/'"$(uname -r | sed "s/(.)-([^0-9]+)/\1/")"'/d;s/^[^ ]* [^ ]* ([^ ])。/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

那么它也会删除这些旧的内核文件吗?

二 - 似乎最佳做法是在计算机上安装至少两个最新的内核,而我刚刚擦除了其中一个,我还能重新安装“3.13.0-62-generic”吗?如何安装?

一如既往地感谢您的帮助。


感谢所有的帮助我的人。

不太确定我是否已经决定了最好的方法,但我现在倾向于使用:

sudo apt-get 更新;sudo apt-get dist-upgrade;sudo apt-get autoremove

时不时地。

不过,我还是需要找到一种方法来增加我的启动分区的大小,因为我有点怀疑上述方法将来是否足够。

此致

答案1

我假设您有一个单独的 /boot 分区。随着您升级内核,这种情况会随着时间的推移而发生。根据我的经验,如果您在运行时收到一条错误消息,提示您没有剩余空间,dist-upgrade您可以运行:

sudo apt-get autoremove

然后系统将删除旧内核并安装新内核。如果你想删除不使用的内核,你可以通过搜索linux-headers和轻松使用 synaptic。Synapticlinux-image将显示你拥有的所有内核,你可以右键单击每个内核并单击mark for removal。只需确保不要删除全部删除所有文件,只留下最新的(最好保留一份,以防万一出现问题,这样您就可以恢复原状)。

答案2

开始执行此命令来检查您正在运行哪个版本:

uname -r

然后检查当前安装的 Linux 标头和映像:

dpkg -l | grep -Ei "linux-headers|linux-image"

最后清除旧版本(这里是 3.13.0-30):

sudo apt-get remove linux-headers-3.13.0-30 linux-headers-3.13.0-30-generic linux-image-3.13.0-30-generic linux-image-extra-3.13.0-30-generic --purge

笔记 :请注意,不要清除您正在运行的当前版本。另外,请尽量保留一两个旧版本以防万一。

相关内容