구글 클라우드 터미널 오류(unable to acquire the dpkg ..)

전은평·2023년 4월 27일
0

처음으로 구글 클라우드를 이용해서 인스턴스(instance)를 하나 만들어 봤다.

해당 인스턴스 내에서 docker를 이용하기 위해 설치는 했다.

해당 명령어 apt install docker-compose

하지만 아래와 같은 오류가 발생하였다.

이는 우분투로 운영체제를 설정하고 인스턴스를 만들었기 때문에, apt 명령어를 사용해야 하는데 이는 우분투의 패키지 관리툴이다. 맥북의 brew와 동일한 역할한다.

아무튼! 처음엔 이런 오류가 발생할텐데 sudo apt update 명령어를 통해 업데이트를 한번 한 후 다시 설치를 해주어야한다.
이후 문제 없이 프로그램을 설치할 수 있었다.

그 이후에 설치 또한 sudo를 붙여줘서 관리자 권한으로 실행을 하니 문제없이 실행되었다.

🤔 아까부터 sudo를 계속 붙이는데 이는 왜 붙여야 하는 걸까?
안붙일 순 없을까?

리눅스에서 특정 명령을 실행하거나 파일에 접근하기 위해서는 루트(root) 권한이 필요한데 사용자가 root 권한을 사용하기 위해서 sudo라는 명령어를 사용해야 한다.

이러한 sudo 명령에 대한 사용 권한은 해당 사용자 계정이 sudo 그룹에 소속되어 있느냐에 의해 결정된다.

그렇기에 sudo 명령어 없이 사용하고 싶다면, 사용자에게 sudo 권한을 부여하면 된다.
이는 sudo 그룹에 사용자를 추가/삭제처리를 해줌으로써 해결할 수 있다.

매번 sudo를 붙이기 귀찮기도 하고, sudo를 이용하게 되면, 해킹(버퍼 오버 플로우 : 관리자 권한 탈취)의 우려도 있기 때문에 sudo 명령어를 사용하는 것보다는 , 아래의 명령어를 입력하여 사용자를 관리자 sudo 그룹에 추가하면 된다.

그럼 해당 프로그램을 sudo 없이 실행하게 설정해 줄 수 있다.

sudo usermod -aG docker 내이름

프로그램이 관리자 권한으로 실행해야하는지, 내가 직접 실행할 수 있는지 확인하는 방법은 아래의 명령어를 입력하면 된다.

cat /etc/group

그럼 위와 같은 화면을 볼 수가 있을텐데, 기존 관리자 권한으로 설정되어 있던 docker를 내가 실행할 수 있게 설정해 주었다.

profile
`아는 만큼 보인다` 라는 명언을 좋아합니다. 많이 배워서 많은 걸 볼 수 있는 개발자가 되고 싶습니다.

0개의 댓글