本篇文章,是要设定系统的时区与时间,并维护时区与时间的设定。
作业系统的时间之校正是很重要的,原因是有些服务都需要取得系统的时间,若时间不对的话,很难去知道发生问题的时间点,举个例子,像是作业系统在写入日志档案的时候,就需要取得系统时间,来记录什麽时候发生的讯息,若是系统时间有错误的话,就不知道什麽时候发生错误了。设定本地端的时间与时区,可以使用timedatectl
这个指令做到,相关的用法如下:
[rockylinux@workstation ~]$ timedatectl
Local time: Thu 2021-10-07 00:51:19 CST
Universal time: Wed 2021-10-06 16:51:19 UTC
RTC time: Wed 2021-10-06 16:51:17
Time zone: Asia/Taipei (CST, +0800)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
[rockylinux@workstation ~]$
从上述输出的指令可以得知,显示很多不同种类时间下所取得的时间,从上而下之解释如下:
若要知道所有的时区清单的话,则可以使用list-timezones
参数来观看,下列为此指令执行所输出的讯息:
[rockylinux@workstation ~]$ timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
Africa/Banjul
Africa/Bissau
Africa/Blantyre
Africa/Brazzaville
Africa/Bujumbura
Africa/Cairo
Africa/Casablanca
Africa/Ceuta
Africa/Conakry
Africa/Dakar
Africa/Dar_es_Salaam
Africa/Djibouti
Africa/Douala
Africa/El_Aaiun
Africa/Freetown
Africa/Gaborone
Africa/Harare
Africa/Johannesburg
Africa/Juba
Africa/Kampala
lines 1-27
由於世界上的时区清单很多,因此当执行上述的指令之後,则会进入阅读器模式,如同之前的一些指令一样,按下「q」即可以离开此阅读器,方向之上下键则是画面控制往上还是往下。
若要修改时区的话,则可以使用set-timezone
之参数来做到,相关的指令执行输出的讯息如下:
[rockylinux@workstation ~]$ sudo timedatectl set-timezone Asia/Tokyo
[sudo] password for rockylinux:
[rockylinux@workstation ~]$ timedatectl
Local time: Thu 2021-10-07 02:06:45 JST
Universal time: Wed 2021-10-06 17:06:45 UTC
RTC time: Wed 2021-10-06 17:06:43
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
[rockylinux@workstation ~]$
从上述执行指令所输出的讯息可以得知,首先先将系统时区改成Asia/Tokyo,接着再执行timedatectl
指令则会发现有关於系统时间的资讯就被改成比台湾的时间快1小时了。若要以互动式方式找到时区也是可以的,可以使用tzselect来做到,相关的指令执行後所输出的讯息如下:
[rockylinux@workstation ~]$ sudo tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent, ocean, "coord", or "TZ".
1) Africa
2) Americas
3) Antarctica
4) Asia
5) Atlantic Ocean
6) Australia
7) Europe
8) Indian Ocean
9) Pacific Ocean
10) coord - I want to use geographical coordinates.
11) TZ - I want to specify the time zone using the Posix TZ format.
#? 4
Please select a country whose clocks agree with yours.
1) Afghanistan 18) Israel 35) Palestine
2) Armenia 19) Japan 36) Philippines
3) Azerbaijan 20) Jordan 37) Qatar
4) Bahrain 21) Kazakhstan 38) Russia
5) Bangladesh 22) Korea (North) 39) Saudi Arabia
6) Bhutan 23) Korea (South) 40) Singapore
7) Brunei 24) Kuwait 41) Sri Lanka
8) Cambodia 25) Kyrgyzstan 42) Syria
9) China 26) Laos 43) Taiwan
10) Cyprus 27) Lebanon 44) Tajikistan
11) East Timor 28) Macau 45) Thailand
12) Georgia 29) Malaysia 46) Turkmenistan
13) Hong Kong 30) Mongolia 47) United Arab Emirates
14) India 31) Myanmar (Burma) 48) Uzbekistan
15) Indonesia 32) Nepal 49) Vietnam
16) Iran 33) Oman 50) Yemen
17) Iraq 34) Pakistan
#? 43
The following information has been given:
Taiwan
Therefore TZ='Asia/Taipei' will be used.
Selected time is now: Thu Oct 7 01:12:16 CST 2021.
Universal Time is now: Wed Oct 6 17:12:16 UTC 2021.
Is the above information OK?
1) Yes
2) No
#? 1
You can make this change permanent for yourself by appending the line
TZ='Asia/Taipei'; export TZ
to the file '.profile' in your home directory; then log out and log in again.
Here is that TZ value again, this time on standard output so that you
can use the /bin/tzselect command in shell scripts:
Asia/Taipei
一开始会选择要设定时区在哪一洲,假设在亚洲,则选择Asia,即选择「4」,接着就会有所有亚洲国家列出,再选择国家,这边选择Taiwan为例子,即选择「43」,接着会输出是否得到的时区字串正确,若是正确的话就输入「1」,最後就是输出一些如何设定这个时区的方式了。
因为RockyLinux 8开始,相对於RHEL 8,在之前的版本;如6与7版,都没有Chrony这个服务来设定NTP服务器来设定时间与校时,到了8开始之後,都是以chronyd这个服务为主。相关的设定档案都在:/etc/chrony.conf,使用root使用者并以vim指令开启设定档,相关执行指令所输出的讯息如下:
[rockylinux@workstation ~]$ sudo vim /etc/chrony.conf
[sudo] password for rockylinux:
接着可以看到前三行的设定内容,相关的内容如下:
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
pool 2.pool.ntp.org iburst
从上述的设定来看,前二行注解说明已经讲得很清楚,就是这里的设定的是有关於网路上公开的NTP服务器,在台湾也有几个公开的NTP服务器,假设使用这个公开的NTP服务器:time.stdtime.gov.tw,修改过的设定内容如下:
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server time.stdtime.gov.tw iburst
设定完成之後,存档离开,接着将chronyd背景服务使用systemctl之指令进行重启,相关执行指令的方式与输出的讯息如下:
[rockylinux@workstation ~]$ sudo systemctl restart chronyd
[sudo] password for rockylinux:
[rockylinux@workstation ~]$
接着可以使用chronyc sources -v
指令来确定是否设定的NTP服务器已经与本地端系统同步完成,相关指令执行输出的讯息如下:
[rockylinux@workstation ~]$ sudo chronyc sources -v
210 Number of sources = 1
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 118-163-81-61.hinet-ip.h> 2 6 37 32 -80us[ +918us] +/- 29ms
[rockylinux@workstation ~]$
>>: [Day 24] 第二主餐 pt.3-贺,乔迁aws
请问各位大大,小的想去考111年的半导体布局设计工程师能力监定,请问哪里可以有实体或线上课程呢,上完...
为什麽会接触到 OpenTelemetry,算是因为 Log 的追踪关系,在後台上有两三个 Spri...
续昨天 我们使用 Python 预设的资料库模组-SQLite,昨天讲到的 Database 就会长...
今天是30天程序语言研究的第二十八天,由於最近写unix语言的东西用到很多,所以做了很多笔记,就想说...
接续前篇,一般爬虫时抓出的资料量多还没什麽关系,但这次我们是想要让使用者在 line 上使用,一次给...