NTPdate下令
NTPdate简介
NTPdate是一种在Linux和类Unix系统中同步网络时间协议(NTP)服务器时间的下令行程序。它可以让你的系统时钟与互联网上的尺度时间服务器保持一致,从而确保系统时间的准确性。
查询ntp服务器时间:
安装NTPdate
在开始利用NTPdate之前,我们必要先在系统中安装它。以下是在不同系统中安装NTPdate的下令:
- 在Ubuntu和Debian上:
- sudo apt-get install ntpdate
复制代码 - 在CentOS和RHEL上:
基本利用
要利用ntpdate同步ntp服务器时间,我们只必要运行ntpdate下令,后跟NTP服务器的地址。例如:
此下令将把你的系统时间设置为与time.windows.com服务器雷同的时间。
参数详解
以下是NTPdate下令中一些紧张参数的详细说明:
- -u: 利用未封装的NTP哀求和相应包,而不是利用UDP端口123。
这个参数让ntpdate利用一个未封装的、高端口号的源来发送NTP哀求。这通常用于防火墙或者路由器克制了向公网的NTP服务器的123端口的访问。
"未封装"和"高端口号"是网络通信术语。
- “未封装”:在盘算机网络中,数据从发送端到接收端必要颠末多层协议的处置处罚。每一层都会对数据进行一定的包装或封装,以添加该层协议所必要的控制信息。假如一个哀求被称为"未封装",那么意味着它没有添加额外的控制信息或者头部信息,只是简单地将应用程序天生的原始数据发送出去。
- “高端口号”:在网络通信中,端口号是用来区分同一台盘算机上不同应用或历程的一种方式。根据惯例,0到1023号端口被定义为“着名端口”(Well-Known Ports),这些端口重要与一些被广泛利用的协议关联(如HTTP的80端口,HTTPS的443端口)。1024到49151号端口被定义为“注册端口”(Registered Ports),这些端口重要被公司或组织利用。剩下的端口,即49152到65535号,被定义为“动态”或“私有”端口。当我们说"高端口号"时,通常指的是这个范围内的端口。
在ntpdate中,-u参数的作用就是让其利用高端口号发送NTP哀求,而不是默认的123端口。这重要是由于某些环境中,网络防火墙可能会克制对低端口号的访问,通过利用高端口号可以避免这种环境。
- -b: 当当地系统时间和网络时间有较大差距时,强制进行一次时间调整。
当当地系统时间与网络时间有很大的差距时,可以利用此选项强制进行一次时间调整,而不是徐徐将时间改过来。这个参数使得ntpdate在第一次同步时无视偏移量,直接将时间设置为从NTP服务器获取的正确时间。
- -s: 日记输出到syslog。
该选项将日记信息输出到syslog中,而不是直接在终端中显示。syslog是Linux/Unix系统中的系统日记服务,负责接收和处置处罚来自系统内核、系统服务和应用程序的日记信息。
- -d: 输出调试信息。
这个选项将会打开调试模式,它会输出详细的调试信息,以便于办理可能存在的问题。这些信息包罗ntpdate发送和接收的每一个数据包的详细内容,以及其他一些关于同步过程的详细信息。
- -q: 查询ntp服务器时间。
这个参数让ntpdate只查询指定的NTP服务器,但并不设置本机时间。这对于仅想查看时间偏移量,但又不想立刻调整系统时间的环境很有用。
常见错误与办理方法
偶然,当我们试图同步时间时,可能会遇到一些问题。以下是一些常见的错误以及如何办理它们的方法:
- Error: “ntpdate[12345]: no servers can be used, exiting”
这个错误通常意味着我们无法连接到指定的NTP服务器。检查服务器地址是否正确,或者尝试更换其他NTP服务器。
- Error: “ntpdate[12345]: the NTP socket is in use, exiting”
这个错误表明已经有其他程序正在利用NTP服务。这种环境下,我们可以利用-u选项来办理该问题。
实战应用
NTPdate的一个实际应用场景是定期通过cron job进行时间同步。以下是一个例子:
- 0 * * * * /usr/sbin/ntpdate pool.ntp.org >> /var/log/ntpdate.log 2>&1
复制代码 以上下令将每小时同步一次时间,并将日记记录到/var/log/ntpdate.log文件。
参考资源
- NTPdate官方文档
- Ubuntu NTPdate利用手册
如何离线安装ntpdate(apt-get download ntpdate)
在 Ubuntu 20.04 中离线安装 ntpdate 的步骤如下:
- 下载 ntpdate 包:首先,你必要从另一台可以访问互联网的呆板上下载 ntpdate 安装包。你可以去 Ubuntu 的官方软件包库下载,地址为:https://packages.ubuntu.com/。在搜索框中输入 ntpdate,选择适合你的 Ubuntu 版本(在这种环境下是 20.04,也就是 Focal),然后点击 amd64 或 i386 (取决于你的系统架构)来下载 .deb 文件。
我们盒子是arm64架构的,就下载这个:
我勒个去,怎么没有链接啊,amd64版本的都有链接的:
解释:
从你提供的 URL 来看,你正在尝试在一个基于 ARM64 架构的 Ubuntu 20.04 系统上安装 ntpdate。
然而,Ubuntu 的软件包页面可能没有显示下载链接,这是由于一些软件包只能从特定的软件源获取。在这种环境下,你必要找到可以或许提供 ARM64 架构版本的 ntpdate 的合适源。
以下是一个可行的办理方案:
1.在另一台可以联网的 Ubuntu 呆板上,打开终端。
2.添加 Universe 软件源(假如尚未添加的话)。大部分 Ubuntu 安装默认都会包含 Universe 源,但以防万一,你可以运行下面的下令来添加:
sudo add-apt-repository universe
sudo apt-get update
3.下载 ntpdate 包及其依赖。你可以利用 apt-get download 下令来下载软件包和依赖,如下所示:
apt-get download ntpdate
请留意,这种方法必要你有另一台可以访问互联网并且运行着雷同架构(ARM64)和操纵系统版本的 Ubuntu 的呆板。
- 将文件复制到目标呆板:然后,你必要将下载的 .deb 文件复制到你想要安装 ntpdate 的呆板上。你可以利用 USB 装备或者其他方式进行传输。
- 在目标呆板上安装 ntpdate:末了,在你的 Ubuntu 20.04 呆板上,打开终端并导航到包含 .deb 文件的目次。然后利用以下下令来安装 ntpdate:
- sudo dpkg -i <file-name.deb>
复制代码 在这里,<file-name.deb> 是你下载的 ntpdate 安装包的文件名。
假如在安装过程中遇到任何依赖问题,你可能还必要下载和安装那些依赖包。你可以在雷同的 Ubuntu 软件包页面找到这些依赖包,并重复上述步骤进行安装。
完成上述步骤后,你应该就能在 Ubuntu 20.04 呆板上离线安装 ntpdate 了。
20231018 留意:在ubuntu20.04上,我只是用这个下令到临时查看ntp服务器用,详细同步我用的systemd-timesyncd服务
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |