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

我已經找到了解決方案,我將解決方案發佈在這裡,以防有人遇到相同的情況。發生此故障的原因是,當您透過 spacewalk 使用「yum update」命令更新 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。

相關內容