Debian

localtime 和 timezone 文件有什麼區別?

  • July 29, 2021

我正在設置一個 docker 容器,並且有兩個地方設置了時區:

  • /etc/本地時間
  • /etc/時區

誰能解釋一下它們之間的區別以及兩者的用途?

/etc/timezone是您所在時區的基於文本的表示形式。這可以表示為與 GMT/UTC 的偏移量,但更多情況下它/usr/share/zoneinfo是指向適當時區數據文件的路徑(例如,如果您在大多數在美國東部的地方,這將是America/New_YorkUS/Eastern)。這樣做的主要目的是確保/etc/localtime在更新數據文件時正確/usr/share/zoneinfo更新(儘管有些系統會在其中創建/etc/localtime指向正確文件的符號連結)並為時區提供一個快速的使用者友好名稱(US/Eastern是比ESTor更加使用者友好EDT)。只有一些系統實際使用這個文件。

/etc/localtime是計算與 UNIX 時間相關的時間的精確規則的二進製表示(核心使用的內部表示,以 1970-01-01 00:00:00 UTC 以來的秒數為單位)。這包括與 UTC 的正常偏移量,以及夏令時規則(何時開始和結束以及它應用的偏移量),以及閏日規則,並註釋已觀察到多少閏秒. 這被date命令(及其在各種程式語言中的等效函式)之類的東西使用,以準確地向您顯示本地時間。所有具有正常使用者空間的 Linux 系統都使用此文件。

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