Oracle Linux yum 更新后不工作

Oracle Linux yum 更新后不工作

我已将 Oracle Linux 6.4 服务器更新为 Oracle Linux 6.8,该服务器已注册到 spacewalk 服务器。但更新后,yum 命令在服务器上不起作用。

[root@j4server tmp]# yum update
Loaded plugins: aliases, changelog, kabi, presto, refresh-packagekit, rhnplugin, security, tmprepo, verify,
              : versionlock
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 298, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 115, in main
    base.getOptionsConfig(args)
  File "/usr/share/yum-cli/cli.py", line 229, in getOptionsConfig
    self.conf
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 911, in <lambda>
    conf = property(fget=lambda self: self._getConfig(),
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 363, in _getConfig
    self.plugins.run('init')
  File "/usr/lib/python2.6/site-packages/yum/plugins.py", line 184, in run
    func(conduitcls(self, self.base, conf, **kwargs))
  File "/usr/share/yum-plugins/rhnplugin.py", line 115, in init_hook
    login_info = up2dateAuth.getLoginInfo()
  File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 219, in getLoginInfo
    login()
  File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 167, in login
    if readCachedLogin():
  File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 133, in readCachedLogin
    expireTime = float(li['X-RHN-Auth-Expiration'])
KeyError: 'X-RHN-Auth-Expiration'

它正在抛出这个输出。当我尝试禁用 rhn-plugin 时,yum 命令有效,列出了 spacewalk 上的软件包,但正如您猜测的那样无法安装它们。

对于这种情况你有什么想法吗?谢谢你的帮助!

答案1

我已经找到了解决方案,我将解决方案发布在这里,以防有人遇到同样的情况。出现此故障的原因是,当您使用“yum update”命令通过 spacewalk 更新 Oracle Linux 服务器时,yum update 将服务器启用 spacewalk 的 rhn 插件替换为启用 ULN 的插件。

在将“RHEL 6.8”ISO 安装到 Oracle Linux 服务器之后,我使用“yum擦除up2date”和“yum擦除pirut”擦除了up2date软件包。我将此 iso 添加为本地存储库后。我已经使用“yum install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin”安装了 rhn 工具,并删除了本地存储库文件。现在一切正常!

答案2

我遇到了同样的错误,但可能是出于不同的原因。我向 spacewalk 服务器注册了 Oracle Linux 6.7,但忽略了先更新 spacewalk 软件包。除了这是一个问题之外,很多研究都没有发现太多问题。 (我确实尝试了 DNND 的解决方案,但 rhn 接管了 yum。下面的命令之一将适用于他的解决方案)

python 脚本中存在一个已知错误。编辑/usr/share/rhn/up2date_client/up2dateAuth.py并更改 3 个实例:X-RHN-Auth-ExpirationX-RHN-Auth-Expire-Offset

要么像 DNND 那样使用 Linux ISO,要么现代存储库通过禁用 rhn 插件来使用 yum:

yum --disableplugin=rhnplugin -y install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin

答案3

这是一个简单的修复方法。我发现rhnreg在多个服务器上同时运行该命令以在 spacewalk/redhat 卫星上注册客户端会导致此问题。例如,我在 4 台服务器上运行此命令,但只有一台服务器注册成功。

我的 3 台服务器抛出了上述相同的错误。这是我为解决该问题所做的事情。

备份了我当前的up2dateAuth.py文件

 cp /usr/share/rhn/up2date_client/up2dateAuth.py /usr/share/rhn/up2date_client/up2dateAuth.py_`date +%m_%d_%Y`

scp从第一台已成功注册到太空行走服务器的服务器上进行了操作。

 scp /usr/share/rhn/up2date_client/up2dateAuth.py root@server2:/usr/share/rhn/up2date_client/
 ls -lrth /usr/share/rhn/up2date_client/up2dateAuth.py*

跑步

 yum repolist

 rhnreg_ks --sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT --serverUrl=https://myspacewalkserver-corp.com/XMLRPC  --activationkey=1-oraclelinux6-x86_64 --force

 yum repolist (it work like a charm)

PS不要忘记删除 cd /etc/yum.repos.d/; rm -rf spacewalk26-client.repo 在运行 rhnreg 命令之前,否则会抛出另一个错误。

在 Oracle Linux Yum Server 存储库配置文件中禁用对 Spacewalk Client 存储库的访问或删除 /etc/yum.repos.d/spacewalk26-client.repo。

相关内容