본문 바로가기

Linux

[Linux error] Could not open lock file /var/lib/apt/lists/lock

728x90
반응형

에러 발생

SSH 서버에 대한 설정을 할 때, ROOT 계정으로 SSH 접속 할 수 있도록 설정 하는 중에 오류가 생겨 강제 종료를 했다.

리부팅 후, 다시 설정을 하려고 하니 해당 오류가 발생했다.

 

apt update -y에 대한 오류

E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)

E: Unable to lock directory /var/lib/apt/lists/

W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied)

W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)

 

apt-get install openssh-server에 대한 오류

E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)

E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?

 

해결 과정

* 공부를 위해 해결 과정을 기록해 놓은 것일 뿐, 해결 방법은 아래에 따로 정리했다. 방법이 필요하다면 바로 아래로 가면 된다.*

둘 다 같은 이유로 오류가 나는 듯 한데, 원하는 파일에 접근할 수 없어서 문제인 듯 하다.

아래 오류에서는 마지막에 root가 맞는지 확인하고 있다.

 

그렇다면.. 리눅스 초보인 나는 이 root 권한이 뭔지 구글링 해본다.

 

리눅스에서 특정 명령을 실행하거나 파일에 접근하려면 루트(root) 권한이 필요한데, 일반 사용자(유저)가 root 권한을 얻기 위해 su, sudo 명령어를 사용한다.

 

아하, 리부팅하고 root 권한을 갖지 않은 채 권한이 필요한 행위를 자꾸 하려고 하니 오류가 났던거구나! 깨닫고 명령어 사용하는 방법을 찾아본다. su와 sudo의 차이점, 구체적인 사용 방법은 이 포스팅에서는 다루지 않을 것이다. 일단 오류에 대한 포스팅이기에 오류 해결 방법에 대하여 집중하여 sudo 명령어를 사용해 보자.

 

주황색으로 가린 부분은 server 이름과 username이다. 신경 쓸 필요 없다.

중요한 것은 연두색 글자 부분인데, sudo를 앞에 붙이고 명령을 실행하니, 아래에 잘 실행된 것을 확인할 수 있다.

 

해결 방법

sudo 실행할 명령어

 

이렇게 실행하면, root 권한을 가진 채 명령어를 실행하게 되어 오류가 발생하지 않는다.

저게 헷갈린다면 해결 과정의 이미지 속 연두색 글씨를 보면 사용 방법 예시를 볼 수 있다.

728x90
반응형