タイムゾーンは、同じ標準時を持つ地理的地域です。 通常、タイムゾーンはオペレーションシステムのインストール中に設定されますが、後で簡単に変更することができます。
正しいタイムゾーンの使用は、多くのシステム関連のタスクとプロセスにとって不可欠です。 たとえば、cronデーモンはcronジョブを実行するためにシステムのタイムゾーンを使用します。 タイムゾーンはログのタイムスタンプにも使用されます。
このチュートリアルでは、Linuxでタイムゾーンを設定または変更するのに必要な手順について説明します。,
現在のタイムゾーンの確認#
timedatectlは、システムの時刻と日付を表示および変更できるコマンドラインユーティリティです。 最新のすべてのsystemdベースのLinuxシステムで利用可能です。
現在のタイムゾーンを表示するには、オプションや引数を指定せずにtimedatectlコマンドを呼び出します。
timedatectl
上記の出力は、システムのタイムゾーンがUTCに設定されていることを示しています。,
システムタイムゾーンは、/etc/localtimeファイルを/usr/share/zoneinfoディレクトリ内のバイナリタイムゾーンの識別子にシンボリックリンクすること
タイムゾーンをチェックする別の方法は、lsコマンドを使用してシンボリックリンクが指すパスを表示することです。
ls -l /etc/localtime
lrwxrwxrwx 1 root root 27 Dec 3 16:29 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC
Linuxでタイムゾーンを変更する#
タイムゾーンを変更する前に、使用するタイムゾーンの長い名前を見つける必要があります—– タイムゾーンの命名規則では、通常、”地域/都市”形式が使用されます。,l利用可能なタイムゾーンは、timedatectlコマンドを使用するか、/usr/share/zoneinfoディレクトリ内のファイルをリストします。
timedatectl list-timezones
...America/MontserratAmerica/NassauAmerica/New_YorkAmerica/NipigonAmerica/NomeAmerica/Noronha...
どのタイムゾーンがあなたの場所に正確であるかを特定したら、rootまたはsudoユーザーとして次のコマンドを実行します。
sudo timedatectl set-timezone <your_time_zone>
たとえば、システムのタイムゾーンをAmerica/New_Yorkに変更するには、次のように入力します。
sudo timedatectl set-timezone America/New_York
変更を確認するには、timedatectlコマンドを再度呼び出します。
timedatectl
ミッション達成!, システムのタイムゾーンが正常に変更されました。
シンボリックリンクを作成してタイムゾーンを変更する#
古いLinuxディストリビューションを実行していて、timedatectlユーティリティがシステムに存在しない場合は、/etc/localtimeを/usr/share/zoneinfoディレクトリのタイムゾーンにシンボリックリンクすることでタイムゾーンを変更できます。,
現在のシンボリックリンクまたはファイルを削除します。
sudo rm -rf /etc/localtime
構成するタイムゾーンを特定し、シンボリックリンクを作成します。
sudo ln -s /usr/share/zoneinfo/America/New_York /etc/localtime
/etc/localtimeファイルをリストするか、dateコマンド:
出力にはタイムゾーンが含まれます(この例では”Est”です)。,
Tue Dec 3 14:10:54 EST 2019
結論#
Linuxシステムでタイムゾーンを変更するには、sudo timedatectl set-timezoneコマンドの後に設定するタイムゾーンの長い名前を