이전에 apt에 관련된 명령어를 알려줬을 때 sudo를 붙여서 알려줬다. 그럼 sudo를 안 붙이고 명령어를 실행시키면 어떻게 되는 지 확인해보자. 그리고 왜 sudo를 붙여야 하는 지 지금까지 배운 내용을 활용해 이유를 분석해보자.
먼저 기존에 배웠던 sudo apt install [패키지명] 명령어에서 sudo를 빼고 명령어를 실행시켜보자.
$ apt install nginx
첫 번째 줄의 에러 메시지를 자세히 살펴보면 이렇게 나와있다.
Could not open lock file /var/lib/dpkg/lock-frontend - open (13 : Permission denied)
이 에러를 풀어서 해석하자면 /var/lib/dpkg/lock-frontend라는 파일을 열 수 있는 권한이 없다는 뜻이다. 아마도 apt install 명령어를 실행시키는 순간, 내부적으로 /var/lib/dpkg/lock-frontend 파일에 접근해서 무언가를 처리해야 하는 로직이 포함되어 있기 때문에 이런 에러가 떴을 것이다.
그럼 해당 파일의 권한이 어떻게 설정되어 있는 지 직접 눈으로 확인해보자.
$ cd /var/lib/dpkg
$ ls -l
$ ls -l lock-frontend # lock-frontend 파일에 대해서만 조회
파일을 보면 소유자가 root이고, 소유 그룹이 root이다. 권한은 rw-r-----으로 설정되어 있다. root 이외의 사용자한테는 아무런 권한(---)도 없다. 그래서 ubuntu 계정에서 apt install 명령어를 실행시켰을 때 에러가 뜬 것이다.