Linux

使用自動化腳本設置時區

  • December 29, 2020

我正在編寫腳本來自動設置新的 slicehost 安裝。在一個完美的世界中,在我啟動腳本之後,它會執行,而不會引起我的注意。我成功了,只有一個例外。

如何設置時區,永久(倖存重啟)和理智(調整標準和夏令時,所以不只是強制日期)……不需要我輸入的方式?

目前,我正在使用

dpkg-reconfigure tzdata

這似乎沒有任何方法可以強制參數進入它。它需要使用者輸入。


編輯:我在這裡編輯,而不是評論,因為評論似乎不允許程式碼塊。

這是我最終得到的實際程式碼,基於下面 Rudedog 的評論。我還注意到這不會更新 /etc/timezone. 我不確定誰使用它,但如果有人使用它,我也會設置它。

TIMEZONE="America/Los_Angeles"      
echo $TIMEZONE > /etc/timezone                     
cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime   # This sets the time

你應該能夠做到這一點

cp /usr/share/zoneinfo/America/Los_Angeles /etc/localtime

在上述命令中替換適當的時區。

在 Ubuntu 12.04 上,以下對我有用:

# http://manpages.ubuntu.com/manpages/precise/man7/debconf.7.html
export DEBCONF_NONINTERACTIVE_SEEN=true DEBIAN_FRONTEND=noninteractive
echo "Europe/Berlin" > /etc/timezone
dpkg-reconfigure tzdata

引用自:https://serverfault.com/questions/94991