locale: No such file or directory
업무 특성상 다양한 OS를 접하고 있습니다.
RedHat Enterprise Linux 9.2 버전과 Rocky Linux 9.1 버전 등 테스트 용도로 가상머신을 만들다 보니, 설치 시에 Minimal 설치를 하게 되고, 언어팩 설정도 English만 선택해서 테스트를 진행합니다.
테스트를 진행하다 보니, locale을 한국어에 맞게 변경해야 하는 경우가 있는데 변경하고 나니 아래와 같은 오류가 발생합니다.
무엇 때문인지 같이 확인 해보도록 하겠습니다.
1. localectl list-locales 및 locale -a 로 설정 가능한 locale을 확인 해봅니다.
[root@rhel92 ~]# localectl list-locales
[root@rhel92 ~]# locale -a
둘의 출력 결과가 다른 이유는 아래와 같습니다.
localectl list-locales | systemd-locale을 관리하기 위한 명령어로, 시스템에 적합한 locale과 key mapping등을 설정하는데 권장되는 locale만 출력 해줍니다. |
locale -a | 사용자별 로케일을 포함한 시스템에서 설정 가능한 모든 locale을 출력해줍니다. |
2. 디렉토리도 확인 해봅니다.
[root@rhel92 ~]# ls -lR /usr/share/locale/ko_KR*
[root@rhel92 ~]# ls -lR /usr/lib/locale/ko_KR*
한국어 language pack이 설치되어 있지 않아서 오류가 발생하는 것으로 확인 됩니다.
glibc-langpack-ko를 설치 해보도록 하겠습니다.
언어팩 설치
1. glibc-langpack-ko 설치
[root@rhel92 ~]# dnf install glibc-langpack-ko
2. 설치가 잘 되었는지 확인합니다.
[root@rhel92 ~]# ls -lR /usr/share/locale/ko_KR*
[root@rhel92 ~]# ls -lR /usr/lib/locale/ko_KR*
위와 같이, RHEL9에서는 언어팩을 새로 설치하면 /usr/lib/locale 밑에 설치되는 것을 확인할 수 있습니다.
rpm -ql 명령어를 통해서도 언어팩 설치 위치를 확인할 수 있습니다.
[root@rhel92 ~]# rpm -ql glibc-langpack-ko-2.34-60.el9_2.7.x86_64
Locale 변경
설치한 locale을 적용 합니다.
locale을 변경한 이후에 실행하는 명령어 또는 프로그램에만 변경된 locale이 적용 된다는 것을 주의하셔야 합니다.
1. 현재 세션에만 적용
현재 접속하고 있는 세션(유저)에만 적용할 경우 아래와 같은 명령어를 사용합니다.
[root@rhel92 ~]# export LANG=eucKR
2. 모든 유저에게 적용
모든 유저에게 적용되는 locale을 변경하려면 localectl을 사용합니다.
root 권한이 필요합니다.
[root@rhel92 ~]# localectl set-locale ko_KR.eucKR
변경 후 해당 유저로 재접속 시에만 적용된다는 점 주의 하시기 바랍니다.
반응형
'Linux > Redhat' 카테고리의 다른 글
[RHEL-7] CentOS7, Rocky7 / 루트 디렉토리 용량 증설하기 (0) | 2023.10.05 |
---|