如何在 Ubuntu 20.04 上设置或者修改时区
本文最先发布在:https://www.itcoder.tech/posts/how-to-set-or-change-timezone-on-ubuntu-20-04/
使用正确的时区,对于系统相关的任务和进程来说,是最基本的。例如,cron 守护进程,使用系统时区来执行定时任务,并且在日志中的时间戳也是基于相同的系统时区。
在 Ubuntu 上,系统时区通常在安装的时候设置,但是可以很容易地在后面进行修改。
本文描述了如何使用命令行或者 GUI 界面在 Ubuntu 20.04 上设置或者修改时区。
一、前提条件
以 root 身份或者其他的sudo 用户身份设置或者修改系统时区。
二、检查当前的系统时区
timedatectl
是一个命令行工具,它允许你查看或者修改系统的时间和日期。它在所有现代的基于 System 的 Linux 系统中都可以使用,包括 Ubuntu 20.04.
想要打印当前系统时区,不带参数运行timedatectl
。
timedatectl
下面的输出显示系统时区被设置为"UTC":
Local time: Wed 2020-05-06 19:33:20 UTC
Universal time: Wed 2020-05-06 19:33:20 UTC
RTC time: Wed 2020-05-06 19:33:22
Time zone: UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
系统时区通过链接文件/etc/localtime
配置,该链接指向/usr/share/zoneinfo
目录下的一个二进制时区标识文件。另外一个检查时区的方法就是显示这个链接文件指向的实际路径,使用ls
命令:
ls -l /etc/localtime
lrwxrwxrwx 1 root root 27 Dec 10 12:59 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC
系统的时区同时也被写入/etc/timezone
文件:
cat /etc/timezone
UTC
三、使用timedatectl
命令修改时区
在修改时区时,你将需要找到你想要使用的时区的一个很长的名字。时区通常使用"地区/城市"格式.
想要列出所有可用的时区,你可以列出/usr/share/zoneinfo
目录下的所有文件,或者运行timedatectl
命令,加上list-timezones
选项:
timedatectl list-timezones
...
America/Montevideo
America/Nassau
America/New_York
America/Nipigon
America/Nome
America/Noronha
...
一旦你识别出哪一个时区能准备描述你的位置,以 root 或者其他有 sudo 权限的用户身份,运行下面的命令:
sudo timedatectl set-timezone your_time_zone
例如,想要将系统时区设置为America/New_York
:
sudo timedatectl set-timezone America/New_York
运行timedatectl
命令去验证修改:
timedatectl
Local time: Wed 2020-05-06 15:41:42 EDT
Universal time: Wed 2020-05-06 19:41:42 UTC
RTC time: Wed 2020-05-06 19:41:48
Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
四、使用 GUI 修改时区
如果你正在运行 Ubuntu 桌面版,你还可以通过 GUI 来修改当前系统时区。
01.点击系统图标,打开系统设置窗口,像下图一样:
02.在系统设置窗口,点击Date & Time
标签。如果Automatic Time Zone
被打开,并且你拥有互联网连接,定位服务也开启了,那么根据你的位置,你的时区应该已经被自动设置好了。
03.想要选择新时区,你需要点击地图,或者通过搜索栏,搜索一个时区。
一旦完成,点击x
来关闭窗口。
五、总结
我们已经向你展示如何修改你的 Ubuntu 系统的时区。