King of Stock
리눅스(Debian) 로케일 설정 본문
본 포스트는 필자가 GCP 환경에 생성한 VM 인스턴스에(Debian OS) 한글이 깨지는 현상을 확인하고 한글 로케일 설정을 진행한 과정을 기록했다.
작성된 본 포스트는 이것을 읽는 사람을 고려하지 않았기 때문에 생소한 용어나 혹은 단어가 사용될 수 있다.
OS 정보
본 포스트의 작업은 Debian Linux 환경에서 진행했고, 관련 OS 정보는 아래 예시와 같이 파일의 내용을 출력하여 확인할 수 있다.
cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
로케일 확인
현재 설정된 로케일을 확인하는 방법은 다양하지만 다음과 같이 단순하게 환경변수에 설정된 값을 출력해보는 것이 제일 간단해 보인다.
echo $LANG
C.UTF-8
실행을 해보니 출력된 값이 내가 원하는 ko_KR.UTF-8 값으로 나오지 않는 것을 확인 했다. 즉 현재 한글 로케일이 설정되지 않은 상태이다. Debian Linux에서 다른 방식으로 설정된 로케일을 확인하려면 다음과 같이 설정 파일의 내용을 출력하여 확인할 수 있다.
cat /etc/default/locale
LANG=C.UTF-8
설정할 수 있는 로케일 정보를 확인
현재 OS 환경에서 설정할 수 있는 로케일 정보를 열람해야 한다.
locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
C
C.UTF-8
POSIX
위에서 보면 내가 설정할 ko_KR.UTF-8 값은 보이지 않는 게 확인되었다.
이런 상태라면 OS 환경에 한글 로케일 사용을 위해서 로케일 데이터를 설치해야 한다.
한글 로케일 사용을 위한 로케일 데이터 설치(선택)
한글 로케일 사용을 위해서 로케일 데이터를 설치한다. 이 데이터는 https://packages.debian.org/bullseye/locales 주소에서 자세한 내용을 확인할 수 있다.
이제 로케일 데이터를 apt-get 커맨드를 통해서 설치한다.
sudo apt-get update
sudo apt-get install -y locales
업데이트를 한번 실행한 뒤에 설치를 진행하는 게 더 좋으니 업데이트 이후 로케일 데이터 설치를 진행한다.
기본 로케일을 한글 로케일로 설정
필요한 로케일 데이터의 설치를 완료했으면 이제 현재 OS 환경에 기본 로케일로 설정할 수 있는 상태가 된다.
로케일 데이터를 생성하고 기본 로케일 선택을 할 수 있게 CUI 환경에서 도와주는 커맨드를 다음과 같이 실행했을 때 오류가 발생한다면 위에서 언급된 locales 설치를 하지 않은 것이다.
sudo dpkg-reconfigure locales
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_TERMINAL = "iTerm2",
LC_CTYPE = "UTF-8",
LANG = "C.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("C.UTF-8").
dpkg-query: package 'locales' is not installed and no information is available
Use dpkg --info (= dpkg-deb --info) to examine archive files.
/usr/sbin/dpkg-reconfigure: locales is not installed
(locales 설치를 완료한 이후에) 로케일 재설정을 위해서 아래와 같이 커맨드를 실행하여 CUI 환경으로 진입한다.
sudo dpkg-reconfigure locales
아래의 이미지는 위에서 실행한 재설정 커맨드의 실행 결과이다. 보시다시피 CUI 기반으로 사용자의 편의를 위해서 원하는 로케일 데이터를 선택할 수 있다.
CUI 사용키
- 이동: ↑ ↓
- 선택 및 해제: space
- 저장: enter
이미지는 ko_KR.UTF-8 로케일을 선택하였다.
위에 과정에서 키보드의 enter를 누르면 아래와 같이 기본 로케일을 선택하는 과정이 있다. 여기서 ko_KR.UTF-8 선택 후 저장한다.
CUI 환경에서 저장을 완료하면 아래와 비슷한(?) 한글 로케일 데이터를 생성하고 기본 로케일을 한글로 지정하는 과정을 형태로 볼 수 있다.
sudo dpkg-reconfigure locales
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_TERMINAL = "iTerm2",
LC_CTYPE = "UTF-8",
LANG = "C.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("C.UTF-8").
Generating locales (this might take a while)...
ko_KR.UTF-8... done
Generation complete.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LC_TERMINAL = "iTerm2",
LANG = "C"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LC_TERMINAL = "iTerm2",
LANG = "C"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
그리고 마지막으로 재시작을 해준다.
sudo reboot
'IT 기술' 카테고리의 다른 글
Subclassing enum.Enum in python (0) | 2022.03.06 |
---|---|
C# EntityFramework 설정 (0) | 2021.02.28 |
VSCode diff 툴 (0) | 2020.08.25 |
[DNS] ubuntu server 18.04 DNS 서버 구성해보기 (0) | 2019.12.21 |
[shell] if문에서 문자열 비교가 안될때 (0) | 2019.12.05 |