docker-compose를 이용해야 하는데 권한 문제 때문에 sudo를 이용해서 실행을 했어야 했다.
그런데 sudo를 이용하니 커맨드를 찾을 수 없다는 문구가 출력된다.
sudo which docker-compose
를 한 결과 /sbin
, /bin
, /usr/sbin
, /usr/bin
모두에서 찾을 수 없다고 나온다. 반면 which docker-compose
를 해보니 /usr/local/bin/docker-compose
에 있다고 나온다.
디렉토리 | 용도 | 예시 |
---|---|---|
/bin | 모든 사용자를 위해 단일 사용자 모드에서 사용 가능해야 하는 명령어 바이너리 | cat, ls, cp |
/sbin | 필수 시스템 바이너리 | init, ip, mount |
/usr/bin | 모든 사용자의 비 필수 명령어 바이너리 | |
/usr/sbin | 비 필수 시스템 바이너리 | 다양한 네트워크 서비스 데몬 |
/usr/local | 로컬 데이터의 3차 계층, 이 호스트에만 적용. bin/, sbin/같은 서브 디렉토리를 가짐. package manager로부터 관리되지 않는 binaries들 |
visudo를 이용하여 sudoers의 Secure Path 수정.
(추가하고자 하는 디렉토리가 믿을만한 경로여야함)
$ sudo visudo
(...)
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
(...)
마지막에 /usr/local/bin을 추가해줬다.
bin directory와 sbin directory의 차이
[Linux] Sudo 명령의 Secure Path
위키백과, 파일시스템 계층구조 표준