Linux

當我設置之前的日期並重新啟動時,日期更改為 2016 年 2 月 11 日和 2014 年 1 月 1 日

  • June 30, 2018

我想將日期設置為“1990-??-??” 在我的電腦上,但是當我重新啟動它時,我看到:

在 Ubuntu 1604 上,系統日期是“2016 年 2 月 11 日”,但 RTC 是“1990-??-??”。

在 Ubuntu 1404 上,它們都是“2014 年 1 月 1 日”。

這是 Ubuntu 錯誤嗎?

我使用以下命令來做到這一點:

  1. # timedatectl set-ntp no(停止自動時間更新)
  2. # timedatectl set-time "1990-8-8 20:20:20"(設置日期)
  3. # hwclock --systohc(同步 RTC)

我測試了一些日期,發現我無法在 Ubuntu 1604 上的“11-Feb-2016”和 Ubuntu 1404 上的“1-Jan-1998”之前設置日期。

使用systemd它時,它會在啟動時設置“合理”時間,即如果它返回的時間早於 systemd 本身的發布日期,則會提前時鐘。這些值在timesyncdinit中設置。

這是設置TIME_EPOCH的地方。

在 UNIX 上,通常有一個沒有工作實時時鐘的回退:

然後核心使用來自根文件系統的超級塊的時間戳。

使用該date命令,您當然可以設置至少從 1970 年 1 月 1 日到 2038 年的任何時間

引用自:https://unix.stackexchange.com/questions/452773