我对RHEL 7.4 docker镜像有同样的问题. yum重新安装glibc-common本身并没有解决问题.它只是安装英语.
我发现在我的docker容器/etc/yum.conf中包含了override_install_langs = en_US行.这导致yum重新安装glibc-common只能安装英语.
将此行注释掉(或更改为默认值all),并重新运行yum重新安装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
我在更改/etc/yum.conf之前尝试重新安装glib-common
# 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
#
更改/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