本文討論如何配置 systemd-timedated 系統(tǒng)服務(wù),它的作用是配置系統(tǒng)時(shí)鐘和時(shí)區(qū)。
如果您不確定您的硬件時(shí)鐘是否設(shè)置為 UTC,運(yùn)行 hwclock --localtime --show 命令,它會(huì)顯示硬件時(shí)鐘給出的當(dāng)前時(shí)間。如果這個(gè)時(shí)間和您的手表顯示的一致,則說明硬件時(shí)鐘被設(shè)定為本地時(shí)間。相反,如果 hwclock 輸出的時(shí)間不是本地時(shí)間,則硬件時(shí)鐘很可能被設(shè)定為 UTC 時(shí)間。根據(jù)您的時(shí)區(qū),在 hwclock 顯示的時(shí)間上加減對(duì)應(yīng)的小時(shí)數(shù),進(jìn)行進(jìn)一步的驗(yàn)證。例如,如果您現(xiàn)在處于莫斯科時(shí)區(qū),即 GMT -0700,在本地時(shí)間上加 7 小時(shí),再進(jìn)行比較。
systemd-timedated 讀取 /etc/adjtime,并根據(jù)其內(nèi)容將硬件時(shí)鐘設(shè)定為 UTC 或本地時(shí)間。
如果您的硬件時(shí)鐘設(shè)置為本地時(shí)間,以下列內(nèi)容創(chuàng)建 /etc/adjtime 文件:
cat > /etc/adjtime << "EOF"
0.0 0 0.0
0
LOCAL
EOF
如果 /etc/adjtime 在初次引導(dǎo)時(shí)不存在,systemd-timedated 會(huì)假設(shè)硬件時(shí)鐘使用 UTC,并據(jù)此調(diào)整該文件。
您也可以使用 timedatectl 工具告訴 systemd-timedated 您的硬件時(shí)鐘是 UTC 還是本地時(shí)間:
timedatectl set-local-rtc 1
timedatectl 也能修改系統(tǒng)時(shí)間和時(shí)區(qū)。
如果要修改系統(tǒng)時(shí)間,執(zhí)行以下命令:
timedatectl set-time YYYY-MM-DD HH:MM:SS
硬件時(shí)鐘也會(huì)同時(shí)被更新。
要修改當(dāng)前時(shí)區(qū),執(zhí)行以下命令:
timedatectl set-timezone TIMEZONE
您可以通過運(yùn)行以下命令查看可用的時(shí)區(qū)列表:
timedatectl list-timezones
網(wǎng)絡(luò)時(shí)鐘同步
從版本 213 開始,systemd 附帶了一個(gè)名為 systemd-timesyncd 的守護(hù)程序,可以用于將系統(tǒng)時(shí)間與遠(yuǎn)程 NTP 服務(wù)器同步。
該守護(hù)程序沒有被設(shè)計(jì)為替代現(xiàn)有成熟的 NTP 守護(hù)程序,而是一個(gè)僅僅實(shí)現(xiàn)了 SNTP 協(xié)議的客戶端,可以用于一些不太復(fù)雜的任務(wù),或是資源緊張的系統(tǒng)。
從 systemd 版本 216 開始,systemd-timesyncd 守護(hù)進(jìn)程被默認(rèn)啟用。如果希望禁用它,執(zhí)行以下命令:
systemctl disable systemd-timesyncd
可以在 /etc/systemd/timesyncd.conf 中修改 systemd-timesyncd 使用的服務(wù)器。
注意,當(dāng)系統(tǒng)時(shí)鐘設(shè)定為本地時(shí)間時(shí),systemd-timesyncd 不會(huì)更新硬件時(shí)鐘。
本次分享到此結(jié)束啦~
技術(shù)交流可以 關(guān)注公眾號(hào):Lucifer三思而后行?
本文摘自 :https://blog.51cto.com/l