NTPdate命令
NTPdate簡(jiǎn)介
NTPdate是一種在Linux和類Unix系統(tǒng)中同步網(wǎng)絡(luò)時(shí)間協(xié)議(NTP)服務(wù)器時(shí)間的命令行程序。它可以讓你的系統(tǒng)時(shí)鐘與互聯(lián)網(wǎng)上的標(biāo)準(zhǔn)時(shí)間服務(wù)器保持一致,從而確保系統(tǒng)時(shí)間的準(zhǔn)確性。
查詢ntp服務(wù)器時(shí)間:
ntpdate -q pool.ntp.org
安裝NTPdate
在開(kāi)始使用NTPdate之前,我們需要先在系統(tǒng)中安裝它。以下是在不同系統(tǒng)中安裝NTPdate的命令:
- 在Ubuntu和Debian上:
sudo apt-get install ntpdate
- 在CentOS和RHEL上:
sudo yum install ntpdate
基本使用
要使用ntpdate同步ntp服務(wù)器時(shí)間,我們只需要運(yùn)行ntpdate
命令,后跟NTP服務(wù)器的地址。例如:
ntpdate time.windows.com
此命令將把你的系統(tǒng)時(shí)間設(shè)置為與time.windows.com
服務(wù)器相同的時(shí)間。
參數(shù)詳解
以下是NTPdate命令中一些重要參數(shù)的詳細(xì)說(shuō)明:
- -u
: 使用未封裝的NTP請(qǐng)求和響應(yīng)包,而不是使用UDP端口123。
這個(gè)參數(shù)讓ntpdate使用一個(gè)未封裝的、高端口號(hào)的源來(lái)發(fā)送NTP請(qǐng)求。這通常用于防火墻或者路由器阻止了向公網(wǎng)的NTP服務(wù)器的123端口的訪問(wèn)。
"未封裝"和"高端口號(hào)"是網(wǎng)絡(luò)通信術(shù)語(yǔ)。
-
“未封裝”:在計(jì)算機(jī)網(wǎng)絡(luò)中,數(shù)據(jù)從發(fā)送端到接收端需要經(jīng)過(guò)多層協(xié)議的處理。每一層都會(huì)對(duì)數(shù)據(jù)進(jìn)行一定的包裝或封裝,以添加該層協(xié)議所需要的控制信息。如果一個(gè)請(qǐng)求被稱為"未封裝",那么意味著它沒(méi)有添加額外的控制信息或者頭部信息,只是簡(jiǎn)單地將應(yīng)用程序生成的原始數(shù)據(jù)發(fā)送出去。
-
“高端口號(hào)”:在網(wǎng)絡(luò)通信中,端口號(hào)是用來(lái)區(qū)分同一臺(tái)計(jì)算機(jī)上不同應(yīng)用或進(jìn)程的一種方式。根據(jù)慣例,0到1023號(hào)端口被定義為“知名端口”(Well-Known Ports),這些端口主要與一些被廣泛使用的協(xié)議關(guān)聯(lián)(如HTTP的80端口,HTTPS的443端口)。1024到49151號(hào)端口被定義為“注冊(cè)端口”(Registered Ports),這些端口主要被公司或組織使用。剩下的端口,即49152到65535號(hào),被定義為“動(dòng)態(tài)”或“私有”端口。當(dāng)我們說(shuō)"高端口號(hào)"時(shí),通常指的是這個(gè)范圍內(nèi)的端口。
在ntpdate中,-u
參數(shù)的作用就是讓其使用高端口號(hào)發(fā)送NTP請(qǐng)求,而不是默認(rèn)的123端口。這主要是因?yàn)槟承┉h(huán)境中,網(wǎng)絡(luò)防火墻可能會(huì)阻止對(duì)低端口號(hào)的訪問(wèn),通過(guò)使用高端口號(hào)可以避免這種情況。
- -b
: 當(dāng)本地系統(tǒng)時(shí)間和網(wǎng)絡(luò)時(shí)間有較大差距時(shí),強(qiáng)制進(jìn)行一次時(shí)間調(diào)整。
當(dāng)本地系統(tǒng)時(shí)間與網(wǎng)絡(luò)時(shí)間有很大的差距時(shí),可以使用此選項(xiàng)強(qiáng)制進(jìn)行一次時(shí)間調(diào)整,而不是逐步將時(shí)間改過(guò)來(lái)。這個(gè)參數(shù)使得ntpdate在第一次同步時(shí)無(wú)視偏移量,直接將時(shí)間設(shè)置為從NTP服務(wù)器獲取的正確時(shí)間。
- -s
: 日志輸出到syslog。
該選項(xiàng)將日志信息輸出到syslog中,而不是直接在終端中顯示。syslog是Linux/Unix系統(tǒng)中的系統(tǒng)日志服務(wù),負(fù)責(zé)接收和處理來(lái)自系統(tǒng)內(nèi)核、系統(tǒng)服務(wù)和應(yīng)用程序的日志信息。
- -d
: 輸出調(diào)試信息。
這個(gè)選項(xiàng)將會(huì)打開(kāi)調(diào)試模式,它會(huì)輸出詳細(xì)的調(diào)試信息,以便于解決可能存在的問(wèn)題。這些信息包括ntpdate發(fā)送和接收的每一個(gè)數(shù)據(jù)包的詳細(xì)內(nèi)容,以及其他一些關(guān)于同步過(guò)程的詳細(xì)信息。
- -q
: 查詢ntp服務(wù)器時(shí)間。
這個(gè)參數(shù)讓ntpdate只查詢指定的NTP服務(wù)器,但并不設(shè)置本機(jī)時(shí)間。這對(duì)于僅想查看時(shí)間偏移量,但又不想立即調(diào)整系統(tǒng)時(shí)間的情況很有用。
常見(jiàn)錯(cuò)誤與解決方法
有時(shí),當(dāng)我們?cè)噲D同步時(shí)間時(shí),可能會(huì)遇到一些問(wèn)題。以下是一些常見(jiàn)的錯(cuò)誤以及如何解決它們的方法:
-
Error: “ntpdate[12345]: no servers can be used, exiting”
這個(gè)錯(cuò)誤通常意味著我們無(wú)法連接到指定的NTP服務(wù)器。檢查服務(wù)器地址是否正確,或者嘗試更換其他NTP服務(wù)器。
-
Error: “ntpdate[12345]: the NTP socket is in use, exiting”
這個(gè)錯(cuò)誤表明已經(jīng)有其他程序正在使用NTP服務(wù)。這種情況下,我們可以使用
-u
選項(xiàng)來(lái)解決該問(wèn)題。
實(shí)戰(zhàn)應(yīng)用
NTPdate的一個(gè)實(shí)際應(yīng)用場(chǎng)景是定期通過(guò)cron job進(jìn)行時(shí)間同步。以下是一個(gè)例子:
0 * * * * /usr/sbin/ntpdate pool.ntp.org >> /var/log/ntpdate.log 2>&1
以上命令將每小時(shí)同步一次時(shí)間,并將日志記錄到/var/log/ntpdate.log
文件。
參考資源
- NTPdate官方文檔
- Ubuntu NTPdate使用手冊(cè)
如何離線安裝ntpdate(apt-get download ntpdate)
在 Ubuntu 20.04 中離線安裝 ntpdate
的步驟如下:
-
下載
ntpdate
包:首先,你需要從另一臺(tái)可以訪問(wèn)互聯(lián)網(wǎng)的機(jī)器上下載ntpdate
安裝包。你可以去 Ubuntu 的官方軟件包庫(kù)下載,地址為:https://packages.ubuntu.com/。在搜索框中輸入ntpdate
,選擇適合你的 Ubuntu 版本(在這種情況下是 20.04,也就是 Focal),然后點(diǎn)擊amd64
或i386
(取決于你的系統(tǒng)架構(gòu))來(lái)下載.deb
文件。
我們盒子是arm64架構(gòu)的,就下載這個(gè):
我勒個(gè)去,怎么沒(méi)有鏈接啊,amd64版本的都有鏈接的:
解釋:
從你提供的 URL 來(lái)看,你正在嘗試在一個(gè)基于 ARM64 架構(gòu)的 Ubuntu 20.04 系統(tǒng)上安裝
ntpdate
。
然而,Ubuntu 的軟件包頁(yè)面可能沒(méi)有顯示下載鏈接,這是因?yàn)橐恍┸浖荒軓奶囟ǖ能浖传@取。在這種情況下,你需要找到能夠提供 ARM64 架構(gòu)版本的ntpdate
的合適源。
以下是一個(gè)可行的解決方案:
1.在另一臺(tái)可以聯(lián)網(wǎng)的 Ubuntu 機(jī)器上,打開(kāi)終端。
2.添加 Universe 軟件源(如果尚未添加的話)。大部分 Ubuntu 安裝默認(rèn)都會(huì)包含 Universe 源,但以防萬(wàn)一,你可以運(yùn)行下面的命令來(lái)添加:sudo add-apt-repository universe
sudo apt-get update
3.下載ntpdate
包及其依賴。你可以使用apt-get download
命令來(lái)下載軟件包和依賴,如下所示:apt-get download ntpdate
請(qǐng)注意,這種方法需要你有另一臺(tái)可以訪問(wèn)互聯(lián)網(wǎng)并且運(yùn)行著相同架構(gòu)(ARM64)和操作系統(tǒng)版本的 Ubuntu 的機(jī)器。
-
將文件復(fù)制到目標(biāo)機(jī)器:然后,你需要將下載的
.deb
文件復(fù)制到你想要安裝ntpdate
的機(jī)器上。你可以使用 USB 設(shè)備或者其他方式進(jìn)行傳輸。
-
在目標(biāo)機(jī)器上安裝
ntpdate
:最后,在你的 Ubuntu 20.04 機(jī)器上,打開(kāi)終端并導(dǎo)航到包含.deb
文件的目錄。然后使用以下命令來(lái)安裝ntpdate
:sudo dpkg -i <file-name.deb>
在這里,
<file-name.deb>
是你下載的ntpdate
安裝包的文件名。
如果在安裝過(guò)程中遇到任何依賴問(wèn)題,你可能還需要下載和安裝那些依賴包。你可以在相同的 Ubuntu 軟件包頁(yè)面找到這些依賴包,并重復(fù)上述步驟進(jìn)行安裝。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-756677.html
完成上述步驟后,你應(yīng)該就能在 Ubuntu 20.04 機(jī)器上離線安裝 ntpdate
了。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-756677.html
20231018 注意:在ubuntu20.04上,我只是用這個(gè)命令來(lái)臨時(shí)查看ntp服務(wù)器用,具體同步我用的systemd-timesyncd服務(wù)
到了這里,關(guān)于Linux ntpdate命令介紹(校時(shí)客戶端)(ntp客戶端)ubuntu離線安裝ntpdate(未封裝、高端口號(hào))(知名端口、注冊(cè)端口、動(dòng)態(tài)端口/私有端口)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!