linux多次升级以后系统中会存在大量不同版本的内核,而每个内核占用非常多的硬盘空间(一般一个内核300mb左右占用)。所以需要定期清理没用的内核,但最好保留最近两个内核,因为有的软件需要依赖特定内核而不一定是最新的。
首先查询当前我们使用的是内核是那个版本别删错了。
uname -a
第二:
查询系统中装了多少内核
dpkg --get-selections|grep linux
第三:
多余的内核可以通过命令删除 需要删除header和image
sudo apt-get remove linux-image-*.*.*-**(*号用你想删除的实际情况改写)
sudo apt-get remove linux-headers-*.*.*-**(*号用你想删除的实际情况改写)
第四:
执行完上面命令后再次执行
dpkg --get-selections|grep linux
查看内核是否都删除干净了。没干净继续删除。有的内核后面会显示是deinstall 那需要通过
dpkg --get-selections | grep deinstall | sed 's/deinstall/\lpurge/' | sudo dpkg --set-selections; sudo dpkg -Pa
通过上面方法就可以。
还有一种通过正则表达式匹配内核然后除最新的统统统统删除的。
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