Fedora 14 经常更新会在启动界面显示一些旧的linux内核选项,如何删除不需要的内核选项;
1、使用Root 权限登录
#su
2、查看当前使用的内核
#uname -r
3、使用下面命令查看当前的内核,找出需要删除的陈旧内核
#rpm -qa | grep kernel
4、删除陈旧内核
#rpm -e kernel-2.6.35.10-74.fc14.x86_64
以下代码为使用Python 实现的shell
- #!/usr/bin/python2.7
- # -*- coding: UTF-8 -*-
- #添加中文注释必须加上一行,不加会出错哦
- #import os
- import sys
- import re
- import commands
- cmd = 'rpm -qa | grep kernel'
- #执行命令
- """
- 下列代码也可实现执行命令
- output = os.popen('rpm -qa | grep kernel')
- kenel_list = output.readlines()
- """
- (status, output) = commands.getstatusoutput(cmd)
- if status == 0 :
- print '执行 %s 成功'%(cmd)
- else:
- print "ERROR: status = %d" % ( status )
- sys.exit(0)
- #将字符串切割成list
- kenel_list = output.split('\n')
- kernel_list = list()
- #匹配kernel
- for i in kenel_list:
- if re.search('kernel-2.6',i) :
- kernel_list.append(i)
- #获取list中最新的kernel
- max_kernel = max(kernel_list)
- #删除陈旧的kernel
- for i in range(0,len(kernel_list)):
- list_value = kernel_list[i]
- if cmp( max_kernel ,list_value ) != 0 :
- #del kernel_list[i]
- (status,output ) = commands.getstatusoutput('rpm -e ' + kernel_list[i])
- print (status,output)
- if status != 0:
- sys.exit(0)
- else:
- print kernel_list[i]
- else:
- print "当前kernel 已是最新内核 : %s " %(kernel_list[i])
- print "Done"