Oracle Linux yum がアップデート後に動作しない

Oracle Linux yum がアップデート後に動作しない

Oracle Linux 6.4 サーバーを、spacewalk サーバーに登録されている Oracle Linux 6.8 に更新しました。しかし、更新後、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 対応プラグインに置き換えられるためです。

「yum erasing up2date」と「yum erasing pirut」で up2date パッケージを消去した後、「RHEL 6.8」ISO を Oracle Linux サーバーにマウントしました。この ISO をローカル リポジトリとして追加した後、「yum install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin」で rhn ツールをインストールし、ローカル リポジトリ ファイルを削除しました。これですべて正常に動作します。

答え2

私も同じエラーに遭遇しましたが、理由は違うかもしれません。Oracle Linux 6.7 を spacewalk サーバーに登録しましたが、最初に spacewalk パッケージを更新するのを忘れていました。多くの調査を行っても、これが問題であること以外は何も分かりませんでした。(DNND のソリューションを試しましたが、rhn が yum を引き継ぎます。以下のコマンドの 1 つが彼のソリューションで機能します)

Python スクリプトに既知のバグがあります。 の 3 つのインスタンスを編集し て/usr/share/rhn/up2date_client/up2dateAuth.pyに変更します。: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

この問題の簡単な修正方法は次のとおりです。spacewalk/redhat satellite にクライアントを登録するために、複数のサーバーで同時にコマンドを実行すると、この問題が発生することがわかりましたrhnreg。たとえば、このコマンドを 4 台のサーバーで実行しましたが、正常に登録されたのは 1 台のサーバーのみでした。

私のサーバーのうち 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: rhnreg コマンドを実行する前に、cd /etc/yum.repos.d/; rm -rf spacewalk26-client.repo を削除することを忘れないでください。そうしないと、別のエラーが発生します。

Oracle Linux Yum Server リポジトリ構成ファイルで Spacewalk Client リポジトリへのアクセスを無効にするか、/etc/yum.repos.d/spacewalk26-client.repo を削除します。

関連情報