yumコマンドを利用すると以下のようなエラーが出力され、アップデートできない。


問題点

yumコマンドを利用すると以下のようなエラーが出力され、アップデートできない。

出力例)
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in ?
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 309, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 157, in main
    base.getOptionsConfig(args)
  File "/usr/share/yum-cli/cli.py", line 187, in getOptionsConfig
    self.conf
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 664, in <lambda>
    conf = property(fget=lambda self: self._getConfig(),
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 253, in _getConfig
    self.plugins.run('init')
  File "/usr/lib/python2.4/site-packages/yum/plugins.py", line 179, in run
    func(conduitcls(self, self.base, conf, **kwargs))
  File "/usr/lib/yum-plugins/rhnplugin.py", line 111, in init_hook
    login_info = up2dateAuth.getLoginInfo()
  File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 217, in getLoginInfo
    login()
  File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 184, in login
    li = server.up2date.login(systemId)
  File "/usr/share/rhn/up2date_client/rhnserver.py", line 64, in __call__
    raise up2dateErrors.SSLCertificateVerifyFailedError()
up2date_client.up2dateErrors.SSLCertificateVerifyFailedError:The certificate is expired.Please ensure you have the correct certificate and your system time is correct.


原因
現在の Red Hat Network CA 証明書は、2013 年 8 月に証明書の有効期限が切れます。
そのため、Red Hat Network に正常に認証がとおらず、パッケージのアップデートが失敗します。
アップデートされた証明書がインストールされるまで 2013年8月13日以降は RHN と接続できなくなります。
詳細につきましては、提供元であるRedhat社の以下のページをご参照ください。
本内容は、RHEL5が対象となります。

<RHN にシステムを接続しようとすると、"The certificate is expired" または "certificate verify failed" エラーが発生します>

https://access.redhat.com/site/ja/solutions/401723

RHEL3、およびRHEL4は、OSのベンダサポートが終了しているためサポート対象外とさせていただきます。なお、RHEL4 のExtended Life Cycle Support(ELS)をお申込みをいただいている方は、弊社サポートまでお問い合わせをいただけますでしょうか。
また、RHEL6は、本事象の対象外となります。


対処方法
以下のコマンドを root ユーザーとして実行し、RHN との通信に関する SSL を一時的に無効にします。これにより、http からパッケージをアップデートできるようになります。
注意: 以下の方法は、お客様のご判断にてご実行ください。

       sed -i 's/serverURL=https:/serverURL=http:/g' /etc/sysconfig/rhn/up2date

       以下のように、関連パッケージをアップデートします。

       yum update rhn*

       root ユーザーで以下のコマンドを実行し、SSL を再度有効にします。

       sed -i 's/serverURL=http:/serverURL=https:/g' /etc/sysconfig/rhn/up2date

rhn-client-tools パッケージをアップデートしたら、以下コマンドにてエラーが解決したことを確認します。

       yum check-update [RHEL 5]
       rhn_check

なお、お客様にて上記内容の作業が難しい場合は、弊社サポートまでご依頼をいただけますでしょうか。

タグ: certificate verify failed, Red Hat Network, The certificate is expired, yumコマンド, エラー

Chuck Norris has counted to infinity. Twice.