Linux系统locale(UTF-8)报错
2023-09-14 09:15:54 时间
Linux系统localeUTF-8报错
locale (UTF-8): 没有那个文件或目录
SSH登陆linux服务器,显示
warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): 没有那个文件或目录
警告: setlocale: LC_CTYPE: 无法改变区域选项 (UTF-8)(warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory)。
setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8) ,
[root@uatblockchain04 ~]# locale
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_ALL to default locale: No such file or directory
原因分析:
根据上面登录警告提示可知,系统已经设置了默认地区_语言.字符集为en_US.UTF-8
,但是在系统中没有定义对应的locale文件
,
所以只需要手动生成这个locale文件
即可!
解决办法
注意
:这种方法针对的是Centos7
,不适用
于Centos6
# 查看系统当前语言
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
https://stackoverflow.com/questions/58304278/how-to-fix-character-map-file-utf-8-not-found
# 安装语言包(非必需)
## 安装中文命令行支持--找不到包
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
结果验证
重新登陆ssh后告警消除
Centos6服务器locale告警(-bash: warning: setlocale:)的处理方法
ssh登陆Centos6服务器locale告警(-bash: warning: setlocale:):
-bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_COLLATE: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_MESSAGES: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_NUMERIC: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_TIME: cannot change locale (en_US.UTF-8): No such file or directory
解决办法
以下方法仅适用于Centos6
.
# 安装依赖的语言包
yum install -y glibc-common kde-l10n-Chinese
#编辑/etc/sysconfig/i18n
[root@centos6-vm01 ~]# vim /etc/sysconfig/i18n
#添加以下内容
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
SYSFONT="latarcyrheb-sun16"
#第一行解决了乱码问题
#第二行解决了"LC_ALL: cannot change locale (en_US.UTF-8)"的问题。
# 查看是否添加语言成功
cat /etc/sysconfig/i18n
# 使配置生效
source /etc/sysconfig/i18n
# 删除locale库再重建一下,前提是你的文件系统中要有相应的数据文件。
rm -f /usr/lib/locale/locale-archive
# 生成 en_US.UTF-8这个字符集的locale文件
## 配置的哪个语言就生成哪个语言文件
localedef -v -c -i en_US -f UTF-8 en_US.UTF-8
相关文章
- 如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等
- 应该知道的Linux技巧
- linux 系统调用sysconf【总结】
- linux下mysql 5.1.73 源码安装笔记
- Linux centos6.7 关闭防火墙
- Linux核心设计依据(七)系统调用
- linux查看进程被kill原因
- L55.linux命令每日一练 -- 第八章 Linux磁盘与文件系统管理命令 -- mkswap和swapon
- L54.linux命令每日一练 -- 第八章 Linux磁盘与文件系统管理命令 -- umount和df
- 解决VNC中Linux系统与Win系统中复制粘贴问题!(亲测有效!)
- Linux系统shell脚本之while循环实践1
- 全国职业院校技能大赛网络安全竞赛之Linux系统提权
- Linux基础命令-dd拷贝、转换文件
- Linux支持ntfs,exfat格式文件系统
- 周立功arm linux教程,极速搭建周立功IMX287A ARM Linux开发环境
- linux驱动中如何自动生成设备文件节点?
- Linux【JavaEE】—— 搭建 JavaEE 开发环境(附软件安装教程、下载地址)
- Linux-系统随你玩之--文件目录结构及属性
- 【Deepin 20系统】Linux系统安装gcc报错no acceptable C compiler found in $PATH
- windows和linux系统下测试端口连通性的命令
- Linux系统之Ansible的基本介绍
- 嵌入式Linux开发,Ubuntu下交叉编译内核报错:error while loading shared libraries: /lib/x86_64-linux-gnu/libc++.so:
- 安卓通过Linux Deploy安装linux系统
- 操作系统权限维持(十三)之Linux系统- SSH Keylogger记录密码后门
- 操作系统权限维持(十一)之Linux系统-SSH Wrapper后门