Jak dodać obsługę języka w CentOS 7 (w Docker)?

10

Próbuję ustawić język lokalny na japoński, ale obraz CentOS w oknie dokowanym nie obsługuje języka.

bash-4.2# yum groupinstall -y "Japanese Support"
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.btte.net
 * extras: centos.mirror.secureax.com
 * updates: centos.mirror.secureax.com
Warning: group Japanese Support does not exist.
Maybe run: yum groups mark install (see man yum)
No packages in any requested group available to install or update

Sprawdziłem grouplist przez yum grouplisti yum grouplist hiddenani zawierać japońską Support.
Czy jest jakiś sposób na zainstalowanie japońskiego wsparcia?
Z góry dziękuję.

DIGITALSQUAD
źródło

Odpowiedzi:

11

Miałem ten sam problem z obrazem dokera RHEL 7.4. yum reinstall glibc-commonsam w sobie nie rozwiązał problemu. Instalował tylko angielski.

Znalazłem w moim pojemniku dokowanym /etc/yum.conflinię override_install_langs=en_US. Spowodowało yum reinstall glibc-commonto zainstalowanie tylko języka angielskiego.

Po skomentowaniu tego wiersza (lub zmianie na domyślną wartość wszystkich) i ponownym uruchomieniu yum reinstall glibc-commonmogłem używać innych języków

Środowisko początkowe po uruchomieniu / podłączeniu dokera

# locale -a
C
POSIX
en_US.utf8
# grep lang /etc/yum.conf
override_install_langs=en_US
# export LANG=fr_FR
# ls foo
ls: cannot access foo: No such file or directory

Moja próba ponownej instalacji glib-common przed zmianą /etc/yum.conf

# yum -y -q reinstall glibc-common
Failed to set locale, defaulting to C
# ls foo
ls: cannot access foo: No such file or directory
# locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
POSIX
en_US
en_US.iso88591
en_US.iso885915
en_US.utf8
#

Po zmianie, /etc/yum.confaby skomentować linięoverride_install_langs=en_US

# vi /etc/yum.conf
# grep lang /etc/yum.conf
#override_install_langs=en_US
# yum -y -q reinstall glibc-common
Failed to set locale, defaulting to C
# ls foo
ls: cannot access foo: Aucun fichier ou dossier de ce type
# locale -a | wc -l
789
William D. Irons
źródło
1

Musisz ponownie zainstalować glibc-commonpakiet. Oto dowód:

docker run -it --rm centos bash -c 'locale -a | wc -l && yum -y -q reinstall glibc-common && locale -a | wc -l'
53
789

Uwaga: locale -awyświetla listę zainstalowanych ustawień regionalnych i wc -lje zlicza, więc te liczby to liczba ustawień narodowych przed i po ponownej instalacji glibc-common.

Yajo
źródło
0

Miałem podobny problem, ponieważ obraz CentOS nie ma zainstalowanego pakietu językowego. Zainstalowałem pakiet glibc-langpack-en , aby uzyskać wsparcie en . Więc przypuszczam, że potrzebujesz glibc-langpack-ja .

yum install glibc-langpack-ja
Fabio Montefuscolo
źródło