清理Ubuntu冗余内核的脚本

用过Ubuntu的都知道Ubuntu会定期更新系统,升级系统内核,导致开机启动菜单出现多个内核版本,这样不但看起来不清爽,而且冗余内核还占着磁盘空间构成浪费,需要用户去手动删除这些没用的旧内核。

删除的时候需要记几个命令,还要一个一个去对应内核版本,比较麻烦,而一旦一个不小心,删除掉了当前系统内核,麻烦就更大了,所以我们希望用一个脚本来实现这些功能,避免不必要的麻烦。

ubuntu-core.jpg

在提供脚本前,先看几个手动删除时需要的命令:

1、查看当前系统中的内核——查看当前系统中存在哪些内核版本

dpkg –get-selections | grep “linux-image”

2、查看当前系统的版本——查看当前系统的版本号以免误删系统

uname -r

3、删除冗余的内核版本——删除非当前内核的其它的内核版本

sudo apt-get remove –purge linux-image-**********

最后再使用sudo apt-get autoremove命令删除/usr/src下的源码及头文件目录,使用sudo apt-get autoclean自动清理系统。

主要命令介绍完了,再看这个脚本就很清楚了。

#!/bin/bash
CurCore="linux-image-`uname -r`"
CurCoreExtra="linux-image-extra-`uname -r`"
echo "清理无用的内核"
echo "当前内核是:$CurCore"
for i in `dpkg --get-selections|grep linux-image`
do
if [ "$i" != "install" ] && [ "$i" != "$CurCore" ]  && [ "$i" != "$CurCoreExtra" ] && [ "$i" != 'linux-image-generic' ];then
echo "删除无用的内核:$i"
sudo apt-get remove --purge $i
fi
done
echo "更新启动菜单"
sudo update-grub
sudo apt-get autoremove
sudo apt-get autoclean

将该脚本保存为autoclean.sh,然后打开终端定位到文件所在目录使这个文件可执行:

chmod +x autoclean.sh

最后执行脚本:

./autoclean.sh或sh autoclean.sh

根据脚本提示就可以清除掉冗余的内核,执行完成,重新系统后,可以看到在启动菜单中只剩一个内核版本了。

原文地址:http://xuhehuan.com/2213.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,926评论 0 5
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,593评论 9 467
  • 一、文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls...
    会飞的鱼Coo阅读 4,573评论 1 23
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,239评论 2 33
  • 一、文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件)ls -a 列出当前目录文件(包括隐含文件)l...
    路痴千行阅读 2,449评论 0 5