apt-get 업그레이드 오류

apt-get 업그레이드 오류

VMware 시스템에 Kali Linux를 설치한 후 resources.list 파일을 업데이트하려고 시도했지만 어떤 이유로 apt-get upgrade아래와 같이 명령을 사용하는 동안 오류가 발생했습니다.

E: /var/lib/dpkg/lock을 잠글 수 없습니다 - open(11: 리소스를 일시적으로 사용할 수 없음) E: 관리 디렉터리(var/lib/dpkg/)를 잠글 수 없습니다. 이를 사용하는 다른 프로세스가 있습니까?

apt-update명령은 작동할 때도 있고 금지된 IP 오류가 발생하여 Linux 저장소에 연결할 수 없는 경우도 있습니다. 내 Kali 저장소 resources.list 파일은 다음과 같습니다.

http://http.kali.org/kali칼리 롤링 메인 비자유 기여

이러한 오류를 수정하는 방법을 모르며 해결책을 찾을 수 없습니다.

답변1

  • 첫 번째 메시지는 처리하기 쉽습니다.

E: /var/lib/dpkg/lock 잠금을 획득할 수 없습니다. - 열림(11: 리소스를 일시적으로 사용할 수 없음)

이 메시지는 소프트웨어 설치/제거를 위한 다른 프로그램이 열려 있음을 나타냅니다. 소프트웨어를 찾아서 닫은 다음 시스템을 다시 시작해야 합니다.

  • 두 번째 오류 메시지는 까다롭습니다.

E: 관리 디렉터리(var/lib/dpkg/)를 잠글 수 없습니다. 다른 프로세스에서 사용하고 있습니까?

이 오류를 해결하는 한 가지 방법은 잠금 장치를 제거하는 것이지만 이는 최후의 수단입니다.권장되지 않음. 대안은 다음과 같습니다. apt 프로세스가 실행되는 동안 잠금을 설정하고 프로세스가 완료되면 잠금을 제거합니다. 잠금이 있고 확실한 프로세스가 실행되고 있지 않으면 프로세스가 어떤 이유로 중단되었음을 의미할 수 있습니다. 다음 명령을 시도해 보세요.

ps aux | grep apt

적어도 apt라는 단어가 포함된 프로세스는 캡처됩니다. apt-get 프로세스나 aptitude 프로세스가 멈춘 것처럼 보이면 시도해 볼 수 있습니다.

kill <apt_process_ID>

그래도 작동하지 않으면 시도해 보세요.

kill -9 <apt_process_ID>

이렇게 하면 프로세스가 종료되고 잠금이 제거될 수도 있습니다. apt 또는 aptitude 프로세스를 종료하는 것은 실제로 패키지 설치 중이 아닌 이상 무해합니다. 그럼에도 불구하고 프로세스가 중단되면 프로세스를 종료하는 것 외에는 선택의 여지가 없을 수 있습니다.

dpkg 프로세스가 활성화되어 있으면 패키지 데이터베이스를 조작할 수 있고 이를 종료하면 패키지 데이터베이스가 일관성 없는 상태, 즉 손상될 수 있으므로 dpkg 프로세스를 직접 종료하는 것은 좋은 생각이 아닙니다.

일반적으로 말하면 apt-get 또는 aptitude 프로세스를 종료하는 것이 훨씬 안전합니다.

이제 이전 단계가 실패하면 잠금을 제거해야 합니다. 이는 최후의 수단이며 권장되지 않습니다.

다음 명령을 사용하여 잠긴 파일을 삭제할 수 있습니다.

sudo rm /var/lib/apt/lists/lock

캐시 디렉터리에서 잠금 파일을 삭제해야 할 수도 있습니다.

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

그런 다음 Synaptic Package Manager를 다시 열어보세요.

관련 정보