正しいタイムゾーンを使用することは、多くのシステム関連のタスクとプロセスにとって不可欠です。たとえば、cronデーモンはシステムのタイムゾーンを使用してcronジョブを実行し、ログファイルのタイムスタンプは同じシステムのタイムゾーンに基づいています。
Debianでは、システムのタイムゾーンはインストール中に設定されますが、後で簡単に変更できます。
この記事では、Debian10Linuxでタイムゾーンを設定または変更する方法について説明します。
timedatectl は、システムの日時を表示および変更できるコマンドラインユーティリティです。最新のsystemdベースのLinuxシステムで利用できます:
timedatectl 以下の出力は、システムのタイムゾーンが「UTC」に設定されていることを示しています。
Local time: Fri 2020-04-03 19:23:29 UTC
Universal time: Fri 2020-04-03 19:23:29 UTC
RTC time: Fri 2020-04-03 19:23:29
Time zone: UTC (UTC, +0000)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
システムのタイムゾーンは、/etc/localtimeをシンボリックリンクすることで構成されます。 /usr/share/zoneinfoのバイナリタイムゾーン識別子に ディレクトリ。 lsを使用して、シンボリックリンクが指すパスを確認することでタイムゾーンを見つけることもできます。 コマンド:
ls -l /etc/localtime lrwxrwxrwx 1 root root 23 Nov 21 23:44 /etc/localtime -> /usr/share/zoneinfo/UTC
Debianでのタイムゾーンの変更#
タイムゾーンを変更する前に、使用するタイムゾーンの長い名前を見つける必要があります。タイムゾーンは「地域/都市」形式を使用しています。
使用可能なすべてのタイムゾーンを一覧表示するには、/usr/share/zoneinfo内のファイルを一覧表示します。 ディレクトリを作成するか、timedatectlを呼び出します list-timezonesを使用したコマンド オプション:
timedatectl list-timezones ...
America/Monterrey
America/Montevideo
America/Montserrat
America/Nassau
America/New_York
...
現在地に正確なタイムゾーンを特定したら、rootまたはsudo権限を持つユーザーとして次のコマンドを実行します。
sudo timedatectl set-timezone your_time_zone
たとえば、システムのタイムゾーンをAmerica/Monterreyに変更するには 、実行します:
sudo timedatectl set-timezone America/Monterrey
timedatectlを使用して現在のシステムのタイムゾーンを確認し、変更を確認します コマンド:
timedatectl Local time: Fri 2020-04-03 13:30:30 CST
Universal time: Fri 2020-04-03 19:30:30 UTC
RTC time: Fri 2020-04-03 19:30:30
Time zone: America/Monterrey (CST, -0600)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
シンボリックリンクを作成してタイムゾーンを変更する#
古いバージョンのDebianとtimedatectlを実行している場合 コマンドがシステムに存在しない場合は、/etc/localtimeをシンボリックリンクしてタイムゾーンを変更できます /usr/share/zoneinfoのタイムゾーンバイナリにファイルします ディレクトリ。
設定するタイムゾーンを特定し、シンボリックリンクを作成します:
sudo ln -sf /usr/share/zoneinfo/America/Monterrey /etc/localtime
/etc/localtimeを一覧表示して、変更を確認します ファイルまたはtimedatectlの発行 またはdate コマンド:
date Fri 03 Apr 2020 01:34:27 PM CST