Linux

[Linux] 공용 폴더 탈출기: 나만의 전용 도구함(~/.local/bin) 구축하기

FruFru__ 2026. 3. 26. 18:17

리눅스 서버에 이것저것 하다보니 이런 저런 개념들을 많이 접해서, 정리를 해두려고 합니다.

 

리눅스는 다중 사용자(Multi-User) 시스템이다..!

리눅스는 원래 커다란 슈퍼컴퓨터 한 대를 수십 명의 개발자가 동시에 나눠쓰기 위해 만들어졌다고 합니다.

 

따라서, 여러 사용자가 동시에 접속도 가능하고 각자 계정과 홈 디렉토리(/home/${username})를 가집니다.


 

📁 /bin (Root Bin): 시스템 기본 필수 명령어(ls, cp, mv, cat, bash 등)

📁 /usr/bin (User Bin): 리눅스 배포판에서 기본으로 제공하거나, 공식 패키지 매니저(apt, yum 등)로 설치한 공인된 도구들

📁 /usr/local/bin: 관리자가 인터넷에서 직접 다운로드해서 수동으로 갖다 놓은 사설 도구들

    프로그램 위치는 "설치 방식"에 따라 달라질 수 있음

 

처음에는, 이런 개념이 부족해서 제가 사용할 kubectl이랑 kind를 /usr/local/bin에 두었다가,

저만 사용할 수 있도록 변경하면서 알게 된 개념을 정리하려고 합니다...!

 

1. 기존

/usr/local/bin/kubectl
/usr/local/bin/kind

 

👉 문제:

  • 모든 사용자가 실행 가능
  • 누가 어떤 버전 쓰는지 통제 안 됨
  • 충돌 가능 (특히 kubectl 버전 중요함)

 

2. 변경

/home/uoahir/.local/bin/kubectl
/home/uoahir/.local/bin/kind

 

👉 해결:

  • uoahir 계정 전용 실행 파일
  • 다른 계정은 기본적으로 사용 못 함
  • 완전히 개인 환경 분리 성공 👍

개인 환경으로 분리하기 위한 작업 !!

 

1. 홈 디렉토리에 .local/bin 폴더를 만들어줍니다.

mkdir -p ~/.local/bin

~ : 내 홈 디렉토리 라는 뜻이라서, /home/uoahir/.local/bin  과 같은 의미입니다.

 

2. /usr/local/bin 에 있는 실행파일(kubectl/kind)을 내 폴더로 옮깁니다. (관리자 권한이 필요함 ! ! )

sudo mv /usr/local/bin/kind ~/.local/bin/
sudo mv /usr/local/bin/kubectl ~/.local/bin/

 

3. 명령어로 인식하게 만들어야 합니다. PATH 설정 @!

파일만 옮기면, 리눅스 터미널이 kind와 kubectl을 찾을 수 없습니다.

따라서, 사용자의 설정 파일에 PATH를 지정해줘야 합니다.

 

.bashrc라는 파일을 vi 편집기나 nano 편집기로 열어서

마지막 줄에 PATH 설정을 추가하고 저장합니다.

vi ~/.bashrc (또는 nano ~/.bashrc)

export PATH="$HOME/.local/bin:$PATH"

 PATH에 $PATH를 뒤에 붙여야, 내 폴더를 1순위로 찾고, 거기 없으면 기존 공용 폴더에서 찾게 됩니다.

$PATH를 빼먹으면, ls/cd 같은 기본 명령어도 못 쓰게 되니 ! 꼭 붙여주세요 !

 

4. 저장 후 .bashrc 파일을 터미널에 적용합니다.

source ~/.bashrc

 

아래 명령어로 PATH를 확인하면

echo $PATH

/home/uoahir/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

 

내 홈 디렉토리 내 ./local/bin 이 항상 우선 적용되는 걸 확인할 수 있습니다 . . !

 

kind랑 kubectl도 이제 자유롭게 사용할 수 있게 됩니다 . . !