昨天在双系统装完Arch之后我发现Arch的时间是对的,而在windows上时间就是错误的,用往常百度上面说的用timedatectl指令操作linux的rtc-time发现也没有用了
最后只能自己去看Arch 的wik找答案了
系统的时钟包含了两个时钟,一个是硬件时钟一个是实时时钟,硬件时钟用的是UTC时间,这个是全球同一时间,与时区无关,该时间与GMT时间是同步的,也就是与格林尼治平均时同步的,同时也是世界的基准时间
硬件时钟使用hwclock 来设置,这也就是我们安装archllinux的时候chroot进新系统的时候要用的一条重要指令(archlinux安装是看的别人教程,这就是没有好好看文档的后果(难受)
硬件时钟配置不正确的话可能对轻度使用linux的用户没有什么影响,但是对有需要用v2访问外网的可能就有问题了,因为时间配置不正确的时候ssl的加密会出现问题
RTC是系统的实时时钟,要修改RTC一般是设置localtime然后利用命令:
timedatectl set-local-rtc true
这可以修改本地的rtc使用localtime,这也是安装Arch的时候生成/etc/localtime的原因
如果此时设置了RTC为localtime之后发现没用,那多半是你的localtime设置不正确了,出现了和我一样的问题
timedatectl status
使用上面命令可以查看系统的所有时间状况,如果没有错误的话,此时你的系统时间里面的localtime应该是和你的UTC是一样的,这个时候你应该删了/etc/localtime,然后执行
time timedatectl set-timezone Asia/Shanghai
timezone为linux下的一个时区设置。这里是修改timezone为上海,默认的timezone应该UTC,修改完之后在输入你的timedatectl status你会发现你的localtime正确了,时区也正确了,但是rtc还是错误了,这个时候再执行一边timedatectl set-local-rtc true
就ok了
相关资料:
Archwiki