如何在Ubuntu 18.04上设置或改变时区
在Ubuntu上,系统的时区是在安装过程中设置的,但在以后的时间里可以很容易地改变它。
使用正确的时区对许多与系统有关的任务和进程都很重要。例如,cron daemon使用系统的时区来执行cron作业,而日志文件中的时间戳也是基于同一时区。
本教程演示了如何在Ubuntu 18.04及以前的版本中通过命令行或GUI来设置或改变时区。同样的说明适用于任何基于Ubuntu的发行版,包括Kubuntu、Linux Mint和Elementary OS。
先决条件
你需要以root身份或具有sudo权限的用户身份登录,以便改变系统的时区。
检查当前的时区
在Ubuntu和大多数其他Linux发行版中,我们可以使用timedatectl
命令来显示和设置当前系统的时间和时区。
timedatectl
正如你在下面的输出中所看到的,时区被设置为UTC。
输出
Local time: Wed 2019-01-23 22:45:47 UTC
Universal time: Wed 2019-01-23 22:45:47 UTC
RTC time: Wed 2019-01-23 22:45:48
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no
系统时区是通过将/etc/localtime
符号链接到/usr/share/zoneinfo
目录中的二进制时区标识符来配置的。因此,另一个选择是使用ls命令来显示symlink指向的路径。
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
输出
Etc/UTC
使用 timedatectl
命令改变时区
在改变时区之前,你需要找出你要使用的时区的长名称。时区命名惯例通常使用 "地区/城市 "格式。
要列出所有可用的时区,你可以列出/usr/share/zoneinfo
目录下的文件,或使用timedatectl
命令。
timedatectl list-timezones
输出
...
Europe/Oslo
Europe/Paris
Europe/Podgorica
Europe/Prague
Europe/Riga
Europe/Rome
Europe/Samara
...
一旦你确定哪个时区对你的位置是准确的,就以sudo用户身份运行下面的命令。
sudo timedatectl set-timezone your_time_zone
例如,将系统的时区更改为Europe/Rome
:
sudo timedatectl set-timezone Europe/Rome
运行timedatectl
命令来验证这些变化。
timedatectl
输出
Local time: Thu 2019-01-24 00:27:43 CET
Universal time: Wed 2019-01-23 23:27:43 UTC
RTC time: Wed 2019-01-23 23:27:44
Time zone: Europe/Rome (CET, +0100)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no
通过重新配置tzdata
来改变时区
如果您运行的是较早的Ubuntu版本,并且您的系统中不存在timedatectl
命令,您可以通过重新配置tzdata
来改变时区。
确定你要配置的时区。
使用下面的tee命令,将新的时区名称保存到
/etc/timezone
文件中。echo "Europe/Rome" | sudo tee /etc/timezone
输出
Europe/Rome
运行下面的命令来改变系统的时区。
sudo dpkg-reconfigure --frontend noninteractive tzdata
输出
Current default time zone: 'Europe/Rome' Local time is now: Thu Jan 24 00:40:48 CET 2019. Universal Time is now: Wed Jan 23 23:40:48 UTC 2019.
使用GUI改变时区
如果你不喜欢用命令行,你可以通过GUI来改变当前系统的时区。
通过点击
Settings
图标,打开系统设置窗口,如下图所示。在系统设置窗口中,点击
Date & Time
标签,将Automatic Time Zone
转为OFF
,并点击Time Zone
框。如果
Automatic Time Zone
设置为ON
,并且你有一个互联网连接,时区应该根据你的位置自动设置。要选择新的时区,你可以点击地图或通过搜索栏搜索一个时区。
完成后,点击
×
,关闭窗口。
总结
在本指南中,我们向您展示了如何改变Ubuntu系统的时区。
如果您有任何问题,请随时留言咨询。