有了以上的基础,我们直接来看unraid 6.8.1的关机脚本,打开终端输入 vi /etc/rc.d/rc.0
在44-72行我们可以看到将systime写入到RTC时间的部份,其中关键是52行开始,我们看到这里提到了两个文件,/etc/adjtime和/etc/hardwareclock。/etc/adjtime上面已经说过了,那这个/etc/hardwareclock是什么,后面再说,先捋一下流程。

可以看到,默认我们不手动调用hwclock --systohc 写入RTC时间的话,关机时直接进入 /etc/hardwareclock 相关的判断。看一下 /etc/harwareclock 里面是什么:

到这里局势很明朗了。可以直接编辑将UTC改为localtime。
这里说是推荐使用timeconfig进行编辑,但是很坑爹,unraid连man都没有,timeconfig也没有提供任何帮助信息

不过我发现执行一次 timeconfig 后“UTC”就变成了“localtime”

