잠금 파일을 열 수 없습니다 /var/lib/dpkg/lock 오류 메시지가 표시되면 sudo 접두사로 업데이트 명령을 실행하더라도 직후에 루트인지 묻는 메시지가 표시될 수 있기 때문에 혼란스러울 수 있습니다. 이 오류 명령은 apt-get 패키지 관리자를 사용하는 거의 모든 항목에 표시됩니다. 다양한 Ubuntu 버전 중 하나를 실행하는 데스크톱이나 노트북을 업데이트하거나 Raspbian Debian 스핀을 사용하는 Raspberry Pi를 업데이트하는 경우 이러한 플랫폼에서 문제가 될 수 있습니다.
그럼에도 불구하고 수정은 다소 간단합니다. 일반적으로 루트인지 여부를 묻는 모든 것을 무시하고 동시에 잠긴 파일에 액세스를 시도하는 두 프로세스와 관련된 문제의 핵심으로 바로 이동할 수 있습니다.
방법 1:sudo가 명령의 모든 부분에 액세스할 수 있는지 확인
sudo apt-get update &&apt-get upgrade를 실행했다면 두 번째 프로세스가 /var/lib/dpkg/lock 파일에 액세스할 수 있는 권한이 없기 때문에 이 오류가 발생할 수 있습니다.
대신 sudo apt-get update &&sudo apt-get upgrade를 실행해 보세요. 차이가 있는지 확인합니다. 그렇다면 문제는 이미 수정되었으며 두 번째 프로세스에 파일에 액세스할 수 있는 충분한 권한을 부여하지 않았기 때문입니다. 이 명령은 모든 패키지를 업데이트한 다음 업그레이드하므로 승인하라는 메시지가 표시될 수 있으며 실행하는 데 시간이 걸릴 수 있습니다.
그러나 그렇지 않으면 문제가 이미 완전히 처리되어 다른 작업을 수행할 필요가 없습니다.
방법 2:/var/lib/dpkg/lock 파일 제거
curl, wget 또는 파일을 별도로 다운로드하는 다른 명령을 사용하는 사용자는 경우에 따라 apt-get을 대신하기 때문에 Raspbian에서 작업하는 경우 해당 명령 앞에 sudo를 붙여야 할 수도 있습니다. 순수 Debian, Xubuntu, Lubuntu, Linux Mint 및 기타 유사한 데스크탑/노트북 지향으로 작업하는 사람들은 이에 대해 걱정할 필요가 없지만 한 번 더 시도해 볼 가치가 있습니다.
그래도 문제가 해결되지 않으면 업데이트를 실행하는 동안 파일에 액세스하려는 다른 프로그램이 없는지 확인해야 할 수 있습니다. sudo lsof /var/lib/dpkg/lock을 사용해 보세요. 열려 있는 다른 프로세스가 실행 중인지 확인합니다. 어딘가에 열려 있었다면 애플리케이션을 닫으면 됩니다.
응용 프로그램이 이 파일을 여는 데 읽기 및 쓰기 액세스 권한이 있다는 것은 해당 프로그램에 루트 권한이 있어야 한다는 확장명을 의미하므로 프로그램을 닫으려면 루트 권한이 필요합니다. 이 기능을 지원하는 그래픽 데스크탑 환경을 사용하는 경우 작업 관리자 응용 프로그램을 살펴 볼 수도 있습니다. 문제가 되는 프로세스를 마우스 오른쪽 버튼으로 클릭하고 권한이 있는 경우 닫기만 하면 됩니다. 명령줄에서도 kill 또는 killall 명령을 시도하십시오.
이제 apt-get 명령을 다시 실행하여 차이가 있는지 확인할 수 있지만 차이가 있다면 다른 작업을 수행할 필요가 없습니다. 여전히 문제가 발생하면 잠금 파일을 완전히 제거하십시오. 이것은 최후의 수단으로 간주되어야 하지만 일반적으로 apt-get 프로그램과 관련된 문제를 일으키지 않습니다. apt 시스템을 엉망으로 만들 수 있으므로 이 작업을 수행하기 전에 다른 방법을 모두 사용하고 싶을 것입니다.
재부팅은 때때로 도움이 되지만 서버나 Raspbian 장치를 계속 사용하는 경우 실행 가능한 옵션이 아닐 수 있습니다. sudo rm /var/lib/dpkg/lock &&sudo rm /var/lib/apt/lists/lock을 실행해 보세요. , 실행 중일 때 apt가 살펴보는 특정 파일을 해제합니다. rm을 루트로 실행하면 파괴적이므로 해당 파일의 이름에 주의하십시오.
다른 옵션을 모두 사용한 후에 수행했다고 가정하면 업데이트 명령을 다시 실행하고 어떤 일이 발생하는지 확인할 수 있습니다. apt-get 루틴이 실행되는 동안 파일을 다시 빌드할 수 있지만 해당 시점에 파일이 더 이상 존재하지 않기 때문에 더 이상 문제가 발생하지 않아야 합니다.