Environment

Environment 카테고리의 모든 포스트 - 한국어

1개의 포스트

/etc/environment 에 관해서(전역환경변수)

Linux /etc/environment 완벽 가이드

1. 개요

/etc/environment리눅스 시스템 전역에서 사용하는 환경변수를 설정하는 파일입니다.
주요 특징:

  • 로그인 세션 전체에 적용 (PAM 기반)
  • 쉘 종류와 무관 (bash, zsh, GUI 로그인, SSH 등)
  • 간단한 문법 (KEY=value)
  • 스크립트 기능 없음 (export, 변수 확장 불가)

목적: PATH, 로케일, 프록시 설정 등 공통 환경변수를 한 곳에서 관리.


2. 문법 및 제약

  • 형식: KEY=value (공백 포함 시 "쌍따옴표"로 감싸야 함)
  • export 키워드 사용 불가
  • $HOME, ~, 명령 치환($(...)) 동작 안 함
  • 주석은 보장되지 않으므로 가급적 피할 것

예시 문법

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
LANG="ko_KR.UTF-8"
JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
HTTP_PROXY="http://192.168.0.10:3128"
HTTPS_PROXY="http://192.168.0.10:3128"
NO_PROXY="localhost,127.0.0.1,10.96.0.0/12,10.244.0.0/16,.svc,.cluster.local"

3. 적용 범위와 우선순위

  • PAM을 거치는 로그인 세션(TTY, SSH, GUI)에 적용
  • 기존 세션에는 반영 안 됨재로그인 필요
  • 쉘 초기화 스크립트(/etc/profile, ~/.bashrc)에서 동일 변수를 재설정하면 덮어씀
  • systemd 서비스/etc/environment를 자동으로 읽지 않을 수 있음

4. 다른 설정 파일과 비교

파일대상특징
/etc/environment전역 세션간단한 KEY=value, 스크립트 불가
/etc/profile, /etc/bash.bashrc로그인 쉘export 가능, 조건문 가능
/etc/default/<서비스>서비스 전용Debian/Ubuntu 전통 방식
systemd unit 파일서비스 전용Environment=, EnvironmentFile= 사용

5. 설정 방법

sudoedit /etc/environment
# 또는
sudo nano /etc/environment

변경 후 새 세션에서 확인: