站长资源服务器

Ubuntu20的tzselect设置时间失效的问题,树莓派服务器(推荐)

整理:jimmy2024/12/23浏览2
简介我前两天树莓派服务器升级到ubuntu20后, 今天发现服务器的时区不对,定时任务也没启动, python安装的包都丢失。 Docker 的镜像全部丢失。 没办法只能重新来设置了, 这篇文章先说设置时区的问题。 这篇文章中我共找到三种设置时间的方式tzselect 失效,不知道原因timedate

我前两天树莓派服务器升级到ubuntu20后, 今天发现服务器的时区不对,定时任务也没启动, python安装的包都丢失。 Docker 的镜像全部丢失。 没办法只能重新来设置了, 这篇文章先说设置时区的问题。 这篇文章中我共找到三种设置时间的方式

tzselect 失效,不知道原因timedatectl 设置成功,推荐使用cp 时区文件的方式, 不建议使用查看时间

Ubuntu20的tzselect设置时间失效的问题,树莓派服务器(推荐)

现在时间是上午10:41,时区明显不对, 相差8个小时。

使用tzselect 设置, 没有成功

Ubuntu20的tzselect设置时间失效的问题,树莓派服务器(推荐)

按照提示一路选择: 4) Asia ----> 9) China ------> 1) BeiJing 都没有问题, 我甚至按照最后的提示在 .profile 的最后一行增加了TZ='Asia/Shanghai' 并且断开了ssh连接后重新登录上去, 时间设置还是没成功。

timedatectl 经过搜索发现这个工具

timedatectl是一个命令行工具,它允许你查看或者修改系统的时间和日期。它在所有现代的基于 System 的 Linux 系统中都可以使用,包括 Ubuntu 20.04.

timedatectl 打印当前时区信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ukKXLTGM-1589166731775)(/Users/dasouche/Library/Application Support/typora-user-images/image-20200511105339889.png)]

如果不带参数直接运行,会正常打印出时间信息。

timedatectl 查看可以设置的时区

timedatectl list-timezones

带上list-timezones参数运行下,看到如下的结果:

ubuntu@ubuntu ~ % timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Algiers
Africa/Bissau
Africa/Cairo
Africa/Casablanca
Africa/Ceuta
Africa/El_Aaiun
Africa/Johannesburg
Africa/Juba
Africa/Khartoum
Africa/Lagos
Africa/Maputo
Africa/Monrovia
Africa/Nairobi
Africa/Ndjamena
Africa/Sao_Tome
Africa/Tripoli
Africa/Tunis
Africa/Windhoek
America/Adak
America/Anchorage
America/Araguaina
America/Argentina/Buenos_Aires
America/Argentina/Catamarca
America/Argentina/Cordoba
America/Argentina/Jujuy
America/Argentina/La_Rioja
America/Argentina/Mendoza
America/Argentina/Rio_Gallegos
America/Argentina/Salta
America/Argentina/San_Juan
America/Argentina/San_Luis
America/Argentina/Tucuman
America/Argentina/Ushuaia
America/Asuncion
America/Atikokan
America/Bahia
America/Bahia_Banderas
America/Barbados
America/Belem
America/Belize
America/Blanc-Sablon
America/Boa_Vista
America/Bogota
America/Boise
America/Cambridge_Bay
America/Campo_Grande
America/Cancun
America/Caracas
America/Cayenne
America/Chicago
America/Chihuahua
America/Costa_Rica
America/Creston
America/Cuiaba
lines 1-56

上面的结果展示不全, 往下翻找可以看到 Asia/Shanghai 这一行.

timedatectl 设置时区

sudo timedatectl set-timezone Asia/Shanghai

设置成功后, 重新看下时间

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TwcQRM77-1589166731780)(/Users/dasouche/Library/Application Support/typora-user-images/image-20200511110653006.png)]

cp文件设置时区

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

这种方式设置时间也可以,但是还是建议使用timedatectl工具。 因为timedatectl工具屏蔽了各个linux的差异性。

总结