CentOS7的locale配置,第1张

    前段时间公司项目导出文件名乱码,经过一番摸索,发现是linux服务器系统编码的锅,看了网上很多帖子,我也有了一些总结(以下出现linux都表示CentOS7)。

    一般来说,如果你的linux系统没人修改过字符集相关配置,那么你是算幸运的。我们中国的项目多数使用utf-8字符集,网上也有说明linux默认字符集是UTF-8,乍一看是统一的,不会乱码,但是实际上,linux默认是"en_USUTF-8"(至少我的是这样的),而我们需要的实际上不是这个,而是zh_CNUTF-8,所以我需要把系统字符集修改为"zh_CNUTF-8"。

修改步骤:

1)直接输入 locale 可查看当前linux系统字符集配置;

观察是否都为"zh_CNUTF-8"(LC_ALL可以是空的),如若不是,就需要往下走配置了

2)修改 /etc/localeconf文件;

这个文件的内容不需要多,如果你没有特殊需求(不同功能要求不同字符集编码),仅仅放一行,LANG="zh_CNUTF-8";然后就可以了,其他文件都不需要动,越动越乱。

3)让localeconf生效;

使用 source /etc/localeconf,然后使用 locale 命令查看是否字符集配置修改好。

说明:

第一点:网上有说法修改 i18n 文件,那要看你的目的是什么,我这里,这个文件根本不需要。因为我用的localeconf,这两个文件有一个就好,我推荐使用localeconf,centOS7默认没有i18n文件的。使用i18n就自求多福吧!

第二点:不建议对LC_ALL进行配置,确实没必要。如果你主动配置类LC_ALL可能会有很多麻烦事儿等着你。(比方说,有些linux版本,当LANG与LC_ALL配置值相同时,LC_ALL会在/etc/profileh/langsh中被置为空,自己去看langsh的内容,就明白了);补充一下,调用文件顺序profile-->langsh-->localeconf

第三点:不建议在profile文件中通过 export LANG="zh_CNUTF-8"来实现字符集修改(虽然也可以实现),个人感觉这样操作很不舒服。在localeconf配难道不香吗?(注意差别,差个"export")

第四点:如果你使用shell来连接linux服务器,那你需要当心了。网上有些说法是使用export LANG="zh_CNUTF-8"命令 或者是export LC_All="zh_CNUTF-8"来实现字符集修改,我感觉是在骗自己,虽然在当前shell使用locale可以发现修改成功,但当你重新打开一个shell,字符集还是修改之前的。原因百度上有说,linux对每个shell的这种临时配置是隔离的,只对当前shell有效。

第五点:其实上面的修改配置的 步骤3)source命令也是对当前shell的操作,你可以不执行步骤3,直接关闭当前shell,然后重新打开一个shell,你会发现,字符集已经修改好了,之所以要执行source命令是因为①要确定是否配置有误②不想重新打开shell,想在当前shell直接locale看修改结果。

第六点:如果你按照上面的提示修改了localeconf却发现执行locale的结果始终异常(不是你配置的那种字符集)那说明之前有人在此linux系统作了相关变量的配置,自己慢慢去找吧,按照打开shell的文件加载顺序,或是linux系统启动的文件加载顺序,一个一个去找,应当是对profile之后的某个文件(可能是当前用户的个性化脚本,如~/bashrc文件等)加了LANG变量或是LC_ALL变量的配置。

(以上仅代表本人粗浅的经验结论,若用不当之处,还望指教)

完(Aronc 20210327)

配置的环境及要求:

1假设在19216800网段内,要以IP为1921680240的Linux机器时间服务器。

21921680240服务器能上外网,能与比较权威的公网时间服务器同步

3同网段内的其他机器每小时自动向1921680240同步时间

一、安装

yum -y install ntp ntpdate

二、配置

21NTP server的主配置文件为/etc/ntpconf 现对/etc/ntpconf的各项进行说明

cp /etc/ntpconf /etc/ntpconfbak

vim /etc/ntpconf

2vi /etc/ntpconf(以下是ntpconf文件的内容)

#设置此服务器同上层服务器做时间同步的IP地址,prefer意味着首选IP地址

#经试验,下面的几个时间服务器速度还不错(默认配置即可)

server 2107214544 prefer

server 2182113042

server 0asiapoolntporg

server 1asiapoolntporg

server 2asiapoolntporg

#记录上次的NTP server与上层NTP server联接所花费的时间

driftfile /etc/ntp/drift

#设置默认策略为允许任何主机进行时间同步

restrict default ignore

#设置允许访问此时间服务器的时间服务的IP地址

#根据自己实际情况配置

restrict 127001

restrict 192168102  # 指定某台机器时间同步

restrict 19216800 mask 2552552550 #允许19216800/254子网内主机时间同步

restrict 0000 mask 0000 nomodify notrap #允许任何主机跟进行时间同步

#指定阶层编号为10,降低其优先度。

fudge 12712711 stratum 10

#设置ntp日志的path

statsdir /var/log/ntp/

