"yum lock"번거 로움을 피하는 방법?


31

앱을 설치하려고 할 때 "현재 다른 앱에서 yum 잠금을 보유하고 있습니다. 종료하기를 기다리는 중 ..."이라는 메시지가 자주 표시되며 yum을 수동으로 종료해야합니다. 어떻게 피할 수 있습니까? yum의 잠금을 해제하는 간단한 방법이 있습니까?

하나의 yum 인스턴스 만 실행할 수있는 것 같습니다. 다른 패키지 관리자 (apt-get, pacman)와 동일합니까?


제 경우에는 VPN을 통해 서버에 연결되었습니다. 일단 실행 sudo yum -y update하면 모든 패키지가 오픈 VPN과 함께 업데이트되었습니다. 오픈 VPN 패키지가 업데이트되면 VPN 연결이 끊어졌습니다. 다시 로그인하고 yum 업데이트를 다시 시도하면 같은 내용이 표시됩니다.
아룬

답변:


24

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

3
packagekit.service내 Centos 7
Vadim Kotov에서

내 경우에는 단순히 systemctl stop packagekit을 실행 한 다음 yum 잠금이 해제되었습니다.
T-Heron

9

문제를 해결하려면 다음을 수행하십시오.

cd /var/run
rm -f yum.pid

나중에 yum을 업데이트 할 수도 있습니다.

yum -y update

1
이것은 증상과 싸우고 실제 원인을 해결하지 못합니다.
Axel Beckert 2018 년

4

간단한 두 단계를 수행하여 yum의 잠금을 해제 할 수 있습니다.

1) ps aux | grep yum어떤 프로세스가 yum을 잠그는 지 확인하십시오. 2) kill <process_id>프로세스를 종료합니다.

ps aux | grep yum프로세스가 종료되었는지 여부를 확인하기 위해 다시 실행 하십시오. 프로세스 종료 후 Yum의 잠금이 해제됩니다.


3
이 "작동"하지만 아마도 나쁜 연습입니다
Dave Cousineau

1
특정 상황에서 작동합니다. yum 명령을 시작하기 전에 systemd가 packagekit 프로세스를 다시 시작하는 상황이 발생했습니다. 그리고 예, packagekit에게 정상적으로 실행하지 말고 PID를 죽이는 것은 나쁜 습관 일 것입니다.
0xSheepdog

1

제 경우에는 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

모든 것이 좋다고 생각하지만, 많은 것을 꽂는 것을 좋아하지 않았습니다!


0

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)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.