Tom's Note
Published 2020. 6. 27. 15:57
[리눅스] 환경설정 및 경로 리눅스
반응형

환경설정 Path 설정을 정리해보자.

 

리눅스를 사용하다보면 bash, shell, profile ... 등 많은 path와 관련된 용어를 듣게 된다.

 

(단순히 생각해보면, 코딩에서도 전역 설정 후 메인 함수로 들어가게 되듯이 이 또한 같다고 생각하면 된다.)

 

리눅스 시스템에 로그인하면 bash 프로그램이 시작되어 전체환경을 설정하는 전역 환경설정을 하게되고 

 

개인 사용자 홈 디렉토리에 있는 시작 파일을 읽어 환경설정을 덮을 수 있다

 

앞서 말했듯이 개인 사용자를 언급하였다. 개인 사용자라함은 로그인한 상태를 말한다. 

 

자, 그럼 로그인과 비로그인에 대해서 알아보자

 

로그인과 비로그인은 로그인 쉘 세션/ 비로그인 쉘 세션으로 표현한다.

 

로그인 쉘과 비로그인 쉘 경로의 차이를 살펴보자.

 

로그인 쉘  경로: ID와 Password를 입력하여 쉘에 접근하는 방법

 

실행순서 : /etc/profile --> ~/.bash_profile --> ~/.bash_login --> ~/.profile

 

  • /etc/profile : 모든 사용자에게 적용되는 일반 환경 설정
    • 내부에서 /etc/bash.bashrc를 실행
  • ~/.bash_profile : /etc/profile의 설정을 확장하거나 무시한다.
    • 각 사용자 홈디렉토리에 존대하는 쉘 환경설정 파일
    • 사용자 홈에서만 사용하는 터미널 설정과 환경변수 설정 기록
    • 로그아웃 될 때까지 유지 및 source 명령어로 설정 적용 가능
  • ~/.bash_login : ~/.bash_profile이 없으면 bash는 이 스크립트를 읽는다.
  • ~/.profile :  ~/.bash_profile 또는 ~/.bash_login 이 없으면 bash는 이 스크립트를 읽는다
    • 내부에서 ~/.bashrc를 실행

 

비로그인 쉘 경로: GUI 상에서 바로 터미널로 접근하는 방법

실행순서 : /etc/bash.bashrc --> ~/.bashrc

 

비로그인 쉘은 로그인 쉘의 상위 프로세스로부터 환경 값을 물려 받는다.

 

흔히 우리가 사용하는 터미널이라고 생각하면 된다.

 

또는 터미널을 닫거나 다른계정에서 로그아웃할 때, logout이 안되고 exit 명령어가 되는 것을 비로그인 쉘이라고 생각하면 된다.

 

 

최종적으로 터미널은 .bashrc로 실행

사용자가 정의한 변수, 앨리어스, 함수 등과 같은 사용자가 사용하는 항목설정

 

로그인이든 비로그인이든 쉘이 시작될 때마다 실행

 

bashrc와 profile의 차이점

bashrc는 시스템 부팅 후 실행되고 비로그인 전용 쉘

 - 비로그인 쉘은 gnome-terminal과 같이 로그인이 필요가 없는 프로세스

 - 환경변수 X

 

profile은 로그인 전용 쉘

 - 로그인시 적용되며 다른 계정도 적용

 - 환경변수 O

 

참고 : 

rc - run commands의 약어

 

 

반응형
profile

Tom's Note

@크크크크

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!