본문 바로가기

Development/Linux

[Linux]Ubuntu apt-get install 에러 해결

가상머신에 설치한 ubuntu에서 vim 에디터를 설치하려고 sudo apt-get install vim 을 실행하자 다음과 같은 에러 메세지가 출력됐다.

 

E: Could not get lock /var/lib/dpkg/lock-frontend - open(11: Resource temporarily unavailable)

E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

 

패키지 설치 하나도 그냥 순조롭게 되는 법이 없는 현실에 나는 부들거릴 수 밖에 없었다...

 

 

마음을 가라 앉히고 바로 구글링을 시전하여 가장 믿음직스러워 보이는 링크로 들어가서 천천히 따라해봤다. 여기로

 

[Solved] Could not get lock /var/lib/dpkg/lock Error in Ubuntu

Problem with Ubuntu package install? Easily fix E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it? error.

itsfoss.com

영어로 되어있어서 귀찮기는 했지만 case 별로 나와있어서 아주 큰 도움이 되었다.

여기서부터는 내가 해결한 과정을 기록한 것이다.


1. apt에 관련된 프로세스를 강제 종료

 

$ ps aux | grep -i apt

위 명령어를 실행하면 다음과 같이 출력된다.

다음 명령어를 통해 해당 pid를 가지는 프로세스를 종료시킨다.

$ sudo kill <pid>

나의 경우 931번 프로세스를 종료시켰더니 945번 프로세스도 함께 종료되었다.

$ sudo killall apt apt-get

위 명령어로 더 쉽게 apt관련 프로세스를 종료시킬 수도 있다. (프로세스 ID 별로 종료시키지 않고 한번에 싹 다!!)

 

대부분의 경우 위 방법대로 하고 다시 apt-get 을 통해 install을 하면 잘 작동한다고 나와있는데 나는 그렇지 않았다;;

여전히 에러가 발생했다. 

 

2. lock 파일 삭제

 

이전에 실행했던 apt 명령이 정상적으로 종료되지 않으면 lock file이 삭제되지 않고 남아있어서 새로운 인스턴스가 apt-get이나 apt 명령을 수행하는 것을 막는다고 한다.( 제대로 이해한건지는 모르겠지만 이런 느낌인것 같다.) 따라서, 삭제되지 않은 lock file을 직접 삭제해주면 될 것이다. 

 

에러메시지에 따라 해결방법이 다른데 나는 Troubleshooting 1 매뉴얼대로 진행했다.

 

다음 명령어를 차례대로 실행한다.

$ sudo lsof /var/lib/dpkg/lock-frontend

lsof 명령어를 통해 해당 lock-frontend 파일을 어떤 프로세스가 잡고 있는지 확인한다.

COMMAND 에 unattende 라고 나오면 해당 프로세스가 종료될때까지 기다리라고 나와있는것 같은데 나는 그냥 kill 해버리고 lock file을 삭제해버렸다..

 

그리고 다시 apt-get install vim 을 실행했더니 잘 설치가 됐다.