여기에 좋은 답변이 있지만 dpkg 잠금 사용자를 찾는 lsof가 아닌 방법을 추가하고 싶었습니다.
1 단계 : dpkg를 잠그는 사람 찾기 :
옵션 # 1 : lsof 사용 (머신에 항상 설치되는 것은 아님)
lsof /var/lib/dpkg/lock
옵션 # 2 : bash 사용
for pid in $(ls /proc | egrep [0-9]+); do sudo ls -l /proc/$pid/fd 2>/dev/null | grep /var/lib/dpkg/lock && echo $pid; done
2 단계 : 현재 dpkg 사용자로 수행 할 작업 결정
그러한 프로세스가 없으면 결정할 사항이 없으므로 다음 단계로 건너 뛰십시오.
그렇지 않으면 프로세스를 종료할지 또는 정상적으로 완료할지 결정해야합니다. 당신이 그것을 죽이기로 결정했다면, 그냥 사용하십시오 kill <pid>
. 프로세스가 여전히 종료되지 않으면을 사용하여 프로세스를 종료하는 것을 고려할 수 kill -9 <pid>
있지만 특정 불일치가 발생할 수 있으므로 수행중인 작업을 알지 않는 한 권장하지 않습니다.
3 단계 : 잠금 파일 제거
sudo rm /var/lib/dpkg/lock
4 단계 : dpkg 내부 상태 수정
sudo dpkg --configure -a