Oracle Linux yum não está funcionando após atualização

Oracle Linux yum não está funcionando após atualização

Atualizei meu servidor Oracle Linux 6.4 para Oracle Linux 6.8, que está registrado no servidor spacewalk. Mas após a atualização, os comandos yum não funcionam no servidor.

[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'

Está lançando essa saída. Quando tento desabilitar o rhn-plugin, os comandos yum funcionam, lista os pacotes na caminhada no espaço, mas como você imagina, não consigo instalá-los.

Você tem alguma ideia sobre esta situação? Obrigado por qualquer ajuda!

Responder1

Encontrei a solução, estou postando aqui a solução caso alguém passe pela mesma situação. A razão desta falha é porque quando você atualiza o servidor Oracle Linux via spacewalk com o comando "yum update", yum update substitui o plugin rhn habilitado para spacewalk do servidor por um plugin habilitado para ULN.

Apaguei os pacotes up2date com "yum erase up2date" e "yum erase pirut" depois montei o ISO "RHEL 6.8" no servidor Oracle Linux. Depois de adicionar esta iso como repositório local. Instalei as ferramentas rhn com "yum install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin" e removi o arquivo repo local. Agora tudo funciona bem!

Responder2

Encontrei esse mesmo erro, talvez por um motivo diferente. Registrei meu Oracle Linux 6.7 com um servidor spacewalk, mas deixei de atualizar os pacotes spacewalk primeiro. Muitas pesquisas não revelaram nada além de que isso é um problema. (Eu tentei a solução do DNND, mas o rhn assume o controle do yum. Um dos comandos abaixo funcionará com a solução dele)

Há um bug conhecido em um script python. Edite /usr/share/rhn/up2date_client/up2dateAuth.pye altere 3 instâncias de :X-RHN-Auth-Expiration para X-RHN-Auth-Expire-Offset.

Usando o ISO do Linux como o DNND fez ou um repositório moderno, use o yum desabilitando o plugin rhn:

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

Responder3

Aqui está uma solução simples para isso. Descobri que executar o rhnregcomando ao mesmo tempo em vários servidores para registrar o cliente no satélite spacewalk/redhat causa esse problema. Por exemplo, executo este comando em 4 dos meus servidores e apenas um servidor foi registrado com sucesso.

Três dos meus servidores estão apresentando o mesmo erro mencionado acima. Aqui está o que fiz para resolver o problema.

Fiz um backup do meu up2dateAuth.pyarquivo atual

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

Fiz scpa partir do primeiro servidor que foi registrado com sucesso no servidor de caminhada espacial.

 scp /usr/share/rhn/up2date_client/up2dateAuth.py root@server2:/usr/share/rhn/up2date_client/
 ls -lrth /usr/share/rhn/up2date_client/up2dateAuth.py*

correr

 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 não se esqueça de remover cd /etc/yum.repos.d/; rm -rf spacewalk26-client.repo antes de executar o comando rhnreg ou então ocorrerá outro erro.

Desative o acesso ao repositório do Cliente Spacewalk no arquivo de configuração do repositório Oracle Linux Yum Server ou exclua /etc/yum.repos.d/spacewalk26-client.repo.

informação relacionada