我想将日期设置为“1990-??-??”在我的电脑上,但是当我重新启动它时,我看到:
在 Ubuntu 1604 上,系统日期为“2016 年 2 月 11 日”,但 RTC 为“1990-??-??”。
在 Ubuntu 1404 上,它们都是“1 Jan 2014”。
这是 Ubuntu 的 bug 吗?
我使用以下命令来执行此操作:
# timedatectl set-ntp no
(停止自动时间更新)# timedatectl set-time "1990-8-8 20:20:20"
(设置日期)# hwclock --systohc
(同步RTC)
我测试了一些日期,发现我无法在 Ubuntu 1604 上设置“2016 年 2 月 11 日”之前的日期,在 Ubuntu 1404 上无法设置“1998 年 1 月 1 日”之前的日期。
答案1
当使用systemd
它时,它会在启动时设置“合理”时间,即如果它返回的时间早于 systemd 本身的发布日期,则将时钟提前。这些值在两个中都设置时间同步和在里面。
这是设置的地方TIME_EPOCH。
答案2
在 UNIX 上,通常会出现没有工作实时时钟的后备方案:
然后内核使用来自根文件系统超级块的时间戳。
使用该date
命令,您当然可以设置至少从 1970 年 1 月 1 日到 2038 年范围内的任何时间