리눅스에서 루트 권한 없이 패키지 설치하는 방법
리눅스 초보에서 개발 환경 세팅은 언제나 골치 아프다. 특히 루트 권한을 얻지 못할 때에는 더 심한데 그 이유는
-
패키지를 쉽게 설치할 수 있는 yum 같은 패키지 관리자가 루트 권한을 자주 요청하기 때문이고
-
그래서 직접 다운로드 받아서 설치하려고 해도 기본적으로 패키지가 설치되는 경로가 루트 권한을 필요로 하기 때문이다.
그래서 루트 권한이 없을 때에는 내가 권한을 모두 가지고 있는 홈 폴더에 설치해야 하는데 이 방법을 적는다.
내 홈폴더에 설치하는 과정은 밑에 두 가지 나눌 수 있다.
-
configure 파일을 이용해서 설치할 경로를 지정해주는 것
-
bash_profile 파일을 수정해서 명령어를 사용할 수 있도록 해주는 것
대부분의 패키지는 다운 받고 압축을 풀면 configure 라는 파일이 있고 이 파일을 이용해서 설치에 대한 다양한 옵션을 설정해줄 수 있다. 예를 들어 설치할 패키지 폴더에서
./configure --prefix=/home/USERNAME/PACKAGE_NAME
make && make install
을 실행하면 1번 과정을 완료한 것이다. 위에 입력한 경로에 가보면 설치되어 있는 패키지를 확인할 수 있다. 하지만 이렇게 설치를 해도 아직 명령어를 사용할 수 없는 상태이다. 예를 들어 파이썬을 설치하는 중이라면
python setup.py
이라는 명령어를 실행시켰을 때
bash: python: command not found
이라는 에러 메시지를 만나게 된다는 뜻이다. 아직 리눅스는 이 명령어를 어떻게 실행시키는지 모르는 상태이고 우리는 리눅스에게 ‘이 명령어를 치면 어느 경로를 참조해야 하는지’를 알려줘야한다. 그래서 우리는 ~/.bash_profile 를 수정한다. 단순히 .bash_profile 마지막 줄에
PATH=$PATH:$HOME/PACKAGE_NAME/bin
을 추가하는 일로 끝나는 데 막상 이렇게 수정한 후에 명령어를 다시 입력해봐도 똑같은 에러 메시지를 만날 수 있다. 그 이유는 .bash_profile은 쉘이 시작될 때만 읽히기 때문인데 이를 위해서 우리는 .bash_profile을 다시 읽어와야 한다.
source ~/.bash_profile
이라는 명령어로 .bash_profile을 다시 읽어올 수 있고 이제 명령어를 사용해보면 정상적으로 실행됨을 알 수 있다.