新しいスライスホストインストールのセットアップを自動化するスクリプトを書いています。完璧な世界では、スクリプトを開始した後、スクリプトは実行されるだけで、私からの注意はありません。私は1つの例外を除いて成功しました。
永続的(再起動後も存続)と正気(標準と夏時間を調整するため、日付を強制するだけではなく)でタイムゾーンを設定するにはどうすればよいですか。
現在、私は使用しています
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
これを試して:
echo "Europe/London" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata
/etc/localtime
の正しいタイムゾーンを指すように/usr/share/zoneinfo/
シンボリックリンクを更新
これに自分でぶつかった。これを正しく行う方法の完全な構成は次のとおりです(ここと この質問 のコメントの集計です):
#Set time zone and time
echo "tzdata tzdata/Areas select Europe" | debconf-set-selections
echo "tzdata tzdata/Zones/Europe select London" | debconf-set-selections
TIMEZONE="Europe/London"
echo $TIMEZONE > /etc/timezone
cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime
/usr/sbin/ntpdate pool.ntp.org
tzdata
は、debconfを使用してその質問に回答するため、事前に入力する必要があります。これを行うにはいくつかの方法がありますが、最も簡単なのは インストール中に回答を提示する です。 debconfが使用するデフォルトのデータベースを設定できることに加えて、その方法についてはdebconf(7)
のマンページを参照してください。