#设置ntp日志文件

logfile /var/log/ntp/ntplog

三、维护

----添加为服务

chkconfig --level 345 ntpd on

----启动

service ntpd start

/etc/rcd/initd/ntpd start

----停止

service ntpd stop

/etc/rcd/initd/ntpd stop

----管理命令

ntpq –p #查看本机和上层服务器的时间同步结果

ntptrace #可以用来追踪某台时间服务器的时间对应关系

ntpdate IP #客户端要和NTP server进行时钟同步。

/var/log/ntp/ntplog #查看ntp日志

----------------------------------

开启防火墙端口

iptables -A INPUT -p udp -dport 123 -j ACCEPT

/etc/initd/iptables save

service iptables restart

四、配置客户端

测试同步:

ntpdate ip地址

设置自动同步:

echo “00 /1 root /usr/sbin/ntpdate 1921680240;/sbin/hwclock -w”>>/etc/crontab

每小时同NTP server进行一次时钟同步,并写入本机BIOS

redhat版本不同ntp的版本可能也会有所变化,在安装之前需要查找ntp服务,看下是否存在:

yum search ntp

2

查找到ntpx86_64,使用yum进行安装。安装时x64_64可以不输入。

yum install -y ntp

-y:不提示,直接安装

3

进入ntp配置目录:

vi /etc/ntpconf

4

进入ntpconf配置文件,注释以server开头的配置,并添加内容:server 12712711

添加完成保存退出。

5

重启ntp服务器,并查看状态是否running。

systemctl restart ntpdservice #重启服务

systemctl status ntpdservice #查看状态

6

查看ntp服务是否能够被同步,显示为“LOCAL”,表示成功。如果没有任何显示,客户端将无法同步。

END

步骤2(Client):

1

服务器已经配置完成,现在是Client配置,测试Client能否与Server相连。

2

在Clientt上使用ntpdate来同步:ntpdate 1921681162

同步后反馈是是成功同步的。

END

注意事项

时间上不能相差过远

1 安装 X-Window

首先我们需要安装 X-Window,在终端中运行下面的命令,安装会花费一点时间。

# yum check-update# yum groupinstall "X Window System"

installing x windows

#yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts

install gnome classic session

### 设置默认启动图形界面# unlink /etc/systemd/system/defaulttarget# ln -sf /lib/systemd/system/graphicaltarget /etc/systemd/system/defaulttarget

configuring graphics

# reboot

在服务器重启之后,我们就有了一个工作着的 CentOS 7 桌面环境了。

现在,我们要在服务器上安装 VNC 服务器了。

2 安装 VNC 服务器

现在要在我们的 CentOS 7 上安装 VNC 服务器了。我们需要执行下面的命令。

# yum install tigervnc-server -y

vnc server

3 配置 VNC

然后,我们需要在 /etc/systemd/system/ 目录里创建一个配置文件。我们可以将 /lib/systemd/sytem/vncserver@service 拷贝一份配置文件范例过来。

# cp /lib/systemd/system/vncserver@service /etc/systemd/system/vncserver@:1service

copying vnc server configuration

接着我们用自己最喜欢的编辑器(这儿我们用的 nano )打开 /etc/systemd/system/vncserver@:1service ,找到下面这几行,用自己的用户名替换掉 。举例来说,我的用户名是 linoxide 所以我用 linoxide 来替换掉 :

ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"PIDFile=/home/<USER>/vnc/%H%ipid

替换成

ExecStart=/sbin/runuser -l linoxide -c "/usr/bin/vncserver %i"PIDFile=/home/linoxide/vnc/%H%ipid

如果是 root 用户则

ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"PIDFile=/root/vnc/%H%ipid

configuring user

好了,下面重启 systemd 。

# systemctl daemon-reload

最后还要设置一下用户的 VNC 密码。要设置某个用户的密码,必须要有能通过 sudo 切换到用户的权限,这里我用 linoxide 的权限,执行“su linoxide”就可以了。

# su linoxide$ sudo vncpasswd

setting vnc password

确保你输入的密码多于6个字符

4 开启服务

用下面的命令(永久地)开启服务:

$ sudo systemctl enable vncserver@:1service

启动服务。

$ sudo systemctl start vncserver@:1service

5 防火墙设置

我们需要配置防火墙来让 VNC 服务正常工作。

$ sudo firewall-cmd --permanent --add-service vnc-server$ sudo systemctl restart firewalldservice

allowing firewalld

现在就可以用 IP 和端口号(LCTT 译注:例如 19216811:1 ,这里的端口不是服务器的端口,而是视 VNC 连接数的多少从1开始排序)来连接 VNC 服务器了。

6 用 VNC 客户端连接服务器

好了,现在已经完成了 VNC 服务器的安装了。要使用 VNC 连接服务器,我们还需要一个在本地计算机上安装的仅供连接远程计算机使用的 VNC 客户端。

怎样在 CentOS 70 上安装和配置 VNC 服务器

1 安装 X-Window

