序章

正確な計時は、最新のソフトウェア展開に不可欠です。 これがないと、データの破損、エラー、およびデバッグが困難なその他の問題が発生する可能性があります。 時間の同期は、ログが正しい順序で記録されていること、およびデータベースの更新が適切に適用されていることを確認するのに役立ちます。

幸い、Ubuntu 20.04には時刻同期が組み込まれており、デフォルトで systemdtimesyncd サービス。 この記事では、いくつかの一般的な時間関連のコマンドを練習し、次のことを確認します。 timesyncd がアクティブであり、代替ネットワークタイムサービスをインストールします。

前提条件

このチュートリアルを開始する前に、このUbuntu 20.04サーバーセットアップチュートリアルで説明されているように、root以外のsudo対応ユーザーとファイアウォールを備えたUbuntu20.04サーバーが必要です。

サーバーの時刻を表示するには、次のコマンドを使用します date. すべてのユーザーがこのコマンドを実行して、日付と時刻を印刷できます。

  1. date

通常、サーバーはデフォルトのUTCタイムゾーンで出力を生成します。

Output
Thu Aug 5 15:55:20 UTC 2021

UTCは協定世界時、経度0度の時間です。 これは現在のタイムゾーンを反映していない場合がありますが、ユニバーサルタイムを使用すると、インフラストラクチャが複数のタイムゾーンにまたがる場合の混乱を防ぐことができます。

ただし、タイムゾーンを変更する場合は、 timedatectl 指図。

まず、次のコマンドを実行して、使用可能なタイムゾーンのリストを生成します。

  1. timedatectl list-timezones

タイムゾーンのリストが画面に印刷されます。 押すことができます SPACE ページダウンし、 b ページアップする。 正しいタイムゾーンを見つけたら、それをメモして、次のように入力します q リストを終了します。

次に、でタイムゾーンを設定できます timedatectl set-timezone 強調表示された部分を、リストで見つけたタイムゾーンに置き換えます。 使用する必要があります sudotimedatectl この変更を行うには:

  1. sudo timedatectl set-timezone America/New_York

を実行して変更を確認できます date また:

  1. date
Output
Thu Aug 5 11:56:01 EDT 2021

タイムゾーンの省略形は、新しく選択された値を反映します。

時計の確認とタイムゾーンの設定を練習したので、次のセクションで時刻が正しく同期されていることを確認できます。

制御 timesyncdtimedatectl

以前は、ほとんどのネットワーク時間同期はネットワークタイムプロトコルデーモンまたは ntpd. このサービスは、他のNTPサーバーのプールに接続して、一定の正確な時刻更新を提供します。

しかし、Ubuntuのデフォルトのインストールでは、次を使用できます timesyncd それ以外の ntpd. timesyncd 同じタイムサーバーに接続することで同様に機能しますが、軽量で、より緊密に統合されています systemd Ubuntuで。

のステータスを照会できます timesyncd 実行することによって timedatectl 引数なし。 使用する必要はありません sudo この場合:

  1. timedatectl
Output
Local time: Thu 2021-08-05 11:56:40 EDT Universal time: Thu 2021-08-05 15:56:40 UTC RTC time: Thu 2021-08-05 15:56:41 Time zone: America/New_York (EDT, -0400) System clock synchronized: yes NTP service: active RTC in local TZ: no

このコマンドは、現地時間、ユニバーサル時間(UTCタイムゾーンから切り替えなかった場合は現地時間と同じになる場合があります)、および一部のネットワーク時間ステータス情報を出力します。 System clock synchronized: yes 時刻が正常に同期されたことを反映し、 NTP service: active という意味です timesyncd 稼働中です。

出力にNTPサービスがアクティブでないことが示されている場合は、次のコマンドでオンにします。 timedatectl:

  1. sudo timedatectl set-ntp on

