最小化自动安装的Centos7修改为中文显示

locale简介

参考: http://m.blog.chinaunix.net/uid-20621049-id-3427444.html
locale把按照所涉及到的文化传统的各个方面分成12个大类,这12个大类分别是:
1、语言符号及其分类(LC_CTYPE)
2、数字(LC_NUMERIC)
3、比较和排序习惯(LC_COLLATE)
4、时间显示格式(LC_TIME)
5、货币单位(LC_MONETARY)
6、信息主要是提示信息,错误信息,状态信息,标题,标签,按钮和菜单等(LC_MESSAGES)
7、姓名书写方式(LC_NAME)
8、地址书写方式(LC_ADDRESS)
9、电话号码书写方式(LC_TELEPHONE)
10、度量衡表达方式 (LC_MEASUREMENT)
11、默认纸张尺寸大小(LC_PAPER)
12、对locale自身包含信息的概述(LC_IDENTIFICATION)。

所以说,locale就是某一个地域内的人们的语言习惯和文化传统和生活习惯。一个地区的locale就是根据这几大类的习惯定义的,这些locale定义文件放在/usr/share/i18n/locales目录下面,例如en_US, zh_CN and de_DE@euro都是locale的定义文件,这些文件都是用文本格式书写的,你可以用写字板打开,看看里边的内容,当然出了有限的注释以外,大部分东西可能你都看不懂,因为是用的Unicode的字符索引方式。

问题描述

买个云服务器Centos7,执行–help命令的时候不显示中文,这对于英语不好的学渣来讲很不友好.

原因分析

查看locale.conf配置

[localhost root ~] #cat /etc/locale.conf 
LANG=zh_CN.UTF-8
LANG=en_US.UTF-8

locale配置中是中文,如果排除配置的问题,怀疑是字体缺失的问题.

解决办法:修改centos7系统语言为中文

查看系统当前语言

# 查看系统当前语言
echo $LANG

# 先查询语言环境
locale

# 查询系统支持的语言环境
locale -a

修改locale为中文

方法1:修改/etc/locale.conf中LANG为zh_CN.UTF8

# 一定要需要修改locale.conf中的LC_ALL
vim /etc/locale.conf

#添加内容
LC_ALL="zh_CN.UTF-8"

# vim保存退出
:wq

# 使用localectl永久修改locale的LANG
localectl set-locale LANG=zh_CN.UTF8

# 使配置生效
source /etc/locale.conf

方法2:使用localectl永久修改locale

# 使用localectl永久修改locale的LANG
localectl set-locale LANG=zh_CN.UTF8

结果验证

# 查看是否正常显示中文
date

以上方式不生效的解决办法

安装语言包(非必须执行)

# 安装中文命令行支持--找不到
yum install -y glibc-minimal-langpack
yum install -y glibc-langpack-zh

# 安装gui中文支持
yum install -y langpacks-zh_CN

# 安装英文语言包
dnf install -y glibc-minimal-langpack glibc-langpack-en

安装字体库

# 安装字体库
yum groupinstall -y "Fonts"

安装字体配置工具

# 安装字体工具
yum -y install fontconfig

刷新字体

# cd到字体目录
cd /usr/share/fonts

# 刷新字体
fc-cache -fv

重新登录后生效

重新登陆或者su - 即可使中文help生效.

修改centos7系统语言为英文

# 如果修改centos系统语言为英文  
vi /etc/locale.conf  
# 改为:
LANG="en_US.UTF-8"
# wq保存/etc/locale.conf  

# 使locale立即生效 | 或者reboot重启
source /etc/locale.conf

##### 方法2:使用localectl永久修改locale的LANG
localectl set-locale LANG=en_US.UTF-8