首先我们需要安装 X-Window,在终端中运行下面的命令,安装会花费一点时间。

# yum check-update# yum groupinstall "X Window System"

#yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts

### 设置默认启动图形界面# unlink /etc/systemd/system/defaulttarget# ln -sf /lib/systemd/system/graphicaltarget /etc/systemd/system/defaulttarget

# reboot

在服务器重启之后,我们就有了一个工作着的 CentOS 7 桌面环境了。

现在,我们要在服务器上安装 VNC 服务器了。

2 安装 VNC 服务器

现在要在我们的 CentOS 7 上安装 VNC 服务器了。我们需要执行下面的命令。

# yum install tigervnc-server -y

3 配置 VNC

然后,我们需要在 /etc/systemd/system/ 目录里创建一个配置文件。我们可以将 /lib/systemd/sytem/vncserver@service 拷贝一份配置文件范例过来。

# cp /lib/systemd/system/vncserver@service /etc/systemd/system/vncserver@:1service

接着我们用自己最喜欢的编辑器(这儿我们用的 nano )打开 /etc/systemd/system/vncserver@:1service ,找到下面这几行,用自己的用户名替换掉 。举例来说,我的用户名是 linoxide 所以我用 linoxide 来替换掉 :

ExecStart=/ in/runuser -l <USER> -c "/usr/bin/vncserver %i"PIDFile=/home/<USER>/vnc/%H%ipid

替换成

ExecStart=/ in/runuser -l linoxide -c "/usr/bin/vncserver %i"PIDFile=/home/linoxide/vnc/%H%ipid

如果是 root 用户则

ExecStart=/ in/runuser -l root -c "/usr/bin/vncserver %i"PIDFile=/root/vnc/%H%ipid

好了,下面重启 systemd 。

# systemctl daemon-reload

最后还要设置一下用户的 VNC 密码。要设置某个用户的密码,必须要有能通过 sudo 切换到用户的权限,这里我用 linoxide 的权限,执行“su linoxide”就可以了。

1:下面第一步当然是确认自己linux系统是否安装VNC默认情况下,RedHatEnterpriseLinux安装程序会将VNC服务安装在系统上。打开终端窗口:输入命令:rpm-qvnc-server,返回信息如下:那就证明已经安装上VNC服务拉。若系统没有安装,可以到操作系统安装盘的Server目录下找到VNC服务的RPM安装包vnc-server-412-9el5x86_64rpm,安装命令如下rpm-ivh/mnt/Server/vnc-server-412-9el5x86_64rpm2启动VNC服务当然啦,假如检查出你是安装了VNC了,linux里面就告诉他,你要启动了。命令如下:[root@testdb~]#vncserver:1输入该命令后出现该界面,要求你输入密码,那个密码是你等会连接linux服务器的密码啊。细说一下:以上命令执行的过程中,因为是第一次执行,需要输入密码,这个密码被加密保存在用户主目录下的vnc子目录(/root/vnc/passwd)中;同时在用户主目录下的vnc子目录中为用户自动建立xstartup配置文件(/root/vnc/xstartup),在每次启动VND服务时,都会读取该文件中的配置信息。BTW:/root/vnc/目录下还有一个“testdb:1pid”文件,这个文件记录着启动VNC后对应后天操作系统的进程号,用于停止VNC服务时准确定位进程号。

yum check-update

yum -y install lvm2 device-mapper

yum -y groupinstall GNOME 桌面

yum -y install tigervnc-server tigervnc

reboot

然后自己找下教程配置下vnc

一、服务器配置

1安装ntp

yum install ntp -y

2修改ntp配置文件

vi /etc/ntpconf

restrict 19216810 mask 2552552550 nomodify notrap

#server 2centospoolntporg

server 0asiapoolntporg

server 1asiapoolntporg

server 2asiapoolntporg

server 3asiapoolntporg

注:服务端的配置文件内网的配置不略有不同,如果内网有很多机器,只需要配置一台外网机器服务端,然后配置内网的,安装方式都一样,只是内网的配置文件/etc/ntpconf略有不同。

nomodify - 用户端不能更改ntp服务器的时间参数

noquery - 用户端不能使用ntpq,ntpc等命令来查询ntp服务器

notrap - 不提供trap远端登陆

3启动

/etc/rcd/initd/ntpd start

4设置开机启动

chkconfig ntpd on

5查询网络中的NTP服务器,同时显示客户端和每个服务器的关系

ntpq -p 其中,

remote - 本机和上层ntp的ip或主机名,“+”表示优先,“”表示次优先

refid - 参考上一层ntp主机地址

st - stratum阶层

when - 多少秒前曾经同步过时间

poll - 下次更新在多少秒后

reach - 已经向上层ntp服务器要求更新的次数

delay - 网络延迟

offset - 时间补偿

jitter - 系统时间与bios时间差

6内网客户端配置

安装及启动方式都一样,只是server的配置不一样,把server的配置,修改成连接外网的那台内网IP

  server 19216818

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » CentOS7的locale配置

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情