Rocky Linux / 언어 변경하는 방법
Rocky Linux의 시스템 기본 언어는 localectl로 확인하고 변경할 수 있습니다. 한국어 로케일이 없다면 먼저 glibc-langpack-ko를 설치한 뒤 localectl set-locale LANG=ko_KR.UTF-8을 실행하고, 로그아웃 후 다시 로그인하면 됩니다.
sudo dnf install glibc-langpack-ko sudo localectl set-locale LANG=ko_KR.UTF-8
로케일(locale)은 메시지 언어뿐 아니라 날짜, 숫자, 정렬과 문자 인코딩 규칙에도 영향을 줍니다. 서버 로그와 자동화 결과의 일관성이 중요하다면 무조건 한국어로 바꾸기보다 C.UTF-8 또는 en_US.UTF-8 유지가 적합한지도 검토하세요.
현재 언어와 로케일 확인하기
localectl status locale
localectl status는 시스템 기본 로케일과 콘솔 키맵을 보여 줍니다. locale은 현재 셸 세션에 실제로 적용된 LANG, LC_TIME, LC_MESSAGES 등의 값을 보여 줍니다.
시스템 설정을 바꿨더라도 기존 로그인 세션에는 이전 환경 변수가 남아 있을 수 있습니다. 변경 전후를 판단할 때 두 명령의 결과를 함께 확인하세요.
사용 가능한 로케일 찾기
localectl list-locales locale -a
목록에 ko_KR.UTF-8에 해당하는 로케일이 없다면 한국어 언어 팩을 설치합니다.
sudo dnf install glibc-langpack-ko
영어 로케일이 필요하다면 환경에 따라 glibc-langpack-en을 설치할 수 있습니다. 패키지 이름과 제공 여부는 Rocky Linux 버전과 활성화된 저장소에서 확인하세요.
dnf info glibc-langpack-ko dnf provides '*/ko_KR*'
시스템 기본 언어 변경하기
한국어로 변경하기
sudo localectl set-locale LANG=ko_KR.UTF-8
localectl은 시스템 로케일 설정을 관리하며, 일반적으로 /etc/locale.conf에 반영합니다. 이 파일에 사용할 수 있는 변수는 systemd locale.conf 공식 문서에서 확인할 수 있습니다.
영어 또는 중립적인 UTF-8 환경으로 변경하기
sudo localectl set-locale LANG=en_US.UTF-8
문제 해결 문서와 로그 검색을 영어 메시지 기준으로 수행한다면 영어 로케일이 편리할 수 있습니다. 설치된 환경에서 지원한다면 언어 의존성이 적은 C.UTF-8도 자동화 서버의 선택지가 됩니다.
변경 사항 적용 확인하기
로그아웃 후 다시 로그인하거나 새 SSH 세션을 연 뒤 확인합니다.
localectl status locale printf '%s\n' "$LANG"
재부팅은 일반적으로 필요하지 않지만, 이미 실행 중인 서비스는 시작 당시의 환경을 계속 사용할 수 있습니다. 서비스의 언어가 중요하다면 해당 서비스의 systemd 환경 설정을 별도로 확인한 뒤 안전하게 재시작하세요.
현재 터미널에서만 언어 바꾸기
시스템 전체 설정을 바꾸지 않고 현재 셸과 그 자식 프로세스에만 적용하려면 환경 변수를 설정합니다.
export LANG=ko_KR.UTF-8
명령 하나에만 적용하려면 명령 앞에 변수를 지정할 수 있습니다.
LANG=C.UTF-8 dnf info bash
이 방식은 현재 셸을 종료하면 사라집니다. 스크립트에서 출력 형식과 정렬 순서가 일정해야 한다면 필요한 로케일을 스크립트 안에 명시하는 편이 안전합니다.
LANG과 LC_*의 우선순위
| 변수 | 역할 | 주의점 |
|---|---|---|
LANG |
개별 항목이 지정되지 않았을 때 사용하는 기본 로케일 | 대부분의 시스템 언어 변경은 이 값으로 충분합니다. |
LC_MESSAGES |
프로그램 메시지 언어 | 다른 날짜·숫자 형식은 유지하면서 메시지만 바꿀 수 있습니다. |
LC_TIME |
날짜와 시간 표현 | 로그나 스크립트가 지역화된 날짜를 파싱하면 오류가 생길 수 있습니다. |
LC_ALL |
다른 로케일 변수를 모두 덮어씀 | 임시 진단에는 유용하지만 영구 설정에는 신중해야 합니다. |
LC_ALL이 설정되어 있으면 LANG을 바꿔도 결과가 달라지지 않을 수 있습니다.
env | grep -E '^(LANG|LC_)'
한글이 깨질 때 확인할 항목
locale -a에 대상 UTF-8 로케일이 있는지 확인합니다.- SSH 클라이언트와 터미널 프로그램의 문자 인코딩이 UTF-8인지 확인합니다.
- 사용하는 글꼴에 한글 글리프가 포함되어 있는지 확인합니다.
- 애플리케이션이 자체 언어·인코딩 설정을 사용하는지 확인합니다.
- 스크립트 파일과 데이터 파일이 실제로 UTF-8로 저장됐는지 확인합니다.
로케일과 글꼴은 서로 다른 문제입니다. 시스템 언어가 한국어여도 터미널 글꼴에 한글이 없으면 네모 상자로 보일 수 있습니다.
자주 묻는 질문
localectl을 실행했는데 현재 셸 언어가 바뀌지 않습니다
기존 셸은 로그인할 때 받은 환경 변수를 유지합니다. 로그아웃 후 다시 로그인하거나 새 SSH 연결을 열고 locale로 확인하세요.
서버 전체를 한국어로 바꾸는 것이 좋은가요?
운영팀과 자동화 기준에 따라 다릅니다. 오류 메시지를 영어로 검색하고 스크립트 출력을 일정하게 유지해야 한다면 영어 또는 C.UTF-8가 더 편리할 수 있습니다.
현재 명령 하나만 영어로 실행할 수 있나요?
LANG=C.UTF-8 명령처럼 명령 앞에 환경 변수를 지정하면 됩니다. 설치된 로케일 이름은 locale -a로 확인하세요.
키보드 배열도 같이 바뀌나요?
언어 로케일과 콘솔 키맵은 별도 설정입니다. localectl status에서 각각을 확인하고, 원격 SSH 터미널의 키보드 배열은 대개 클라이언트 운영체제 설정의 영향을 받습니다.
정리
한국어 로케일 팩을 설치하고 localectl set-locale LANG=ko_KR.UTF-8을 실행하면 Rocky Linux의 기본 언어를 바꿀 수 있습니다. 적용 여부는 새 로그인 세션에서 localectl status와 locale로 확인하세요.
운영 서버에서는 메시지 언어뿐 아니라 날짜·숫자·정렬 규칙과 자동화 영향도 함께 검토한 뒤 로케일을 선택하는 것이 안전합니다.









