centos 修改 utc(centos镜像)
其实centos 修改 utc的问题并不复杂,但是又很多的朋友都不太了解centos镜像,因此呢,今天小编就来为大家分享centos 修改 utc的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
CentOS7怎么修改服务器系统时间
CentOS7怎么修改服务器系统时间
在CentOS 7里面有一个命令timedatectl可以帮助我们修改服务器的时区。
1.查看服务器里的时间设置 timedatectl,它等同于 timedatectl status:
?
1
2
3
4
5
6
7
8
9
$ timedatectl
Local time: Mon 2016-08-29 16:20:35 CST
Universal time: Mon 2016-08-29 08:20:35 UTC
RTC time: Mon 2016-08-29 08:18:07
Time zone: Asia/Shanghai(CST,+0800)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
2.了解 timedatectl命令的各个参数:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ timedatectl-h
timedatectl [OPTIONS...] COMMAND...
Query or change system time and date settings.
-h--help Show this help message
--version Show package version
--no-pager Do not pipe output into a pager
--no-ask-password Do not prompt for password
-H--host=[USER@]HOST Operate on remote host
-M--machine=CONTAINER Operate on local container
--adjust-system-clock Adjust system clock when changing local RTC mode
Commands:
status Show current time settings
set-time TIME Set system time
set-timezone ZONE Set system time zone
list-timezones Show known time zones
set-local-rtc BOOL Control whether RTC is in local time
set-ntp BOOL Control whether NTP is enabled
3.设置时间
?
1
2
3
4
5
6
7
8
9
$ sudo timedatectl set-time 15:26:58$ timedatectl
Local time: Mon 2016-08-29 15:27:00 CST
Universal time: Mon 2016-08-29 07:27:00 UTC
RTC time: Mon 2016-08-29 07:27:00
Time zone: Asia/Shanghai(CST,+0800)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
PS:下面看下CentOS修改服务器系统时间
linux安装完毕后,一般都是国外的世界,一点都不方便设置任务,或者导致网站获取本地的时间错乱,所以就需要把服务器的时间改为和本地时间一致,也就是换成中国的时间。
第一条指令:date–s'2016-10-31 10:10:10'
第二条指令:clock–w//将日期写入CMOS
时间按照上面的格式,操作完毕可以再用
date
查看服务器时间,如果和设置的一样,就表示成功了
更多知识请关注服务器教程
如何安装centos5.6图形化界面
有朋友一直在问我,为什么使用最小化安装不能自定义分区?为什么没有图形界面安装方式?
其实图形界面的安装方式,在Centos6上需要至少有1G的内存才能打开图形界面进行安装。
而且只有图形安装才能自定义分区,如果是使用文字界面,系统不会让你自定义分区,会创建逻辑卷进行安装。
2
首先要先去下载ISO镜像,下面所给的链接是centos6.6版本的链接,也可以登录一下开源镜像找下最新版本的最小化ISO镜像。
ISO下载链接:
3
从光盘启动,或者ISO镜像,U盘等
图形化安装要求系统有1024M的内存,才能启动图形界面,好处是可以继续进行手动分区。
选择 Install or upgrade an existing system
4
然后就跳转到到检测该关盘或者ISO镜像文件,这个需要长时间,不需要去检查。
跳过,选择 skip
5
来到欢迎界面,回车进入(或者点击next)
6
选择安装过程的语言,(如果这里选择中文,安装结束就默认的就是中文.下面的界面都是这里选择英文的),next
7
选择键盘类型,一般都是U.S.Engish(除非键盘独特),next
8
选择安装磁盘,有分基础的存储设备,和专业的存储设置,一般在基础存储设备里面就可以找到,Next
9
设置主机名和网络,这里只设置主机名,网络可以等安装结束后再设置,填写主机名,Next
10
选择时区,勾选UTC同步(注意如果是双系统,windows如果没有修改成UTC时间这里就不要勾选了),Next
11
设置root密码,Next
12
如果设置太简单会有,弱密码提示,如果确定使用就点击,Use Anyway
选择哪种分区方式?Use All Space:使用这个磁盘的空来来安装系统;Replace Existing Linux System(s):使用现有的分区进行安装;Shrink Current System:修改现有分区来腾出空间创建分区;Use Free Space:使用空闲的空间;Create Custom Layout:使用自定义分区。一般是选择自定义分区进行操作,Next
分区页面创建分区,点击Create,选择Standard Partition,Create
创建boot分区,boot分区一般都是存放一些启动预加载的内核,init文件,所以200M就够了,选择ext4的文件系统类型,然后填写Size:200,选择挂载点:/boot,OK
创建swap,如果是测试给128M就可以了,其他如果过小于4G内存,就设置为内存的2倍,如果是4G以上就设置跟内存一样大就可以了(当然特殊的应用还设置不一样),选择文件系统类型:swap,OK
创建根分区(一般是建议把/home分区也分出来,因为用户数据一般是存在家目录里面方法一样,只是挂载点不一样),选择挂载点:/,文件系统类型:ext4,选择Fill to maximum allowed size
查看分区是否正确,这个时候,分区信息还没有写入磁盘,还可以进行修改,确认正确,Next
提示写磁盘操作,点击 Write changes to disk,进行磁盘的分区与格式化
提示grub安装的位置,默认是在磁盘头,保持默认就可以了,Next
进入安装进度条界面,等待系统安装完成。
安装完成,提示Reboot,直接点击reboot就可以了。
【UTC】CentOS7修改时区的正确姿势
整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC,Universal Time Coordinated)。
格林威治标准时间(Greenwich Mean Time)指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。(UTC与GMT时间基本相同,本文中不做区分)
中国标准时间(China Standard Time)【GMT + 8 = UTC + 8 = CST】
夏令时(Daylight Saving Time)指在夏天太阳升起的比较早时,将时钟拨快一小时,以提早日光的使用。(中国不使用)
RTC(Real-Time Clock)或CMOS时钟,一般在主板上靠电池供电,服务器断电后也会继续运行。仅保存日期时间数值,无法保存时区和夏令时设置。
一般在服务器启动时复制RTC时间,之后独立运行,保存了时间、时区和夏令时设置。
在CentOS 6版本,时间设置有date、hwclock命令,从CentOS 7开始,使用了一个新的命令timedatectl。
Centos7修改系统时区timezone ,解决快、慢8小时问题
如果服务器用非 UTC的时间,时区转换很容易不一致,而且对于有 daylight saving的时区,每年多一小时少一小时的那两天,系统就会出现各种诡异现象。
服务器使用UTC时间,如要显示用户所在时区的本地时间,在客户端转化即可。
# timedatectl
我们可以看到,服务器使用的CST时间
# timedatectl set-timezone UTC
# timedatectl set-time"YYYY-MM-DD HH:MM:SS"
# timedatectl set-time "HH:MM:SS"
# timedatectl
我们可以看到,服务器时间类型更改为UTC了
# ll /etc/locatime
lrwxrwxrwx. 1 root root 25 1月 14 08:30 /etc/localtime->../usr/share/zoneinfo/UTC
实际上是做了一个将
文件 /etc/localtime 做了一个软连接到 /usr/share/zoneinfo/UTC
# ln -s /usr/share/zoneinfo/UTC /etc/localtime
ln:无法创建符号链接"/etc/localtime":文件已存在
# ln -sf /usr/share/zoneinfo/UTC /etc/localtime
做软连接时,需要加-f参数,强制覆盖,不然会显示软链接已存在
# timedatectl set-time"YYYY-MM-DD HH:MM:SS"
# timedatectl set-time "HH:MM:SS" //只设置时分秒
# timedatectl
# clock -w
# date -u //显示UTC时间
CentOS7修改时区的正确姿势
CentOS7上运行Java程序,发现程序生成的时间与当前时间匹配不上,还以为是数据停止更新了,后来发现没有正确使用修改时区的姿势,导致程序时区错误。
正确的修改CentOS7时区的姿势:
# ln -sf/usr/share/zoneinfo/Asia/Shanghai /etc/localtime
其他系统的修改文件可能是/var/etc/localtime.
错误的姿势:通过cp命令覆盖/etc/localtime时间
# cp-f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
通过cp命令修改时区,通过date, data-R命令显示的时区都是正确的,可是对于java程序而言,是错误的。
具体原因在于Java访问系统时区的方式上,可参见文章:
Java TimeZone和 Linux TimeZone问题
该文章很好的说明了Java访问系统时区的方式:
1.如有环境变量 TZ设置,则用TZ中设置的时区
2.在/etc/sysconfig/clock文件中找“ZONE”的值
3.如何2)都没,就用/etc/localtime和/usr/share/zoneinfo下的时区文件进行匹配,如找到匹配的,就返回对应的路径和文件名。
问题在于,如果使用cp命令来修改/etc/localtime文件,那么可能就会导致修改的不是/etc/localtime文件,而是原时区的文件内容。
/etc/localtime是通过符号链接链接/usr/share/zoneinfo下的文件,而java是通过文件名来确认时区的,data命令是通过文件内容确认时区的,这样就导致了data命令时区正确,而java的时区是错误的!
如上图所示:CentOS7是通过符号链接到/usr/share/zoneinfo/下的时区文件的,如果通过cp指令只会修改原时区文件内容,这样,通过date的系统命令,查看时间是OK的,可是java是通过读取文件名的方式确认时区信息的。所以时区还是纽约。