タイムゾーンは、同じ標準時を持つ地理的領域です。通常、タイムゾーンは運用システムのインストール中に設定されますが、後で簡単に変更できます。
正しいタイムゾーンを使用することは、多くのシステム関連のタスクとプロセスにとって不可欠です。たとえば、cronデーモンはシステムのタイムゾーンを使用してcronジョブを実行します。タイムゾーンは、ログのタイムスタンプにも使用されます。
このチュートリアルでは、Linuxでタイムゾーンを設定または変更するために必要な手順について説明します。
timedatectl
は、システムの日時を表示および変更できるコマンドラインユーティリティです。最新のsystemdベースのLinuxシステムすべてで利用できます。
現在のタイムゾーンを表示するには、timedatectl
を呼び出します オプションや引数のないコマンド:
timedatectl
Local time: Tue 2019-12-03 16:30:44 UTC
Universal time: Tue 2019-12-03 16:30:44 UTC
RTC time: Tue 2019-12-03 16:30:44
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: no
systemd-timesyncd.service active: yes
RTC in local TZ: no
上記の出力は、システムのタイムゾーンがUTCに設定されていることを示しています。
システムタイムゾーンは、/etc/localtime
をシンボリックリンクすることで構成されます。 /usr/share/zoneinfo
のバイナリタイムゾーンの識別子にファイルします ディレクトリ。
タイムゾーンを確認するもう1つの方法は、ls
を使用してシンボリックリンクが指すパスを表示することです。 コマンド:
ls -l /etc/localtime
lrwxrwxrwx 1 root root 27 Dec 3 16:29 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC
Linuxでのタイムゾーンの変更#
タイムゾーンを変更する前に、使用するタイムゾーンの長い名前を確認する必要があります。タイムゾーンの命名規則では、通常、「地域/都市」形式が使用されます。
使用可能なすべてのタイムゾーンを表示するには、timedatectl
を使用します コマンドを実行するか、/usr/share/zoneinfo
内のファイルを一覧表示します ディレクトリ:
timedatectl list-timezones
...
America/Montserrat
America/Nassau
America/New_York
America/Nipigon
America/Nome
America/Noronha
...
現在地に正確なタイムゾーンを特定したら、rootまたはsudouserとして次のコマンドを実行します。
sudo timedatectl set-timezone <your_time_zone>
たとえば、システムのタイムゾーンをAmerica/New_York
に変更するには 次のように入力します:
sudo timedatectl set-timezone America/New_York
変更を確認するには、timedatectl
を呼び出します もう一度コマンド:
timedatectl
Local time: Tue 2019-12-03 13:55:09 EST
Universal time: Tue 2019-12-03 18:55:09 UTC
RTC time: Tue 2019-12-03 18:02:16
Time zone: America/New_York (EST, -0500)
System clock synchronized: no
systemd-timesyncd.service active: yes
RTC in local TZ: no
任務完了!システムのタイムゾーンが正常に変更されました。
シンボリックリンクを作成してタイムゾーンを変更する#
古いLinuxディストリビューションとtimedatectl
を実行している場合 ユーティリティがシステムに存在しない場合は、/etc/localtime
をシンボリックリンクしてタイムゾーンを変更できます /usr/share/zoneinfo
のタイムゾーンに移動します ディレクトリ。
現在のsymlinkorファイルを削除します:
sudo rm -rf /etc/localtime
設定するタイムゾーンを特定し、シンボリックリンクを作成します:
sudo ln -s /usr/share/zoneinfo/America/New_York /etc/localtime
/etc/localtime
をリストして確認してください ファイルまたはdate
の呼び出し コマンド:
date
出力には、タイムゾーン(この例では「EST」)が含まれます。
Tue Dec 3 14:10:54 EST 2019
結論#
Linuxシステムでタイムゾーンを変更するには、sudo timedatectl set-timezone
を使用します コマンドの後に、設定するタイムゾーンの長い名前を続けます。
ご不明な点がございましたら、お気軽にコメントをお寄せください。