この後、実行します timedatectl もう一度ネットワーク時間の状態を確認します。 同期が行われるまで1分かかる場合がありますが、最終的には System clock synchronized: 読むつもりです yesNTP service: として表示されます active.

に切り替える ntpd

timesyncd ほとんどの状況で動作します。 ただし、アプリケーションが時間の経過に伴う障害に敏感な場合があります。 この場合、 ntpd は、使用できる代替のネットワークタイムサービスです。 ntpd 高度な技術を使用して、システム時間を常に順調に維持します。

インストールする前に ntpd、オフにする必要があります timesyncd 2つのサービスが互いに競合するのを防ぐためです。 これを行うには、次のコマンドを使用してネットワーク時刻の同期を無効にします。

  1. sudo timedatectl set-ntp no

時間同期が無効になっていることを確認します。

  1. timedatectl

出力が次のようになっていることを確認します NTP service: inactive. これの意味は timesyncd 止まりました。 これで、をインストールする準備ができました ntp とのパッケージ apt.

ファーストラン apt update ローカルパッケージインデックスを更新するには:

  1. sudo apt update

次に、実行します apt install ntp このパッケージをインストールするには:

  1. sudo apt install ntp

ntpd インストールが完了すると、自動的に開始されます。 クエリを実行することで、すべてが正しく機能していることを確認できます ntpd ステータス情報の場合:

  1. ntpq -p
Output
remote refid st t when poll reach delay offset jitter ============================================================================== 0.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 1.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 2.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 3.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 ntp.ubuntu.com .POOL. 16 p - 64 0 0.000 0.000 0.000 +t1.time.bf1.yah 129.6.15.28 2 u 16 64 1 61.766 -20.068 1.964 +puppet.kenyonra 80.72.67.48 3 u 16 64 1 2.622 -18.407 2.407 *ntp3.your.org .GPS. 1 u 15 64 1 50.303 -17.499 2.708 +time.cloudflare 10.4.1.175 3 u 15 64 1 1.488 -18.295 2.670 +mis.wci.com 216.218.254.202 2 u 15 64 1 21.527 -18.377 2.414 +ipv4.ntp1.rbaum 69.89.207.99 2 u 12 64 1 49.741 -17.897 3.417 +time.cloudflare 10.4.1.175 3 u 15 64 1 1.039 -16.692 3.378 +108.61.73.243 129.6.15.29 2 u 14 64 1 70.060 -16.993 3.363 +ny-time.gofile. 129.6.15.28 2 u 21 64 1 75.349 -18.333 2.763 golem.canonical 17.253.34.123 2 u 28 64 1 134.482 -21.655 0.000 ntp3.junkemailf 216.218.254.202 2 u 19 64 1 2.632 -16.330 4.387 clock.xmission. .XMIS. 1 u 18 64 1 24.927 -16.712 3.415 alphyn.canonica 142.3.100.2 2 u 26 64 1 73.612 -19.371 0.000 strongbad.voice 192.5.41.209 2 u 17 64 1 70.766 -18.159 3.481 chilipepper.can 17.253.34.123 2 u 25 64 1 134.982 -19.848 0.000 pugot.canonical 145.238.203.14 2 u 28 64 1 135.694 -21.075 0.000

ntpq のクエリツールです ntpd. The -p フラグは、NTPサーバー(または p eers)に関する情報を要求します ntpd に接続されています。 出力は少し異なりますが、デフォルトのUbuntuプールサーバーと他のいくつかのサーバーが一覧表示されます。 覚えておいてください、それは数分かかることがあります ntpd 接続を確立します。

結論

この記事では、システム時刻を正常に表示し、タイムゾーンを変更し、Ubuntuのデフォルトで動作しました。 timesyncd サービス、およびインストール ntpd. 高度なタイムキーピングのニーズがある場合は、公式のNTPドキュメントを参照できます。また、NTPプールプロジェクトもご覧ください。これは世界のNTPインフラストラクチャの多くを提供するボランティアのグローバルグループです。 。