Comment ajouter une prise en charge linguistique sur CentOS 7 (sur Docker)?

10

J'essaie de définir les paramètres régionaux sur japonais, mais l'image CentOS sur docker n'inclut pas la prise en charge de la langue.

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

J'ai vérifié grouplist par yum grouplistet n'inclut yum grouplist hiddenpas le support japonais.
Existe-t-il un moyen d'installer le support japonais?
Merci d'avance.

DIGITALSQUAD
la source

Réponses:

11

J'ai eu le même problème avec une image docker RHEL 7.4. yum reinstall glibc-commonen soi n'a pas résolu le problème. Il installait seulement l'anglais.

J'ai trouvé dans mon conteneur docker /etc/yum.confla ligne override_install_langs=en_US. Cela a causé l' yum reinstall glibc-commoninstallation de l'anglais uniquement.

Avec cette ligne commentée (ou modifiée à la valeur par défaut de tous), et en relançant, yum reinstall glibc-commonj'ai pu utiliser d'autres langues

Environnement initial après l'exécution / l'attachement du docker

# 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

Ma tentative de réinstaller glib-common avant de changer /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
#

Après avoir changé /etc/yum.confpour commenter la ligneoverride_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
la source
1

Vous devez réinstaller le glibc-commonpackage. En voici la preuve:

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

Remarque: locale -arépertorie les paramètres régionaux installés et les wc -lcompte, de sorte que ces nombres correspondent au nombre de paramètres régionaux avant et après la réinstallation glibc-common.

Yajo
la source
0

J'ai eu un problème similaire, car l'image CentOS est livrée sans module linguistique installé. J'ai installé glibc-langpack-en package d'avoir en soutien. Je suppose donc que vous avez besoin de glibc-langpack-ja .

yum install glibc-langpack-ja
Fabio Montefuscolo
la source