在更新系统的软件包时,发现如下错误:

[root@www]# yum -y update
Loaded plugins: fastestmirror
Setting up Update Process
Determining fastest mirrors
.
.
.
Error: Package: util-linux-ng-2.17.2-12.24.el6_8.1.x86_64 (updates)
           Requires: kernel >= 2.6.32-642
           Installed: kernel-2.6.32-279.el6.x86_64 (@anaconda-CentOS-201207061011.x86_64/6.3)
               kernel = 2.6.32-279.el6
               kernel = 2.6.32-279.el6
           Installed: kernel-2.6.32-358.6.2.el6.x86_64 (installed)
               kernel = 2.6.32-358.6.2.el6
               kernel = 2.6.32-358.6.2.el6
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
根据提示,此次更新需要内核版本为2.6.32-642
而我有的版本为2.6.32-279 和2.6.32-358
不满足可以升级的要求,需要升级内核,但是升级内核具有很大的风险.
先做好快照。
接着我在网上找到这么一篇文章:

快速浏览的一遍,开始照做。

1、导入public key

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

2、安装elrepo到内核为2.6.32的CentOS中

rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

3、安装kernel-lt(long term support)长期支持版本

yum --enablerepo=elrepo-kernel install kernel-lt -y

注:

如果直接通过yum方式使用elrepo源速度会较慢(该源在国外)。

推荐采用rpm的方式安装kernel-lt:

访问http://elrepo.org/linux/kernel/el6/x86_64/RPMS/下载对应的rpm包,通过rpm方式安装:

rpm -ivh kernel-lt-3.10.93-1.el6.elrepo.x86_64.rpm

关于kernel-lt的介绍可以参考elrepo官网介绍:http://elrepo.org/tiki/kernel-lt

4、编辑grub.conf文件,修改Grub引导顺序

vim /etc/grub.conf

确认安装的新内核的位置,将default的值调整为新内核的顺序,如本次升级案例中新装的内核位置为0,所以将default修改为0,保存退出,reboot重启服务器。

image1