우분투 리눅스에서, nginx 서버 설치하는데 첫 시작부터 안되네요.. 너무 간단해서 기억하고 있던 명령이 처음 보는 메시지를 뿜어대서 당황했습니다. 알고 있으시겠지만 쉽게 nginx를 설치하는 방법으로 sudo apt install nginx 명령 입력하면 되는데 오늘은 대충 뭔가 대기하는 느낌의 오류(?) 가 났습니다..

Waiting for cache lock: Could not get lock

구글링 해서 찾아보니 제가 Ubuntu서버에 패키지를 업데이트를 했었는데. 이런 작업이 중단(완료)되지 않아서 dpkg 파일(Debian 패키지 관리자)이 잠긴 상태라고 합니다.. 이 오류를 해결하는 방법은 2가지입니다.

 

해결방법1. 업데이트 끝날 때까지 기다린다.

자신이 다른 프로그램을 설치중이거나 중요한 업데이트가 진행되고 있다면 몇 분 기다려주세요. 앞선 작업이 끝나면 대기하던 작업이 자연스럽게 진행될 겁니다.

 

해결방법2. apt 프로세스를 강제로 중단시킨다

기다려도 계속 대기 중이면... 그냥 apt를 죽여주세요. 방법은 아래와 같습니다.

 

① ps aux | grep -i apt로 현재 업데이트 프로세스가 있는지 확인한다.

우분투 APT 업데이트 중단

 

② process id를 찾아 kill 한다

Ubuntu process kill

kill -9 명령으로 sudo apt -y upgrade와 sudo apt install nginx의 process_id를 찾아 죽이세요. 명령어로 죽이자마자 대기 중이던 nginx 설치가 진행되었습니다. 

 

③ apt를 이용한 설치가 진행된다

Ubuntu 오류가 해결됬다

apt 업데이트를 kill 하자마자 바로 진행됩니다.

 

 

이상입니다.