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
변경 후 새 세션에서 확인: