系统更新后 突然出现Failed to set locale, defaulting to C错误。※
网上搜索了各种解决方案,都是越解决问题越多。
找到个不提示这个错误的办法,就是在 ~/.bashrc 文件里面加上export LC_ALL=C
附上指定locale 并生成locale方法:
# 查看当前系统的本地化设置信息
localectl status
# 查看系统当前语言
echo $LANG
# 查看locale库是否存在
ll /usr/lib/locale/locale-archive
# 删除locale库再重建一下,前提是你的文件系统中要有相应的数据文件。
rm -f /usr/lib/locale/locale-archive
# 重新生成中文的locate文件
## 配置哪个语言就生成哪个语言文件
localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
如果出现报错:
# 安装语言包(非必需)
## 安装中文命令行支持--有可能找不到包
yum install -y glibc-minimal-langpack glibc-locale-source
yum install -y glibc-langpack-zh
# 安装gui中文支持
yum install -y langpacks-zh_CN
# 安装英文语言包
dnf install -y glibc-minimal-langpack glibc-locale-source glibc-langpack-en
# 重新安装glibc-common包(解决glibc不兼容的问题)
yum -y reinstall glibc-common
永久修改locale的LANG※
注意
: LANG=zh_CN.UTF8(没有-
)
# 一定要需要修改locale.conf中的LC_ALL
vim /etc/locale.conf
#添加内容
LC_ALL=zh_CN.UTF-8
# vim保存退出
:wq
# 使用localectl永久修改locale的LANG
## 相当于在/etc/locale.conf中添加LANG=zh_CN.UTF8
localectl set-locale LANG=zh_CN.UTF8
# 使配置生效
source /etc/locale.conf
上面这段设置,在我的系统里面是不行的,LC_ALL=zh_CN.UTF-8
始终报错,最后还是只能在~/.bashrc 文件里面加上export LC_ALL=C
临时解决