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にパッケージを一覧表示しますが、ご想像のとおり、インストールできません。
この状況について何か考えはありますか?助けてくれてありがとう!
私は解決策を見つけました。誰かが同じ状況に遭遇した場合に備えて、ここに解決策を投稿します。この障害の理由は、「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ツールをインストールし、ローカルリポジトリファイルを削除しました。これですべて正常に動作します!
これはその簡単な修正です。複数のサーバーで同時に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を削除します。
おそらく別の理由で、私はこれと同じエラーに遭遇しました。 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