删除Linux多余内核
还记得曾经一度有个牛人,几百个大大的linux启动项列表,据说从头到尾看一遍就需要10几分钟,哥有洁癖,内核升级完后,如果使用稳定,过个几天就会清理掉(因为有时在安装新系统的时候可能boot分的不是很大,在update的时候,老是提示说boot分区大小不够,清理掉就瞬间OK了),不过最近的grub做的比较人性了,以前都是满屏的内核版本,现在除了最新的,其他的都放在一个Previous Linux Version
了,就像微信里面的公众号放到一个文件夹里面,世界瞬间安静了很多。
Debian系列–适用于Ubuntu、LinuxMint等
第一种方法
找出系统已经安装的内核版本,在终端里输入命令:
1 | dpkg –get-selections | grep linux-image |
然后会显示系统中已安装的内核.
卸载旧的内核版本,在终端里输入命令:
1 | sudo apt-get remove linux-image-*** |
注意不要把最新的内核给删除掉哟,我没有测试过,不知道会出现嘛情况,你可以手一哆嗦小试一下撒。
删除内核后,运行下属命令,直接重启也可以。
1 | update-grub |
第二种方法
在图像界面下,可以使用新立得软件包管理器删除
- 点菜单“系统-系统管理-新立得软件包管理器”;
- 以2.6.32-21版本的内核为例,内核文件里包括:linux-headers-2.6.32-21、linux-headers- 2.6.32-21-generic、linux-image-2.6.32-21-generic、linux-restricted-modules-2.6.32-21-generic、linux-ubuntu-modules-2.6.32-21-generic;
- 在新立得中,点工具栏上的“搜索”按钮,在出来的搜索框中输入 linux 2.6.32-21 ,注意linux后面有一个空格
Redhat系列–适用于CentOS、Fedora等
第一种方法
首先列出系统中正在使用的内核:
1 | uname -a |
查询系统中全部的内核:
1 | # rpm -qa | grep kernel |
将你想删除的内核删除掉🙁例如,在我的系统中,我要删掉kernel-2.6.32-279.9.1.el6.x86_64的内核,需要把所有含有kernel-2.6.32-279.9.1.el6.x86_64字样的全部删掉)
1 | #yum remove kernel-2.6.32-279.9.1.el6.x86_64 |
重启后就可以看到,内核被删掉了,同时多余的启动项也自动被删掉了。
第二种方法
手动修改/boot/grub/menu.lst
把多余的项删除,但是这个指标不治本哟。
第三种方法 – 力荐
查看已经安装的内核命令:
1 | rpm -q kernel |
删除旧的内核
安装yum-utls:
1 | sudo install yum-utils |
设置你想要保留多少旧的内核,比如我想保留两个:
1 | sudo package-cleanup –oldkernels –count=2 |
设置永久的内核安装数量,我设置的是两个
1 | sudo gedit /etc/yum.conf |
重启,就只会看见两个内核启动项了。
第四种方法
删除除当前内核外的其他所有内核,一条命令即可解决:
1 | yum remove kernel |