失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 生信服务器 | 更改 CentOS/RHEL 6/7 中的时区

生信服务器 | 更改 CentOS/RHEL 6/7 中的时区

时间:2021-07-03 19:31:50

相关推荐

生信服务器 | 更改 CentOS/RHEL 6/7 中的时区

这几天在学习折腾 docker 的时候遇到一个很常见的问题,就是 run container 的时候发现大部分 image 默认使用的时间都是 UTC (Universal Time Coordinated,UTC)世界协调时间,跟平时中使用的 CST (China Standard Time UTC+8:00) 中国沿海时间(北京时间) 差别有点大,很不适应。

每次去修改的时候又有点不太记得timedatectl的具体命令,甚至跑一些基于 CentOS/RHEL 6 镜像的流程时发现根本没有timedatectl这个命令!

虽然之前在《【原】生信服务器 | Linux 时间戳和标准时间 · 语雀》这个推文专门写了一些timedatectl命令的具体用法,基本都是针对 CentOS/RHEL 7 的系统,不适用于已经停止维护的 CentOS/RHEL 6。

所以,后来专门谷歌了一下,发现除了timedatectl,还有更加简便的一些修改方法,记录一下。

在 CentOS/RHEL 6 中改变时区

在 CentOS 6 中,时区文件位于/usr/share/zoneinfo下。所以,如果你的区域是美国/芝加哥(UTC-6) ,它应该是/usr/share/zoneinfo/America/Chicago等等。

CentOS 6 使用位于 /etc 下的一个名为 "localtime" 的文件来确定当前设置的时区。

$ls-la/etc/localtime

这个文件,要么是移动到这个位置的实际时区文件,要么是 zoneinfo 目录下时区的符号链接(即软链接文件)。因此,如果您想要更改时区,首先需要确定使用哪个时区,然后将其符号链接到本地时间。你可以使用以下方法:

$rm-f/etc/localtime

$ln-s/usr/share/zoneinfo/Asia/Shanghai/etc/localtime

$date

这将把当前时区设置为 CST 亚洲/上海时区,我所属的时区。

在 CentOS/RHEL 7 中改变时区

CentOS 7 附带了一个叫做timedatectl的命令工具。这可以用来为您查找和设置符号链接,而不是完成 CentOS 6 中要求的工作。

若要列出可用的时区,请运行:

$timedatectllist-timezones

你可以找到你想要的时区,如下:

$timedatectllist-timezones|grepShanghai

现在,要设置一个时区,使用命令set-timezonetimedatectl命令。例如,如果我想将时区设置为 Asia/Shanghai,我会运行以下命令:

$timedatectlset-timezoneAsia/Shanghai

$date

上面的这个操作跟上面提到的 CentOS 6 修改时区一样,会创建一个链接到zoneinfo目录的locatime文件符号链接:

$ls-l/etc/localtime

lrwxrwxrwx1rootroot35Apr115:10/etc/localtime->../usr/share/zoneinfo/Asia/Shanghai

生信服务器 | Linux 时间戳和标准时间

-01-21

生信服务器入门级基本设置

-06-05

在 Linux 上给用户赋予指定目录的读写权限

-10-05

一次 HPC 病毒感染与解决经历

-10-30

VSCode 中利用 Remote SSH 连接远程服务器

-06-30

本文分享自微信公众号 - 生信科技爱好者(bioitee)。

如有侵权,请联系 support@ 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

如果觉得《生信服务器 | 更改 CentOS/RHEL 6/7 中的时区》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。