ubuntu如何删除旧内核以节约硬盘空间
如果你的ubuntu经常更新Linux内核,那么这些不同的内核版本会占据大量空间.从下图中可以发现,在我的系统上内核模块一共占据了1.7GB的硬盘空间,一个内核有208MB左右.那么问题来了,如何删除旧的内核以腾出硬盘空间呢?今天我向各位展示三种不同的方法.
命令行方法
首先打开终端,输入uname -r命令,查看当前使用的是哪个版本的内核.
然后在终端中输入下面的命令找出当前系统上安装的所有内核版本.
dpkg -l | grep linux-image-
图中的rc表示软件包已经删除(Removed),但配置文件(Config-files)还在.ii表示已经安装(Installed).
当然,我们不能删除当前系统正在运行的内核.另外,建议保留前一个版本.另外的你就可以删除了.例如,我要删除上图中linux-imge-3.19.0-15-generic和linux-image-3.19.0-21-generic这两个内核,那么输入下面的命令.
sudo apt-get purge linux-image-3.19.0-15-generic linux-image-3.19.0-21-generic
最后更新grub启动项.有时候sudo apt-get purge运行后会自动更新grub启动项,那么你可以不运行下面的update-grub命令.
sudo update-grub 或者 sudo update-grub2
旧的内核头文件也可以找出来并删除。
dpkg -l | grep linux-headers
一些小技巧
如果你的旧内核太多,可以使用Bash shell的花括号扩展语法.如下面:
sudo apt-get purge linux-image-3.19.0-{22,23,25.26}
这将删除3.19.0.22 3.19.0.23 3.19.0.25 3.19.0.25 3.19.0.26版本的内核.这也将同时删除对应的linux-image-extra和linux-signed-image. linux-signed-image是EFI固件上用的内核.
如果你不小心把所有的内核都删除了,那么在下次重启之前,一定要执行一次下面的命令,否则系统会重启失败.
sudo apt-get install linux-image-[uname -r输出的内核版本]-generic
第二种方法: Synaptic包管理工具
安装Synaptic包管理工具
sudo apt-get install synaptic
打开Synaptic,在搜索框中输入linux-image查找安装了的Linux内核.右击你要删除的内核,然后将它Mark为要删除的.最后点击应用按钮.
第三种方法: Ubuntu-Tweak
首先,前往ubuntu-tweak官网下载deb安装包,然后输入下面的命令安装.
sudo apt-get install gdebi sudo gdebi ubuntu-tweak*.deb
打开ubuntu-tweak,选择Janitor标签,然后勾选old kernel,接下来就能选择你要删除的内核了,点击右下角的clean删除.注意,ubuntu-tweak不会显示当前正在运行的内核,以防用户不小心删除.
这次删掉旧的Linux内核给我的硬盘腾出了1.3G的空间.