27 yum
每次我跑步yum install或yum update,我得到
无法设置语言环境,默认为 C
然后是其他信息。
如何避免收到此警告?
ohh*_*hho 23
我将以下语言环境相关设置放入/etc/bashrc(对于所有用户,bash):
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_COLLATE=C
export LC_CTYPE=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)
然后运行:
source /etc/bashrc
Run Code Online (Sandbox Code Playgroud)
或注销并登录。
小智 7
跑
yum reinstall glibc-common
然后确保没有进程正在删除 /usr/lib/locale/locale-archive.* 文件。
小智 5
我在 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_*
Run Code Online (Sandbox Code Playgroud)
这允许客户端将这些环境变量的值传播到新会话中。但是,这将导致区域设置变量在您正在配置的服务器上的 SSH 会话中重新设置为空,如果区域设置没有首先在您的台式机上正确设置。
修理:
例如,在 Windows 10 Ubuntu Shell 窗口中,首先执行(注意:如果不是“en_US.UTF-8”,请更改下面的所有条目以匹配您的语言环境):
sudo locale-gen en_US.UTF-8
sudo dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)
然后关闭 Ubuntu shell 窗口并重新打开,然后通过 SSH 连接到您尝试配置的服务器,看看现在是否一切正常...
如果没有,则通过 SSH 连接到您的服务器并执行以下操作:
vi /etc/profile.d/custom.lang.sh
Run Code Online (Sandbox Code Playgroud)
然后点击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
Run Code Online (Sandbox Code Playgroud)
然后执行以下操作:
source /etc/profile.d/lang.sh
source /etc/profile.d/custom.lang.sh
Run Code Online (Sandbox Code Playgroud)
然后:
reboot
Run Code Online (Sandbox Code Playgroud)
看看这是否让一切不再抱怨语言环境变量!
你可以试试
export LANG=en_US
Run Code Online (Sandbox Code Playgroud)
或者将其设置为类似的值。如果这解决了您的问题,您可以通过修改 bash 配置文件使其持久化。