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

  1. #!/usr/bin/python2.7  
  2. # -*- coding: UTF-8 -*-  
  3. #添加中文注释必须加上一行,不加会出错哦 
  4.  
  5. #import  os 
  6. import sys 
  7. import re 
  8. import commands 
  9.  
  10. cmd = 'rpm -qa | grep  kernel' 
  11.  
  12. #执行命令 
  13. """ 
  14. 下列代码也可实现执行命令 
  15. output =  os.popen('rpm -qa | grep  kernel') 
  16. kenel_list = output.readlines() 
  17. """ 
  18. (status, output) = commands.getstatusoutput(cmd) 
  19.  
  20.  
  21. if status == 0 : 
  22.     print '执行 %s 成功'%(cmd) 
  23. else
  24.     print "ERROR: status = %d" % ( status ) 
  25.     sys.exit(0
  26.  
  27. #将字符串切割成list 
  28.  
  29. kenel_list = output.split('\n'
  30. kernel_list = list() 
  31.  
  32. #匹配kernel 
  33. for i in kenel_list: 
  34.     if re.search('kernel-2.6',i)  : 
  35.         kernel_list.append(i) 
  36.  
  37. #获取list中最新的kernel 
  38. max_kernel = max(kernel_list) 
  39.  
  40. #删除陈旧的kernel 
  41. for i in range(0,len(kernel_list)): 
  42.     list_value = kernel_list[i] 
  43.     if cmp( max_kernel ,list_value ) != 0 : 
  44.         #del kernel_list[i] 
  45.         (status,output ) = commands.getstatusoutput('rpm -e ' + kernel_list[i]) 
  46.         print (status,output) 
  47.         if status != 0
  48.             sys.exit(0
  49.         else
  50.             print kernel_list[i] 
  51.     else
  52.         print "当前kernel 已是最新内核 : %s " %(kernel_list[i]) 
  53.  
  54. print "Done"