Ubuntuタイムゾーンの変更を適用するには?

Ubuntuタイムゾーンの変更を適用するには?

編集してタイムゾーンをリセットしたいです/etc/timezone。ところが編集を終えてファイルを保存したのにそれに合わせてシステム時間が変わりませんでした。

一方、dpkg-reconfigure tzdata時間帯を変更するコマンドを使用すると、時間が即座に変更されます。また、/etc/timezoneそれに応じてファイルが変更されます。

構成ファイルを編集して保存した後に新しい時間を適用するには、どの手順を省略する必要がありますか?

答え1

これでうまくいくことがわかったので、dpkg-reconfigure tzdata試してみてはいかがでしょうか?

問題がインタラクティブで、変更をスクリプト化したい場合はこれが可能です。タイムゾーンは次のように構成されます。デブカンファレンス。次のコマンドを使用して値を設定できますdebconf-set-selections。その後、パッケージを再構成し、何も尋ねないように指示します。

debconf-set-selections <<EOF
tzdata tzdata/Areas select Europe
tzdata tzdata/Areas seen true
tzdata tzdata/Zones/Europe select Paris
tzdata tzdata/Zones/Europe seen true
EOF
dpkg-reconfigure -fnoninteractive tzdata

/etc/localtimeアプリケーションは、最初に必要なときにタイムゾーン情報を読み込みます。これはシステムの標準ライブラリによって実行されるため、例外はあまり見つかりません。/etc/localtime通常、以下のファイルへのシンボリックリンク/usr/share/zoneinfoまたはそのファイルのコピーです。ほとんどのアプリケーションは、このファイルの変更を適用するために再起動する必要があります。

このファイルには/etc/timezoneタイムゾーン名が含まれています。通常は/etc/localtimeリンクまたはコピーです/usr/share/zoneinfo/$(cat /etc/timezone)/etc/timezone主に(のみ?)パッケージングシステムで使用されるため、変更しても顕著な効果がない理由が説明されます。

TZ環境変数(たとえば)を使用して特定のアプリケーションを起動すると、特定のアプリケーションで異なるタイムゾーンを使用できますTZ=Pacific/Tarawa date

答え2

見て、これが呼び出されたときに実行されると/var/lib/dpkg/info/tzdata.postinst思います。dpkg-reconfigure tzdata

/etc/timezoneアップデート後に実行される次のコマンドに特に注意してください。

cp -f /usr/share/zoneinfo/$AREA/$ZONE /etc/localtime.dpkg-new && \
            mv -f /etc/localtime.dpkg-new /etc/localtime

したがって、/ etc / localtimeファイルを更新する必要があります。まだやってはいませんが、時間帯を変える重要な段階だと思います。自分で編集した場合、tzdata管理者が手動で変更したいかどうかはわかりません/etc/timezone

答え3

service timezone restartこれを適用するには手動で実行することもできます。これはほとんどすべてのシステムプロファイルで機能します。ファイルが変更されたら、これらの構成に依存するすべてのサービスを再起動する必要があります。

ファイルを変更する/etc/timezoneだけで十分ですが、通常適用するには再起動するか、少なくともログインする必要があります。タイムゾーンの変更は、システムメーカーが期待するものではなく、頻繁に読み直す必要がある設定ファイルになるのに十分です。

初めてログインするときに設定した環境変数のため、再度ログインする必要がある場合があります。たとえば、システム言語変数は通常ログイン時に設定され、プロファイルを変更してもログインしたユーザーには影響しません。

答え4

次のスクリプトを使用して、ユーザーに設定するタイムゾーンを尋ね、実際に設定されていることを確認します。

#!/bin/sh
sudo timedatectl set-timezone $(tzselect)
echo
echo timedatectl says:
timedatectl

私はそれを呼ぶtz-set

関連情報