Linux
當我設置之前的日期並重新啟動時,日期更改為 2016 年 2 月 11 日和 2014 年 1 月 1 日
我想將日期設置為“1990-??-??” 在我的電腦上,但是當我重新啟動它時,我看到:
在 Ubuntu 1604 上,系統日期是“2016 年 2 月 11 日”,但 RTC 是“1990-??-??”。
在 Ubuntu 1404 上,它們都是“2014 年 1 月 1 日”。
這是 Ubuntu 錯誤嗎?
我使用以下命令來做到這一點:
# timedatectl set-ntp no
(停止自動時間更新)# timedatectl set-time "1990-8-8 20:20:20"
(設置日期)# hwclock --systohc
(同步 RTC)我測試了一些日期,發現我無法在 Ubuntu 1604 上的“11-Feb-2016”和 Ubuntu 1404 上的“1-Jan-1998”之前設置日期。
使用
systemd
它時,它會在啟動時設置“合理”時間,即如果它返回的時間早於 systemd 本身的發布日期,則會提前時鐘。這些值在timesyncd和init中設置。這是設置TIME_EPOCH的地方。
在 UNIX 上,通常有一個沒有工作實時時鐘的回退:
然後核心使用來自根文件系統的超級塊的時間戳。
使用該
date
命令,您當然可以設置至少從 1970 年 1 月 1 日到 2038 年的任何時間