Oracle Linux 6.4 서버를 Spacewalk 서버에 등록된 Oracle Linux 6.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
해결 방법을 찾았으며, 다른 사람이 같은 상황에 직면할 경우를 대비하여 여기에 게시합니다. 이 실패는 "yum update" 명령을 사용하여 spacewalk를 통해 Oracle Linux 서버를 업데이트할 때 yum update가 서버의 spacewalk 지원 rhn 플러그인을 ULN 지원 플러그인으로 대체하기 때문에 발생합니다.
Oracle Linux 서버에 "RHEL 6.8" ISO를 설치한 후 "yum wipe up2date" 및 "yum wipe pirut"를 사용하여 up2date 패키지를 지웠습니다. 이 iso를 로컬 저장소로 추가한 후. "yum install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin"을 사용하여 rhn 도구를 설치하고 로컬 저장소 파일을 삭제했습니다. 이제 모든 것이 잘 작동합니다!
답변2
동일한 오류가 발생하지만 아마도 다른 이유 때문일 수 있습니다. Spacewalk 서버에 Oracle Linux 6.7을 등록했지만 spacewalk 패키지를 먼저 업데이트하는 것을 무시했습니다. 많은 연구에서 문제가 있다는 것 외에는 많은 것을 발견하지 못했습니다. (저는 DNND의 솔루션을 시도했지만 rhn이 yum을 인수했습니다. 아래 명령 중 하나가 그의 솔루션에 작동합니다)
Python 스크립트에는 알려진 버그가 있습니다. 3개의 인스턴스를 편집 /usr/share/rhn/up2date_client/up2dateAuth.py
하고 :X-RHN-Auth-Expiration
로 변경합니다 X-RHN-Auth-Expire-Offset
.
DNND와 같은 Linux ISO를 사용하거나 최신 리포지토리에서는 rhn 플러그인을 비활성화하여 yum을 사용합니다:
yum --disableplugin=rhnplugin -y install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin
답변3
여기에 쉬운 수정이 있습니다. rhnreg
Spacewalk/redhat 위성에 클라이언트를 등록하기 위해 여러 서버에서 동시에 명령을 실행하면 이 문제가 발생하는 것으로 나타났습니다 . 예를 들어, 4개의 서버에서 이 명령을 실행했지만 하나만 성공적으로 등록되었습니다.
내 서버 중 3개에서 위와 같은 오류가 발생합니다. 문제를 해결하기 위해 내가 한 일은 다음과 같습니다.
현재 up2dateAuth.py
파일을 백업했습니다.
cp /usr/share/rhn/up2date_client/up2dateAuth.py /usr/share/rhn/up2date_client/up2dateAuth.py_`date +%m_%d_%Y`
scp
Spacewalk 서버에 성공적으로 등록된 첫 번째 서버에서 이 작업을 수행했습니다 .
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)
PS: rhnreg 명령을 실행하기 전에 cd /etc/yum.repos.d/를 제거하는 것을 잊지 마십시오. 그렇지 않으면 또 다른 오류가 발생합니다.
Oracle Linux Yum Server 저장소 구성 파일에서 Spacewalk 클라이언트 저장소에 대한 액세스를 비활성화하거나 /etc/yum.repos.d/spacewalk26-client.repo를 삭제합니다.