タイムゾーンはUbuntuOSのインストール時に設定され、後で変更することもできます。 cronジョブとタイムスタンプに基づくアプリケーションに適切なタイムゾーンを設定することは非常に重要な側面です。
最新のオペレーティングシステムは、NIST(National Institute of Standards and Technology)タイムサーバーを使用して時間を検出および同期します。 NISTは、3億年で1秒を稼いだり失ったりしない原子時計を操作します。
ここLinuxAPTでは、サーバー管理サービスの一環として、お客様が関連するUbuntuクエリを実行するのを定期的に支援しています。
これに関連して、Ubuntu18.04システムでタイムゾーンを変更するさまざまな方法を検討します。
現在のタイムゾーンを取得する方法は?
この構成手順に進む前に、sudo権限を持つユーザーアカウントを使用していることを確認してください。
基本的に、timedatectlコマンドはすべてのLinuxディストリビューションで同じであり、システムのタイムゾーンを簡単に取得および設定するために使用されます。次のコマンドを実行して、現在のタイムゾーンを取得します。
$ timedatectl
以下のように出力が表示されます:
Local time: Tue 2021-04-30 11:57:15 IST
Universal time: Tue 2021-04-30 06:27:15 UTC
RTC time: Tue 2021-04-30 06:27:15
Time zone: Asia/Kolkata (IST, +0530)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no
Ubuntuのタイムゾーン構成ファイル
- / usr / share / zoneinfo / –タイムゾーン名ごとのファイルはこのディレクトリに保存されます。たとえば、ファイル/ usr / share / zoneinfo / America / New_Yorkは、ニューヨークのタイムゾーンを表します。
- / etc / localtime –これは/ usr / share /zoneinfo/ディレクトリにあるファイルlocaltimeへのシンボリックリンクです。
Ubuntuでタイムゾーンを変更する方法は?
まず、設定するタイムゾーンの長い名前を知っている必要があります。使用可能なすべてのタイムゾーンのリストを取得するには、以下のコマンドを実行します。
$ timedatectl list-timezones
以下のような出力が表示されます:
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
...
...
America/Caracas
America/Cayenne
America/Cayman
America/Chicago
America/Chihuahua
America/Costa_Rica
...
...
Pacific/Saipan
Pacific/Tahiti
Pacific/Tarawa
Pacific/Tongatapu
Pacific/Wake
Pacific/Wallis
UTC
設定するタイムゾーンの長い名前を取得し、sudouserと同様に次のコマンドを実行します。
コマンドの基本的な構文は次のとおりです。
$ sudo timedatectl set-timezone NEW_TIME_ZONE
たとえば、必要なタイムゾーンがAmerica / New_Yorkの場合、次のようにコマンドを実行して設定できます:
$ sudo timedatectl set-timezone America/New_York
次に、timedatectlコマンドを使用してタイムゾーンを再度確認します。
$ timedatectl
新しいタイムゾーンAmerica/New_Yorkで変更する必要があります:
Local time: Wed 2021-04-30 02:30:39 EDT
Universal time: Wed 2021-04-30 06:30:39 UTC
RTC time: Wed 2021-04-30 06:30:39
Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no
シンボリックリンクでタイムゾーンを変更する方法は?
タイムゾーンを変更する別の方法は、シンボリックリンクを作成することです。この方法は、サーバーが古いバージョンのUbuntuを実行している場合、またはtimedatectlコマンドが使用できない場合に役立ちます。シンボリックリンク/etc/localtimeを/usr/ share/zoneinfoディレクトリのタイムゾーンに作成してタイムゾーンを変更します。
まず、次のように入力して、現在の/ etc/localtimeシンボリックリンクまたはファイルを削除する必要があります。
$ sudo rm -rf /etc/localtime
その後、設定するタイムゾーンを追加して、シンボリックリンクを作成します。
$ sudo ln -s /usr/share/zoneinfo/America/New_York /etc/localtime
ここで、確認する場合は、/ etc / localtimeファイルを一覧表示するか、dateコマンドを実行して確認できます。
$ date
以下の出力が表示されます:
Output
Tue Apr 30 02:37:22 EDT 2021