web-dev-qa-db-ja.com

更新後にOracleLinuxyumが機能しない

Oracle Linux6.4サーバーをspacewalkサーバーに登録されているOracleLinux6.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
DNND

私は解決策を見つけました。誰かが同じ状況に遭遇した場合に備えて、ここに解決策を投稿します。この障害の理由は、「yumupdate」コマンドを使用してspacewalkを介してOracle Linuxサーバーを更新すると、yumupdateがサーバーのspacewalk対応rhnプラグインをULN対応プラグインに置き換えるためです。

「yumeraseup2date」と「yumerasepirut」を使用してup2dateパッケージを消去した後、「RHEL6.8」ISOをOracleLinuxサーバーにマウントしました。このISOをローカルリポジトリとして追加した後。 「yuminstallrhn-client-tools rhn-check rhn-setup rhnsd m2cryptoyum-rhn-plugin」を使用してrhnツールをインストールし、ローカルリポジトリファイルを削除しました。これですべて正常に動作します!

1
DNND

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

私のサーバーのうち3つは、上記と同じエラーをスローしています。これが問題を解決するために私がしたことです。

現在のup2dateAuth.pyファイルのバックアップを取りました

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

Spacewalkサーバーに正常に登録された最初のサーバーから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)

追記:rhnregコマンドを実行する前にcd /etc/yum.repos.d/; rm -rf spacewalk26-client.repoを削除することを忘れないでください。そうしないと、別のエラーがスローされます。

OracleLinuxのSpacewalkClientリポジトリへのアクセスを無効にするYumサーバーリポジトリ構成ファイルまたは/etc/yum.repos.d/spacewalk26-client.repoを削除します。

0
Fawwad Latif

おそらく別の理由で、私はこれと同じエラーに遭遇しました。 Oracle Linux 6.7をspacewalkサーバーに登録しましたが、最初にspacewalkパッケージを更新することを怠りました。これが問題である以外は、多くの研究はあまり明らかになりませんでした。 (私はDNNDのソリューションを試しましたが、rhnがyumを引き継ぎます。以下のコマンドの1つが彼のソリューションで機能します)

pythonスクリプトに既知のバグがあります。/usr/share/rhn/up2date_client/up2dateAuth.pyを編集し、:X-RHN-Auth-Expirationの3つのインスタンスをX-RHN-Auth-Expire-Offsetに変更します。

DNNDのようにLinuxISOを使用するか、最新のリポジトリでrhnプラグインを無効にしてyumを使用します。

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