Linux修改時區的正確方法
CentOS和Ubuntu的時區文件是/etc/localtime,但是在CentOS7以后localtime以及變成了一個鏈接文件
[root@centos7 ~]# ll /etc/localtime lrwxrwxrwx 1 root root 33 Oct 12 11:01 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai
如果采用直接cp的方法修改系統時區,那么就會把它所鏈接的文件修改掉,例如把美國的時區文件內容修改成了上海的時區內容,有可能會導致有些編程語言或程序在讀取系統時區的時候發生錯誤,因此正確的修改方法是:
CentOS6、Ubuntu16
# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
CentOS7、RHEL7、Scientific Linux 7、Oracle Linux 7
最好的方法是使用timedatectl命令
# timedatectl list-timezones |grep Shanghai #查找中國時區的完整名稱 Asia/Shanghai # timedatectl set-timezone Asia/Shanghai #其他時區以此類推
或者直接手動創建軟鏈接
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime