Welcome 微信登录

首页 / 操作系统 / Linux / 清理Ubuntu老内核的小脚本

Ubuntu用久了,升级了几次内核以后,就免不了需要清理一下老的内核,毕竟一套内核就有170多M的空间呢。但是每次都打一堆字来清理也烦了。虽然Ubuntu 命令技巧(这里再罗嗦几句:如果还有Ubuntuer没看过这个,强烈建议看一遍。)里有删除旧内核的命令,而且就一行:sudo aptitude purge ~ilinux-image-.*(!`uname -r`)但是我却不是很喜欢,因为这这个没有把linux-headers-xxx删除掉。
于是自己写了个繁的,需要的可以自己保存,以便不时之需。#!/bin/sh# 清理ubuntu的老内核# by bones7456# http://li2z.cnCURRENT="`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}"`doif [[ "$CURRENT" < "$HEADER" ]]thenecho "正在运行的内核不是最新的。 $CURRENT < $HEADER"echo "Running kernel is not the newest. $CURRENT < $HEADER"exit 1else[[ "$CURRENT" != "$HEADER" ]] && {HEADERS="${HEADERS} linux-headers-${HEADER}"IMAGE="`dpkg --get-selections | grep ^linux-image | grep "${HEADER}" | awk "{print $1}"`"IMAGES="${IMAGES} $IMAGE"}fidone if [[ x"$HEADERS" == x"" ]]thenecho "没有要清理的老内核."echo "No old kernel need to clean."exit 0fiCMD="sudo apt-get purge $HEADERS $IMAGES"echo "$CMD"if [ "$1" == "-e" ]thensh -c "$CMD"elseecho "请确定以上命令是否正确,然后输入 $0 -e 来执行以上命令。"echo "Be sure this command is right, then type $0 -e to execute."fi五款Linux操作系统能用的浏览器推荐分享:一些Linux入侵常用命令相关资讯      Ubuntu教程 
  • Ubuntu教程 - 使用Ubuntu拷贝CD和  (12/18/2013 14:38:16)
  • 让Ubuntu 12.10支持RAR和7Z文件解  (11/15/2012 18:51:50)
  • Windows 7硬盘安装Ubuntu 12.10图  (11/03/2012 19:22:47)
  • 完美安装Ubuntu 12.10最新AMD显卡  (11/27/2012 08:17:47)
  • Win 7硬盘安装Ubuntu 12.10  (11/05/2012 13:30:34)
  • 虚拟机上Ubuntu 11.10升级到12.04  (10/12/2012 20:00:38)
本文评论 查看全部评论 (0)
表情: 姓名: 字数