freebsd時(shí)間設(shè)置小節(jié)詳解
可以使用date來(lái)顯示時(shí)間,實(shí)際上也可以使用它來(lái)更改時(shí)間的,比如:# date 9903011354
1999年 3月 1日 星期一 13時(shí)54分00秒 CST,
但是這樣可以會(huì)犧牲正確性,一個(gè)比較好的工具是使用ntpdate來(lái)和網(wǎng)絡(luò)同步。
比如:# ntpdate clepsydra.dec.com
10 Apr 19:26:49 ntpdate: step time server 204.123.2.5 offset 517.837146。 以下是參考文件:
對(duì)于網(wǎng)絡(luò)操作系統(tǒng)來(lái)講,由于要向多個(gè)客戶提供服務(wù),因此必須擁有一個(gè)精確的系統(tǒng)時(shí)間。可以使用date命令來(lái)顯示當(dāng)前的時(shí)間: $ date
1999年 4月10日 星期六 18時(shí)51分39秒 CST
date命令按中文方式輸出的前提是指定環(huán)境變量LC_ALL為zh_CN.EUC,這是用于本地化的一種標(biāo)準(zhǔn)方式。
由于用于Internet上的網(wǎng)絡(luò)操作系統(tǒng)的客戶可能來(lái)自世界的不同地區(qū),因此時(shí)間系統(tǒng)必須能標(biāo)識(shí)出不同的時(shí)區(qū)。計(jì)算機(jī)中的CMOS時(shí)間能設(shè)置為兩種不 同的時(shí)間,一種是將CMOS時(shí)間設(shè)置為格林威治標(biāo)準(zhǔn)時(shí)間,使用時(shí)區(qū)修正給出本地時(shí)區(qū)的正確時(shí)間,另一種方法是將CMOS時(shí)間設(shè)置為本地時(shí)區(qū)時(shí)間,再使用本 地時(shí)區(qū)修正得到格林威治標(biāo)準(zhǔn)時(shí)間。這樣系統(tǒng)和其他計(jì)算機(jī)通信時(shí)就能使用標(biāo)準(zhǔn)時(shí)間,避免不同時(shí)區(qū)的計(jì)算機(jī)時(shí)間的差異。
系統(tǒng)安裝程序在進(jìn)行 時(shí)區(qū)設(shè)置時(shí)將詢問(wèn)用戶使用那種時(shí)間設(shè)置方式及時(shí)區(qū)設(shè)置,系統(tǒng)安裝完成之后,也可以直接使用 tzsetup命令來(lái)設(shè)置時(shí)區(qū)信息。所有的時(shí)區(qū)信息保存在/usr/share/zoneinfo目錄中,而本機(jī)的時(shí)區(qū)設(shè)置信息保存在 /etc/localtime文件中。此外,每個(gè)用戶也可以使用環(huán)境變量TZ來(lái)設(shè)置與系統(tǒng)不同的時(shí)區(qū),這個(gè)設(shè)置將覆蓋系統(tǒng)的設(shè)置。
root用戶可以使用帶參數(shù)date來(lái)更改系統(tǒng)時(shí)間,例如以下命令將時(shí)間設(shè)置為1999年3月1日,下午1點(diǎn)54分。
# date 9903011354
1999年 3月 1日 星期一 13時(shí)54分00秒 CST
可以看出時(shí)間格式為年、月、日、時(shí)、分,每個(gè)各占兩個(gè)數(shù)字,其形式即為yymmddhhmm,大部分情況下是對(duì)時(shí)間進(jìn)行小調(diào)整,可以略去前面的年月日部分,而僅使用四位數(shù)字表示時(shí)、分,形如hhmm。
通過(guò)Internet同步時(shí)間
手工設(shè)置時(shí)間一方面不方便,另一方面也依賴于本地管理員的時(shí)鐘的正確性,那么網(wǎng)絡(luò)上不同的管理員管理的計(jì)算機(jī)時(shí)間必然有偏差,不同計(jì)算機(jī)的時(shí)間偏差就會(huì)對(duì)一些要求時(shí)間同步的服務(wù)產(chǎn)生影響。解決這種問(wèn)題的方法很簡(jiǎn)單,連接到一個(gè)能提供精確時(shí)間的服務(wù)器上進(jìn)行時(shí)間同步。
當(dāng)計(jì)算機(jī)連接到了Internet之后,那么就能同Internet上存在的很多時(shí)間服務(wù)器通信,以獲得精確的時(shí)間。TCP/IP協(xié)議中,用于同步 時(shí)間的協(xié)議為ntp協(xié)議,在Internet上提供ntp服務(wù)的站點(diǎn)有clepsydra.dec.com 、 ben.cs.wisc.edu、truechimer.waikato.ac.nz 等,雖然ntp協(xié)議本身考慮了網(wǎng)絡(luò)延遲,然而網(wǎng)絡(luò)延遲畢竟會(huì)對(duì)時(shí)間的精確性造成影響,因此應(yīng)該選用一個(gè)離本地計(jì)算機(jī)最近的時(shí)間服務(wù)器。
使用/stand/sysinstall也能設(shè)定時(shí)間同步,可以根據(jù)地域來(lái)選擇合適的時(shí)間服務(wù)器,然而由于網(wǎng)絡(luò)連接并不一定和地域相一致,因此不能完全根據(jù)地域的遠(yuǎn)近來(lái)選擇時(shí)間服務(wù)器。
使用ntp協(xié)議更新自己計(jì)算機(jī)上的時(shí)間的一個(gè)簡(jiǎn)單的應(yīng)用程序?yàn)閚tpdate,同樣這也需要使用root權(quán)限執(zhí)行:
# ntpdate clepsydra.dec.com
10 Apr 19:26:49 ntpdate: step time server 204.123.2.5 offset 517.837146
ntpdate運(yùn)行過(guò)之后就退出了,為了保持時(shí)間的正確性,就要每隔一段時(shí)間自動(dòng)進(jìn)行時(shí)間同步,可以將ntpdate 放入cron中,每隔一段時(shí)間就執(zhí)行一次。然而系統(tǒng)提供了另一個(gè)守護(hù)進(jìn)程,xntpd,能夠自動(dòng)周期進(jìn)行時(shí)間同步的工作,這更為適合與Internet有 永久連接的計(jì)算機(jī)。為了運(yùn)行xntpd守護(hù)進(jìn)程,首先要?jiǎng)?chuàng)建/etc/ntp.conf 文件,其中應(yīng)包括時(shí)間服務(wù)器的名字和一個(gè)臨時(shí)文件名。
server clepsydra.dec.com
driftfile /etc/ntp.drift
然后就需要運(yùn)行這個(gè)守護(hù)進(jìn)程,進(jìn)行時(shí)間同步。
# xntpd -c /etc/ntp.conf -p /var/run/xntpd.pid
其中-c參數(shù)指定了ntp.conf作配置文件,用xntpd.pid記錄xntpd的進(jìn)程標(biāo)識(shí)序號(hào)。ntpdate和xntpd都可以通過(guò)更改rc.conf中的選項(xiàng),在啟動(dòng)時(shí)自動(dòng)執(zhí)行。
xntpd_enable="YES" # Run xntpd Network Time Protocol (or NO).
xntpd_program="xntpd" # path to xntpd, if you want a different one.
xntpd_flags="-c /etc/ntp.conf -p /var/run/xntpd.pid" # Flags to xntpd (if enabled).
如果要想讓本地網(wǎng)絡(luò)上的多臺(tái)計(jì)算機(jī)都進(jìn)行時(shí)間同步,那么每個(gè)計(jì)算機(jī)都與外部時(shí)間服務(wù)器連接的方法并不是一個(gè)好主意。更好的想法是使用一個(gè)計(jì)算機(jī)與外部時(shí) 間服務(wù)器同步,那么它的時(shí)間就成為了標(biāo)準(zhǔn)時(shí)間,可以用作本地時(shí)間服務(wù)器,而其他計(jì)算機(jī)與這臺(tái)本地時(shí)間服務(wù)器同步就可以了。xntpd就是設(shè)計(jì)為這個(gè)目的, 它能夠用作提供時(shí)間的ntp服務(wù)器。用作時(shí)間服務(wù)器的xntpd的配置文件應(yīng)該為:
server clepsydra.dec.com
driftfile /etc/ntp.drift
broadcast 192.168.1.255
其中增加了一項(xiàng)廣播地址:192.168.1.255,定期向局域網(wǎng)上的其他計(jì)算機(jī)廣播正確的時(shí)間。這個(gè)廣播地址要根據(jù)自己的網(wǎng)絡(luò)進(jìn)行修改,或者使用對(duì) 應(yīng)于NTP協(xié)議的D類組播(multicast)網(wǎng)址224.0.1.1,但用戶的網(wǎng)絡(luò)必須支持組播能力。由于使用了廣播或組播,這樣網(wǎng)絡(luò)內(nèi)的其他計(jì)算機(jī) 可以不配置ntp.conf,直接啟動(dòng) xntpd,xntpd就能通過(guò)聽(tīng)服務(wù)器的廣播信息來(lái)得到精確的時(shí)間。當(dāng)然也可以不設(shè)定廣播地址,而配置每個(gè)計(jì)算機(jī)中的ntp.conf文件,指定所有的 計(jì)算機(jī)都訪問(wèn)這臺(tái)時(shí)間服務(wù)器。
相關(guān)文章:
1. FreeBSD連載(49):進(jìn)入X Window2. FreeBSD FTP 的架設(shè)教程3. FreeBSD安裝之自動(dòng)分區(qū)方法4. 更新FreeBSD Port Tree的幾種方法小結(jié)5. 多系統(tǒng)安裝實(shí)踐(Window /FreeBSD/Linux)6. FreeBSD設(shè)置IP地址、網(wǎng)關(guān)、DNS的方法7. FreeBSD常用指令整理(學(xué)習(xí)筆記)8. FreeBSD系統(tǒng)下安裝字體的步驟詳解9. 在FreeBSD上搭建Mac的文件及time machine備份服務(wù)10. win11屏幕時(shí)間設(shè)置教程
