经常升级Linux内核,导致更新时警告/boot分区空间不足。这是以为多次升级内核后,导致内核版本太多,清理一下没用的内核文件就行了。

1. 查看安装的内核
(1)使用命令:dpkg --get-selections | grep linux-image
sunskys@Q:~$ dpkg --get-selections |grep linux-image linux-image-4.2.0-16-generic install linux-image-4.2.0-30-generic install linux-image-extra-4.2.0-16-generic install linux-image-extra-4.2.0-30-generic install linux-image-generic install
(2)使用命令:dpkg -l 'linux-image-*' | grep '^ii'
sunskys@Q:~$ dpkg -l 'linux-image-*' | grep '^ii' ii linux-image-4.2.0-16-generic 4.2.0-16.19 amd64 Linux kernel image for version 4.2.0 on 64 bit x86 SMP ii linux-image-4.2.0-30-generic 4.2.0-30.36 amd64 Linux kernel image for version 4.2.0 on 64 bit x86 SMP ii linux-image-extra-4.2.0-16-generic 4.2.0-16.19 amd64 Linux kernel extra modules for version 4.2.0 on 64 bit x86 SMP ii linux-image-extra-4.2.0-30-generic 4.2.0-30.36 amd64 Linux kernel extra modules for version 4.2.0 on 64 bit x86 SMP ii linux-image-generic 4.2.0.30.33 amd64 Generic Linux kernel image
建议先卸载比较老的内核,不需要的可以删除。正常情况下,除正在使用的其它的都可以卸载,但是由于考虑到刚升级的版本可能不稳定,所以最好保留1-2个旧版本备用。

2. 查看正在使用的内核

sunskys@Q:~$ uname -a Linux Q 4.2.0-30-generic #36-Ubuntu SMP Fri Feb 26 00:58:07 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
通过使用如上命令我们可以知道我们系统正在使用的Linux内核是4.2.0-30-generic 版本。

3. 卸载旧内核

sunskys@Q:~$ sudo apt-get purge linux-image-4.2.0-16-generic 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 下列软件包是自动安装的并且现在不需要了: libkeybinder-3.0-0 pastebinit 使用'apt-get autoremove'来卸载它(它们)。 下列软件包将被【卸载】: linux-image-4.2.0-16-generic* linux-image-extra-4.2.0-16-generic* 升级了 0 个软件包,新安装了 0 个软件包,要卸载 2 个软件包,有 103 个软件包未被升级。 解压缩后将会空出 213 MB 的空间。 您希望继续执行吗? [Y/n] y (正在读取数据库 ... 系统当前共安装有 256049 个文件和目录。) 正在卸载 linux-image-extra-4.2.0-16-generic (4.2.0-16.19) ... run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.2.0-16-generic /boot/vmlinuz-4.2.0-16-generic run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.2.0-16-generic /boot/vmlinuz-4.2.0-16-generic update-initramfs: Generating /boot/initrd.img-4.2.0-16-generic run-parts: executing /etc/kernel/postinst.d/pm-utils 4.2.0-16-generic /boot/vmlinuz-4.2.0-16-generic run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.2.0-16-generic /boot/vmlinuz-4.2.0-16-generic run-parts: executing /etc/kernel/postinst.d/update-notifier 4.2.0-16-generic /boot/vmlinuz-4.2.0-16-generic run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.2.0-16-generic /boot/vmlinuz-4.2.0-16-generic Generating grub configuration file ... Found linux image: /boot/vmlinuz-4.2.0-30-generic Found initrd image: /boot/initrd.img-4.2.0-30-generic Found linux image: /boot/vmlinuz-4.2.0-16-generic Found initrd image: /boot/initrd.img-4.2.0-16-generic Found memtest86+ image: /memtest86+.elf Found memtest86+ image: /memtest86+.bin Found Windows 7 (loader) on /dev/sda1 done

具体卸载哪个要根据自己查看的具体情况去卸载