树莓派安装完系统之后,它的时间是不对的,这会导致一些依赖时间的东西无法运作,例如 apt 无法更新,因为证书的校验是时间敏感的,所以会出现更换了国内源后,直接 apt update
会提示证书不合法的问题。这就需要我们将系统时间调正确。
针对时间同步的问题,Ubuntu 默认使用 timedatectl/timesyncd 处理同步的问题。
日期与时间展示
date
命令可以直接显示 Linux 系统的时间:
ubuntu@ubuntu:~$ date
Sat Dec 26 01:57:07 UTC 2020
时区查看与设置
树莓派安装完之后,它的时区并不是东八区,因此我们需要将时区更改一下。
timedatectl
命令可以查看和更改系统的时区:
ubuntu@ubuntu:~$ timedatectl status
Local time: Sat 2020-12-26 02:44:36 UTC
Universal time: Sat 2020-12-26 02:44:36 UTC
RTC time: n/a
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: no
NTP service: active
RTC in local TZ: no
可以看出,UTC 的偏移量为 +0000,而我们所处的是东八区,因此 UTC 偏移量应该是 +0800。在设置时区之前,得找有什么时区。一般来说我们使用的都是上海的时区,timedatectl 的 list-timezones 命令可以获取所有时区,下面的展示我只筛选上海的时区:
ubuntu@ubuntu:~$ timedatectl list-timezones | grep -i shanghai
Asia/Shanghai
找出时区名称为 Asia/Shanghai 之后就可以使用 timedatectl 进行设置了:
ubuntu@ubuntu:~$ timedatectl set-timezone "Asia/Shanghai"
设置完毕之后,在使用 timedatectl 查看一下结果:
ubuntu@ubuntu:~$ timedatectl
Local time: Sat 2020-12-26 11:11:46 CST
Universal time: Sat 2020-12-26 03:11:46 UTC
RTC time: n/a
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
NTP service: active
RTC in local TZ: no
可以看到 Time zone 部分已经改成东八区了。
网络同步
系统时间与网络同步需要使用到 chrony 这个应用,执行 sudo apt install chrony
进行安装。随后修改 /etc/chrony/chrony.conf
配置,修改默认的 pool 服务器地址,修改为 NTP Pool Project 上中国区域的 ntp 服务器地址。
随后 sudo systemctl restart chrony.service
重启 chrony 服务即可。