NTP (network time protocol) linux时间设置

设置时区

  • 运行tzselect进行交互式选择
  • 或者直接创建软链接ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime /etc/localtime, 如果不小心删除了zoneinfo下的文件,可以安装tzdata找回来:sudo pacman -S tzdata

安装使用ntp

  • sudo pacman -S ntp 你的系统可能已经安装了,也可能没有
  • ntp协议使用udp的123端口,ntpd服务配置文件在/etc/ntp.conf
  • sudo ntpdate pool.ntp.org 执行一次可以调整一次时间,如果时间差的太多可能需要执行这个命令多次,ntpd服务可以调整的时间范围为17分钟以内
    • xx.pool.ntp.org对应的是一堆(pool)的ntp服务器,通过dns轮询(round-robin)均衡负载
  • 当时间调整到比较接近后可以启用ntpd服务:systemctl start ntpd,该服务会每隔一段时间就同步一下时间,时间的同步也常常不是一下就好的,先跨大步,再小步子调整,对于时间差大于17分钟的情况(insane time,准确点是1024秒),ntpd不会进行调整,可以通过ntpdate命令先调整一下
  • ntpq -p可以查看ntpd的时间同步情况,重要的就是offset栏表示你和服务器的时间偏差,单位毫秒
  • 当你启用ntpd的时候,别人也可以通过你来同步时间,只要的服务器地址设置成你的地址就可以了
  • ntpd启用的时候,ntpdate不能使用,他们共用了端口(NTP socket)

硬件时钟

linux除了系统时钟还有个硬件时钟,这个其实不用手动去调整,ntpd会帮我们调整,最好的设置时间的方法就是使用ntpd

  • 可以通过sudo hwclock --hctosys将硬件时钟设置到系统时钟
  • 通过sudo hwclock --systohoc将系统时钟设置到硬件时钟 (这个应该会用得多一些)

参考

  • youtube: Linux Network Time Protocol (NTP)
  • ntp insane time
  • 鳥哥的 Linux 私房菜:第十五章、時間伺服器: NTP 伺服器

你可能感兴趣的:(NTP (network time protocol) linux时间设置)