
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.py
e 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 rhnreg
comando 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.py
arquivo atual
cp /usr/share/rhn/up2date_client/up2dateAuth.py /usr/share/rhn/up2date_client/up2dateAuth.py_`date +%m_%d_%Y`
Fiz scp
a 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.