Answers:
跑
yum reinstall glibc-common
然后确保没有进程删除/usr/lib/locale/locale-archive.*文件。
glibc-langpack-<language>
,例如glibc-langpack-en
。
我在MacOS上遇到了同样的错误。当您SSH到Linux机器时,他们拒绝设置UTF-8
语言环境。您可以通过locale
在MacOS终端和Linux框中运行命令来查看区域设置的差异。
要解决此错误,请在Mac上打开终端->首选项->配置文件->高级,然后取消设置Set locale environment variables on startup
。
现在,当您locale
在Mac上运行时。您会看到此更改已设置LC_CTYPE="C"
为LC_CTYPE="UTF-8"
先前的设置。
您必须关闭终端以实现此效果,然后登录到Linux框并运行yum update
。
希望能帮助到你 :)
如果您使用SSH从台式机连接到该主机,则通常/etc/ssh/sshd_config
包含
AcceptEnv LANG LC_*
这允许客户端将这些环境变量的值传播到新会话中。但是,如果未首先在桌面计算机上正确设置语言环境,这将导致在配置服务器上的SSH会话中将语言环境变量重新设置为空。
修理:
例如,在Windows 10 Ubuntu Shell窗口中,首先执行以下操作(注意:如果不是“ en_US.UTF-8”,请更改下面的所有条目以匹配您的语言环境):
sudo locale-gen en_US.UTF-8
sudo dpkg-reconfigure locales
然后关闭Ubuntu Shell窗口并重新打开,然后SSH到您要配置的服务器中,看看现在一切都很好...
如果没有,那么SSH进入您的服务器并执行以下操作:
vi /etc/profile.d/custom.lang.sh
然后点击I
进入“插入”模式。然后粘贴以下条目。然后ZZ
保存并退出:
## US English ##
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8
然后执行以下命令:
source /etc/profile.d/lang.sh
source /etc/profile.d/custom.lang.sh
然后:
reboot
看看这是否使一切都停止抱怨locale vars!
/etc/profile.d/lang.sh
而不会/etc/bashrc
被更新所覆盖。