安装新的OpenVZ内核时出错

在OpenVZ服务器上更新内核时似乎有错误

当运行“百胜更新”即时获取下面

Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.steadfast.net * extras: mirror.steadfast.net * openvz-kernel-rhel6: download.openvz.org * openvz-utils: download.openvz.org * soluslabs: mirror.us1.soluslabs.net * updates: mirror.steadfast.net Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package kernel.x86_64 0:2.6.32-431.20.3.el6 will be installed --> Processing Dependency: kernel-firmware >= 2.6.32-431.20.3.el6 for package: kernel- 2.6.32-431.20.3.el6.x86_64 Package kernel-firmware-2.6.32-431.20.3.el6.noarch is obsoleted by vzkernel-firmware- 2.6.32-042stab090.2.noarch which is already installed ---> Package kernel-headers.x86_64 0:2.6.32-431.17.1.el6 will be updated ---> Package kernel-headers.x86_64 0:2.6.32-431.20.3.el6 will be an update ---> Package libxml2.x86_64 0:2.7.6-14.el6_5.1 will be updated ---> Package libxml2.x86_64 0:2.7.6-14.el6_5.2 will be an update ---> Package tzdata.noarch 0:2014d-1.el6 will be updated ---> Package tzdata.noarch 0:2014e-1.el6 will be an update ---> Package vzkernel.x86_64 0:2.6.32-042stab090.4 will be installed ---> Package vzkernel-firmware.noarch 0:2.6.32-042stab090.2 will be updated ---> Package vzkernel-firmware.noarch 0:2.6.32-042stab090.4 will be an update --> Finished Dependency Resolution Error: Package: kernel-2.6.32-431.20.3.el6.x86_64 (updates) Requires: kernel-firmware >= 2.6.32-431.20.3.el6 Removing: vzkernel-firmware-2.6.32-042stab090.2.noarch (@openvz-kernel-rhel6) kernel-firmware = 2.6.32-431.17.1.el6 Updated By: vzkernel-firmware-2.6.32-042stab090.4.noarch (openvz-kernel-rhel6) kernel-firmware = 2.6.32-431.17.1.el6 Available: kernel-firmware-2.6.32-431.el6.noarch (base) kernel-firmware = 2.6.32-431.el6 Available: kernel-firmware-2.6.32-431.1.2.0.1.el6.noarch (updates) kernel-firmware = 2.6.32-431.1.2.0.1.el6 Available: kernel-firmware-2.6.32-431.3.1.el6.noarch (updates) kernel-firmware = 2.6.32-431.3.1.el6 Available: kernel-firmware-2.6.32-431.5.1.el6.noarch (updates) kernel-firmware = 2.6.32-431.5.1.el6 Available: kernel-firmware-2.6.32-431.11.2.el6.noarch (updates) kernel-firmware = 2.6.32-431.11.2.el6 Available: kernel-firmware-2.6.32-431.17.1.el6.noarch (updates) kernel-firmware = 2.6.32-431.17.1.el6 Available: kernel-firmware-2.6.32-431.20.3.el6.noarch (updates) kernel-firmware = 2.6.32-431.20.3.el6 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest 

grub.conf的内容

 default=0 timeout=5 title OpenVZ (2.6.32-042stab090.2) kernel /boot/vmlinuz-2.6.32-042stab090.2 root=/dev/sda2 ro crashkernel=auto SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us root (hd0,1) initrd /boot/initramfs-2.6.32-042stab090.2.img title OpenVZ (2.6.32-042stab088.4) kernel /boot/vmlinuz-2.6.32-042stab088.4 root=/dev/sda2 ro crashkernel=auto SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us root (hd0,1) initrd /boot/initramfs-2.6.32-042stab088.4.img title linux centos6_64 kernel /boot/vmlinuz-2.6.32-431.17.1.el6.x86_64 root=/dev/sda2 ro root (hd0,1) initrd /boot/initrd-2.6.32-431.17.1.el6.x86_64.img 

谢谢

在您的系统中, vzkernel-firmwarekernel-firmware冲突。 因为vzkernel软件包来自标准软件包仓库之外,所以这种冲突并不罕见。

假设您不使用原始的CentOS内核,解决这个问题最简单的方法就是将其删除。 要做到这一点运行:

 yum remove kernel kernel-firmware 

在继续之前,检查它不会删除您需要的任何软件包。

接受的答案是不正确的 ,根据官方的答案:

https://wiki.openvz.org/Vzkernel-firmware


正确答案:

您需要通过运行以下vzkernel-firmware来删除vzkernel-firmware

 rpm -e vzkernel-firmware 

然后将以下内容添加到/etc/yum.repos.d/openvz.repo

 exclude=vzkernel-firmware 

升级OpenVZ时,我们多次预料到这个问题。 恕我直言,这个问题的最佳解决scheme是: yum remove kernel 。 这是非常安全的,永远解决这个问题。 我不明白为什么你需要OpenVZ节点上的标准内核。

但是在删除内核包的时候请多加小心,多查看“什么包应该删除yum”。