感谢支持
我们一直在努力

清理Ubuntu老内核的小脚本

Ubuntu用久了,升级了几次内核以后,就免不了需要清理一下老的内核,毕竟一套内核就有170多M的空间呢。但是每次都打一堆字来清理也烦了。虽然Ubuntu 命令技巧(这里再罗嗦几句:如果还有Ubuntuer没看过这个,强烈建议看一遍。)里有删除旧内核的命令,而且就一行:

sudo aptitude purge ~ilinux-image-.*\(\!`uname -r`\)

但是我却不是很喜欢,因为这这个没有把linux-headers-xxx删除掉。
于是自己写了个繁的,需要的可以自己保存,以便不时之需。

#!/bin/sh
# 清理ubuntu的老内核
# by bones7456
# http://li2z.cn
CURRENT=`uname -r | awk -F”-” ‘{print $1″-“$2}’`
HEADERS=“”
IMAGES=“”
for HEADER in `dpkg –get-selections | grep ^linux-headers | \
grep -vE “(generic|386|virtual)” | awk ‘{gsub(/linux-headers-/,””,$1);print $1}’`
do
if [[ $CURRENT < $HEADER ]]
then
echo “正在运行的内核不是最新的。 $CURRENT < $HEADER
echo “Running kernel is not the newest. $CURRENT < $HEADER
exit 1
else
[[ $CURRENT != $HEADER ]] && {
HEADERS=${HEADERS} linux-headers-${HEADER}
IMAGE=`dpkg –get-selections | grep ^linux-image | \
grep “${HEADER}” | awk ‘{print $1}’`

IMAGES=${IMAGES} $IMAGE
}
fi
done
 
if [[ x$HEADERS == x“” ]]
then
echo “没有要清理的老内核.”
echo “No old kernel need to clean.”
exit 0
fi
CMD=“sudo apt-get purge $HEADERS $IMAGES
echo $CMD
if [ “$1” == “-e” ]
then
sh -c $CMD
else
echo “请确定以上命令是否正确,然后输入 $0 -e 来执行以上命令。”
echo “Be sure this command is right, then type $0 -e to execute.”
fi

赞(0) 打赏
转载请注明出处:服务器评测 » 清理Ubuntu老内核的小脚本
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