지원되지 않는 로케일: en_US.utf8

지원되지 않는 로케일: en_US.utf8

저는 리눅스 민트 17.3을 사용하고 있습니다. 시스템 로그에서 이것을 볼 수 있습니다.

Processing triggers for initramfs-tools (0.103ubuntu4.3) ...
Apr  9 12:01:47 vb-nb-mint updates: update-initramfs: Generating /boot/initrd.img-3.19.0-32-generic
Apr  9 12:01:51 vb-nb-mint updates: Warning: No support for locale: en_US.utf8

방금 이 경고를 눈치챘나요? en_US.UTF8이어야 하지 않나요? 그냥 생각해 보세요. 그렇지 않으면 이것이 무엇에 관한 것인지 전혀 모릅니다.

locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=

답변1

구경하다 /usr/lib/locale/. 출력이 다음과 같으면 계속 읽으십시오.

ls /usr/lib/locale/
C.UTF-8  locale-archive

내가 아는 한 경고는 중요하지 않지만 다음을 시도해 볼 수 있습니다.

sudo locale-gen --purge --no-archive

이 명령은 아카이브 파일을 삭제하고 .utf8해당 파일로 대체합니다.

나중에 살펴보면 /usr/lib/locale/다음과 같이 보일 것입니다.

ls /usr/lib/locale/
C.UTF-8     de_LI.utf8  en_CA.utf8  en_IN       en_US.utf8
de_AT.utf8  de_LU.utf8  en_DK.utf8  en_NG       en_ZA.utf8
de_BE.utf8  en_AG       en_GB.utf8  en_NZ.utf8  en_ZM
de_CH.utf8  en_AU.utf8  en_HK.utf8  en_PH.utf8  en_ZW.utf8
de_DE.utf8  en_BW.utf8  en_IE.utf8  en_SG.utf8

답변2

Mint 19.3의 locale-gen 스크립트에는 적어도 17.1에서 지금으로 업그레이드할 때 "--keep-existing" 옵션만 있습니다.

/etc/locale-gen에서 편집된 새 로케일은 /usr/lib/locale에 기록되지 않습니다. 하지만 /usr/lib/locale/locale-archive.

이 문제를 해결하고 디렉토리 및 관련 필수 로케일을 생성하려면 사용자 루트로서 다음을 입력하십시오.

CD /usr/lib/로케일

localedef -f UTF-8 -i en_US ./en_US.utf8

(기본 디렉토리를 생성하는 데 필요한 "/"에 유의하세요)

다음을 올바르게 생성합니다.

ls /usr/lib/locale/en_US.utf8/

LC_ADDRESS LC_IDENTIFICATION LC_MONETARY LC_PAPER LC_COLLATE LC_MEASURMENT LC_NAME LC_TELEPHONE LC_CTYPE LC_MESSAGES LC_NUMERIC LC_TIME

처음에는 왜 이런 일이 발생합니까? /usr/share/initramfs-tools/hooks/root_locale 스크립트(다른 스크립트에서는 호출되지만 일반적으로 update-initramfs에 의해 호출됨)는 다음을 표시하기 때문입니다.

[ -z "$ROOT_LOCALE" ] && ROOT_LOCALE=`echo $LANG | sed -e 's/UTF/utf/' -e 's/utf-8/utf8/'`

이는 Mint의 향후 버전에는 해당되지 않을 수 있습니다(새로 설치하거나 다른 릴리스에는 적용되지 않으며 업데이트나 업그레이드로 덮어쓰여질 수 있음).

귀하(또는 다른 사용자)가 정기적으로 둘 이상의 언어를 사용하는 경우 해당 사용자를 귀하의 홈 디렉토리에 추가할 수 있습니다.

이는 경고이므로 무시해도 됩니다! 편집하다

"dpkg-reconfigure locales"를 사용해도 원하는 결과가 나오지 않습니다. 업그레이드된 Mint 19.3에서 테스트했습니다. (명령줄에서는 locale-gen을 호출하는 것처럼 보입니다)

관련 정보