Debian
自動化 dpkg-重新配置 tzdata
我正在使用 puppet 來管理一個 debian 伺服器集群。我需要更改集群上每台機器的時區。正確的 debian 方法是使用
dpkg-reconfigure tzdata
. 但如果我使用對話框,我似乎只能改變它。有什麼方法可以從 shell 自動化,所以我可以寫一個 Exec 來簡化它?如果沒有,我認為下一個最好的方法可能是讓 puppet在集群中分發
/etc/timezone
並使用正確的數據。/etc/localtime
任何輸入表示讚賞!
您需要將前端指定為“非互動式”,它將保存您目前的設置。
dpkg-reconfigure 將目前系統設置作為福音,因此只需按照您通常的方式更改您的時區並使用非互動式標誌執行它
例如,讓我更改為我所在的“歐洲/都柏林”:
# echo "Europe/Dublin" > /etc/timezone # dpkg-reconfigure -f noninteractive tzdata
顯然,這允許您使用 puppet/cfengine 來分發 /etc/timezone。
編輯:
在@gertvdijk 評論指向https://bugs.launchpad.net/ubuntu/+source/tzdata/+bug/1554806和@scruss回答後,您可能必須在大多數現代發行版中這樣做:
$ sudo ln -fs /usr/share/zoneinfo/Europe/Dublin /etc/localtime $ sudo dpkg-reconfigure -f noninteractive tzdata