【问题标题】:Weird Kernel Errors - Cannot Yum Update奇怪的内核错误 - 无法 Yum 更新
【发布时间】:2016-04-25 19:27:11
【问题描述】:

我正在尝试使用yum update 更新服务器。但是,弹出此错误:

==============================================================================================================================================================================================================================================
 Package                                          Arch                                    Version                                              Repository                                                                                Size
==============================================================================================================================================================================================================================================
Installing:
 kernel                                           x86_64                                  2.6.32-573.22.1.el6                                  updates                                                                                   30 M
Removing:
 kernel                                           x86_64                                  2.6.32-220.el6                                       @anaconda-RedHatEnterpriseLinux-201111171049.x86_64/6.2                                  112 M
Updating for dependencies:
 kernel-firmware                                  noarch                                  2.6.32-573.22.1.el6                                  updates                                                                                   18 M

Transaction Summary
==============================================================================================================================================================================================================================================
Install       1 Package(s)
Upgrade       1 Package(s)
Remove        1 Package(s)

Total size: 48 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
ERROR with rpm_check_debug vs depsolve:
kernel(iscsi_add_session) = 0xec873e61 is needed by (installed) kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64
kernel(iscsi_alloc_session) = 0x0c0f1826 is needed by (installed) kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64
kernel(iscsi_block_session) = 0xe602f69c is needed by (installed) kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64
kernel(iscsi_create_conn) = 0x6ba1339a is needed by (installed) kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64
kernel(iscsi_free_session) = 0xcf334a45 is needed by (installed) kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64
kernel(iscsi_register_transport) = 0x432a50aa is needed by (installed) kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64
kernel(iscsi_remove_session) = 0x503c7600 is needed by (installed) kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64
kernel(iscsi_scan_finished) = 0x3f0b3981 is needed by (installed) kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64
kernel(iscsi_session_chkready) = 0x56d25a63 is needed by (installed) kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64
kernel(iscsi_session_event) = 0x4e05d68f is needed by (installed) kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64
kernel(iscsi_unblock_session) = 0x21fe1275 is needed by (installed) kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64
kernel(iscsi_unregister_transport) = 0xfd06472f is needed by (installed) kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64
** Found 12 pre-existing rpmdb problem(s), 'yum check' output follows:
kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64 has missing requires of kernel(iscsi_add_session) = ('0', '0xec873e61', None)
kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64 has missing requires of kernel(iscsi_alloc_session) = ('0', '0x0c0f1826', None)
kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64 has missing requires of kernel(iscsi_block_session) = ('0', '0xe602f69c', None)
kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64 has missing requires of kernel(iscsi_create_conn) = ('0', '0x6ba1339a', None)
kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64 has missing requires of kernel(iscsi_free_session) = ('0', '0xcf334a45', None)
kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64 has missing requires of kernel(iscsi_register_transport) = ('0', '0x432a50aa', None)
kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64 has missing requires of kernel(iscsi_remove_session) = ('0', '0x503c7600', None)
kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64 has missing requires of kernel(iscsi_scan_finished) = ('0', '0x3f0b3981', None)
kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64 has missing requires of kernel(iscsi_session_chkready) = ('0', '0x56d25a63', None)
kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64 has missing requires of kernel(iscsi_session_event) = ('0', '0x4e05d68f', None)
kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64 has missing requires of kernel(iscsi_unblock_session) = ('0', '0x21fe1275', None)
kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64 has missing requires of kernel(iscsi_unregister_transport) = ('0', '0xfd06472f', None)

这是yum install kernel 的输出,因为它似乎在说kmod 需要一些内核版本。

操作系统:Centos 2.6.32-504.8.1.el6.x86_64

【问题讨论】:

    标签: linux-kernel centos yum


    【解决方案1】:

    已修复:

    问题在于 kmod 需要较旧的内核。安装新内核会删除旧内核,因此 kmod 会抱怨。安装新的 kmod 将需要新的内核,因此它成为一个循环依赖。

    修复只是进入 yum.conf 并更改已保存内核版本的数量,以便它可以再保存一个内核版本。我更新了内核,因为我可以保留另一个版本,所以没有弹出错误。然后我立即更新了kmod。我还没有决定删除旧内核,但我确信如果我决定了,那就没问题了。

    【讨论】:

      【解决方案2】:

      该 kmod 是为较旧的内核制作的,它要求为非白名单符号设置具有特定签名的要求。正在安装的内核 这些 iSCSI 函数的签名不同,因此存在冲突并停止安装。

      # rpm -qpi kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64.rpm warning:
      kmod-qlgc-qla4xxx-5.02.15.01.05.06-1.el6.x86_64.rpm: Header V3
      DSA/SHA1 Signature, key ID 5e3d7775: NOKEY Name        :
      kmod-qlgc-qla4xxx Version     : 5.02.15.01.05.06 Release     : 1.el6
      Architecture: x86_64 Install Date: (not installed) Group       :
      System Environment/Kernel Size        : 6248154 License     : GPLv2
      Signature   : DSA/SHA1, Wed 04 Jul 2012 05:57:57 AM MST, Key ID
      e74433e25e3d7775 Source RPM  :
      qlgc-qla4xxx-5.02.15.01.05.06-1.el6.src.rpm Build Date  : Thu 15 Sep
      2011 02:36:49 PM MST Build Host  : rhel6.1-64bit Relocations : (not
      relocatable) Vendor      : qlgc URL         : http://www.qlogic.com/
      Summary     : qlgc-qla4xxx kernel module(s) Description : This package
      provides the qlgc-qla4xxx kernel modules built for the Linux kernel
      2.6.32-131.0.15.el6.x86_64 for the x86_64 family of processors.
      
      
      # rpm2cpio kernel-2.6.32-573.22.1.el6.src.rpm | cpio -ivd *Module.kabi_x86_64
      Module.kabi_x86_64
      213572 blocks
      
      # grep iscsi Module.kabi_x86_64 | wc -l
      0
      

      573.22.1 rhel 内核中的符号签名:

      kernel(iscsi_add_session) = 0x72885137
      kernel(iscsi_alloc_session) = 0xf1c74334
      kernel(iscsi_block_session) = 0x1a0123e6
      kernel(iscsi_create_conn) = 0x711f2dde 
      kernel(iscsi_free_session) = 0x07fc6db6
      kernel(iscsi_register_transport) = 0xfd6d0c1c
      kernel(iscsi_remove_session) = 0xfa98da53 
      kernel(iscsi_scan_finished) = 0xa77fd357
      kernel(iscsi_session_chkready) = 0xa5432637
      kernel(iscsi_session_event) = 0x3982801b
      kernel(iscsi_unblock_session) = 0xdd550f9b
      kernel(iscsi_unregister_transport) = 0x0065ebc5
      

      与 Qlogic 联系,看看他们是否有更新的驱动程序

      【讨论】:

      • 谢谢!我解决了我的问题。我用你的回答作为线索了解发生了什么。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      • 2012-07-20
      • 2018-06-05
      • 2016-05-30
      • 1970-01-01
      • 2020-01-29
      • 1970-01-01
      相关资源
      最近更新 更多