如何在 CentOS 7(在 Docker 上)添加语言支持?

DIG*_*UAD 11 centos yum docker

我正在尝试将语言环境设置为日语,但 docker 上的 CentOS 映像不包含语言支持。

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
Run Code Online (Sandbox Code Playgroud)

我已经检查GROUPLISTyum grouplist以及yum grouplist hidden既不包括日本的支持。
有没有办法安装日语支持?
提前致谢。

小智 16

我在使用 RHEL 7.4 docker 映像时遇到了同样的问题。yum reinstall glibc-common本身并没有解决问题。它只是安装英语。

我在我的 docker 容器/etc/yum.conf中发现了该行override_install_langs=en_US。这导致yum reinstall glibc-common只能安装英文。

将此行注释掉(或更改为所有的默认值),然后重新运行yum reinstall glibc-common我可以使用其他语言

docker run/attach 后的初始环境

# 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
Run Code Online (Sandbox Code Playgroud)

我尝试在更改之前重新安装 glib-common /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
#
Run Code Online (Sandbox Code Playgroud)

更改/etc/yum.conf后注释掉该行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
Run Code Online (Sandbox Code Playgroud)


Yaj*_*ajo 1

您需要重新安装该glibc-common软件包。这是证明:

docker run -it --rm centos bash -c 'locale -a | wc -l && yum -y -q reinstall glibc-common && locale -a | wc -l'
53
789
Run Code Online (Sandbox Code Playgroud)

注意:locale -a列出已安装的语言环境,并对wc -l它们进行计数,因此这些数字是重新安装之前和之后的语言环境数量glibc-common