트러블슈팅

[Ubuntu] 패키지 설치 시 cache lock 문제

JooRi 2025. 9. 18. 15:18
728x90
반응형
SMALL

 

리눅스(Ubuntu) 서버에서 패키지를 설치하다 보면, cache lock 문제로 설치가 되지 않는 경우가 있다.

우분투 서버에서 xinetd, telnetd 설치 시 발생한 lock 오류와 해결 방법을 정리해 보겠다.

  • 패키지 설치 시 lock 오류가 발생하면, 우선 잠금 파일 삭제 + dpkg 재설정을 시도
  • 그래도 안 되면 점유 중인 프로세스 확인 후 강제 종료
  • 마지막으로 설치 여부를 dpkg -l로 확인

 

문제 상황

텔넷을 설치하기 위해 sudo apt -y install xinetd telnetd 명령을 실행했을 때,

위와 같이 cache lock 에러가 반복 출력되며 설치가 진행되지 않았다.

 

 

Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend.
It is held by process 2469 (unattended-upgr)

 

출력 결과를 보면, 다른 프로세스(예: unattended-upgrades)가 dpkg를 사용 중이어서 잠금 파일(lock)을 점유한 상태라는 의미라고 볼 수 있다.

 

 

해결 방법: Lock 파일 삭제 및 dpkg 재설정

# lock-frontend, lock 파일을 삭제
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/dpkg/lock
sudo rm /var/cache/apt/archives/lock

# 패키지 상태 재설정
sudo dpkg --configure -a

 

 

이후 다시 설치 명령을 실행하였더니 정상적으로 패키지 설치가 진행되었다.

 

 

만약 위의 방법으로도 해결되지 않는다면, 락을 점유하고 있는 프로세스를 직접 찾아 종료해야 한다.

ps -ef | grep 1195
kill -9 1195

여기서 1195는 오류 메시지에서 확인된 점유 중인 프로세스 번호(PID)이다.

 

 

설치 완료 후 dpkg -l 명령으로 정상적으로 설치된 것을 확인할 수 있다.

 

끝..

 

728x90
반응형
LIST