앱을 설치하려고 할 때 “현재 다른 앱에서 yum 잠금을 보유하고 있습니다. 종료하기를 기다리는 중 …”이라는 메시지가 자주 표시되며 yum을 수동으로 종료해야합니다. 어떻게 피할 수 있습니까? yum의 잠금을 해제하는 간단한 방법이 있습니까?
하나의 yum 인스턴스 만 실행할 수있는 것 같습니다. 다른 패키지 관리자 (apt-get, pacman)와 동일합니까?
답변
PackageKit이 원인이라고 생각합니다. 당신은 (나는 그것이 7 CentOS는 가정 패키지 키트 (PackageKit)를 확인하고 사용하지 않도록 설정해야합니다 systemctl그렇지 않으면 당신이 사용할 수있는, service그리고 chkconfig(주석에서 언급 한 바와 같이, 서비스 이름은) packagekit없습니다 packagekitd)
systemctl stop packagekit
systemctl disable packagekit
다른 접근 방식 (CentOS / RHEL 6, Fedora 19 또는 이전 버전)은 /etc/yum/pluginconf.d/refresh-packagekit.conf텍스트 편집기 로 열고 로 변경 enabled=1하는 것 enabled=0입니다.
또는 완전히 제거 할 수 있습니다.
yum remove PackageKit
답변
문제를 해결하려면 다음을 수행하십시오.
cd /var/run
rm -f yum.pid
나중에 yum을 업데이트 할 수도 있습니다.
yum -y update
답변
간단한 두 단계를 수행하여 yum의 잠금을 해제 할 수 있습니다.
1) ps aux | grep yum어떤 프로세스가 yum을 잠그는 지 확인하십시오. 2) kill <process_id>프로세스를 종료합니다.
ps aux | grep yum프로세스가 종료되었는지 여부를 확인하기 위해 다시 실행 하십시오. 프로세스 종료 후 Yum의 잠금이 해제됩니다.
답변
제 경우에는 VPN (개방형 VPN)을 통해 서버에 연결되었습니다. 일단 실행 sudo yum -y update하면 모든 패키지가 오픈 VPN과 함께 업데이트되었습니다. 오픈 VPN 패키지가 업데이트되면 VPN 연결이 끊어졌습니다. 다시 로그인하여 yum 업데이트를 다시 시도했는데 다른 프로세스가 yum 잠금을 잡고 있다고 말했습니다.
확인한 ps ax | grep yum결과 이전 프로세스가 여전히 실행 중입니다. 나는 그것이 “완료”될 때까지 5 분 동안 기다렸다. 그러나 프로세스는 계속 작동했다. 그런 다음 죽일 때 “트리거를 당길”수 있다고 생각했습니다.
kill <PID of the yum update process>
그것은 프로세스를 죽이지 않았습니다. 몇 번 더 시도했지만 여전히 성공하지 못했습니다.
마지막으로 다음을 실행하여 플러그를 뽑아야했습니다.
kill -9 <PID of the yum update process>
yum 업데이트를 다시 시도했지만 동일한 문제가 발생했습니다. 나는 다음을 달렸다.
rm -f /var/run/yum.pid
그런 다음 업데이트를 시도 하고이 출력을 얻었습니다.
Loaded plugins: fastestmirror
Setting up Update Process
Loading mirror speeds from cached hostfile
* base: mirror.sigmanet.com
* epel: mirror.sjc02.svwh.net
* extras: mirrors.vpsie.com
* updates: mirror.pac-12.org
No Packages marked for Update
모든 것이 좋다고 생각하지만, 많은 것을 꽂는 것을 좋아하지 않았습니다!
답변
systemctl disable packagekit 충분하지 않습니다 . 재부팅시 packagekit이 실행됩니다. mask명령 대신 명령을 사용하십시오 disable.
[root@localhost yum.repos.d]# systemctl mask packagekit
Created symlink from /etc/systemd/system/packagekit.service to /dev/null.
그런 다음 다시 부팅하면 …
[sri@localhost ~]$ systemctl status packagekit
● packagekit.service
Loaded: masked (/dev/null; bad)
Active: inactive (dead)