Debian
localtime 和 timezone 文件有什麼區別?
我正在設置一個 docker 容器,並且有兩個地方設置了時區:
- /etc/本地時間
- /etc/時區
誰能解釋一下它們之間的區別以及兩者的用途?
/etc/timezone
是您所在時區的基於文本的表示形式。這可以表示為與 GMT/UTC 的偏移量,但更多情況下它/usr/share/zoneinfo
是指向適當時區數據文件的路徑(例如,如果您在大多數在美國東部的地方,這將是America/New_York
或US/Eastern
)。這樣做的主要目的是確保/etc/localtime
在更新數據文件時正確/usr/share/zoneinfo
更新(儘管有些系統會在其中創建/etc/localtime
指向正確文件的符號連結)並為時區提供一個快速的使用者友好名稱(US/Eastern
是比EST
or更加使用者友好EDT
)。只有一些系統實際使用這個文件。
/etc/localtime
是計算與 UNIX 時間相關的時間的精確規則的二進製表示(核心使用的內部表示,以 1970-01-01 00:00:00 UTC 以來的秒數為單位)。這包括與 UTC 的正常偏移量,以及夏令時規則(何時開始和結束以及它應用的偏移量),以及閏日規則,並註釋已觀察到多少閏秒. 這被date
命令(及其在各種程式語言中的等效函式)之類的東西使用,以準確地向您顯示本地時間。所有具有正常使用者空間的 Linux 系統都使用此文件。