当我们使用yum update 更新系统时,系统默认会检查所有软件包的可用更新,然而在有些时候,一些内核相关、稳定的软件包等,我们都不会去更新它。因为在升级这些软件包的时候,服务可能会终止,而且还会冒着升级后系统不稳定的风险。

其实要想制定某些软件不升级,只需修改yum 的配置文件

/etc/yum/yum.conf /etc/yum.conf

编辑该文件,在其中加入 exclude 配置项就能实现这个功能。而且该配置项还支持 * 和 ? 这两个通配符。

以kernel和mysql相关的软件为例对实现的步骤加以说明:

  1. # vi /etc/yum .conf 
在文件中加入下面配置顶:
 
  1. exclude=mysql* kernel*  

修改后的 /etc/yum.conf :

  1. [main]  
  2. cachedir=/var/cache/yum  
  3. keepcache=0 
  4. debuglevel=2 
  5. logfile=/var/log/yum.log  
  6. distroverpkg=redhat-release  
  7. tolerant=1 
  8. exactarch=1 
  9. obsoletes=1 
  10. gpgcheck=1 
  11. plugins=1 
  12. bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum  
  13. exlude=mysql* kernel* 
  14.  
  15. # Note: yum-RHN-plugin doesn't honor this.  
  16. metadata_expire=1h 
  17.  
  18. installonly_limit = 5 
  19.  
  20. # PUT YOUR REPOS HERE OR IN separate files named file.repo  
  21. # in /etc/yum.repos.d  

 

这样,再次使用 yum update 命令升级系统的时候就不会再升级 mysql 及 kernel 相关的软件包了。

另外,yum命令本身还有一个 --exclude 选项,使用该选项也实现上述功能:

  1. # yum --exclude=mysql* update