web-dev-qa-db-ja.com

時計をタイムサーバーと同期するようにUbuntuを設定する方法は?

Ubuntuが起動時にシステムクロックをタイムサーバーと自動的に同期するようにします。

ただし、ログインするまで、PCはインターネットに接続されません(プラス5〜10秒)。

これを行うにはどうすれば設定できますか?

23
Nathan Osman

これは instructions が利用可能なNTPで行われます。基本的に、NTPデーモンをインストールする必要があります。いくつかの選択肢があるようですが、「標準」の選択肢はパッケージntpにあります。リンク先ページの指示に従って、

Sudo apt-get install ntp

ubuntuのNTPサーバーと同期するようにすべてが設定されます。

編集:「起動時」が恋しい通常、ntpdを使用してシステムとサーバー間の継続的な同期を取得することをお勧めしますが、本当に一度だけ同期したい場合は、mfischの答えが探しているようです。

32
David Z

「システム」->「管理」->「時刻と日付」に移動すると、GUIが表示され、日付/時刻を設定できます。

タイムサーバーを使用するためのオプションが提供されます。チェックして、NTPがインストールされていない場合、インストールするかどうかを尋ねられます。 「はい」をクリックして、ジョブを実行させてください:)

9
Little Jawa

これはatおよびntpdateを使用して実行できます。 atはおそらく既にインストールされていますが、ntpdateはインストールされていない可能性があります。 (apt-get install ntpdate)。

最初にntpdateを実行する小さなスクリプトを作成し、update_time.shと呼びます。

#!/bin/bash
ntpdate pool.ntp.org

.bash_loginファイル(作成する必要がある場合があります)に以下を追加します。

at -f ~/update_time.sh now + 1 minute

それはあなたが望むことをする必要があります。 atが使用する遅延を5分、10分などに変更できます。

編集:ntpdateを実行するには、rootになる必要があることに気付きました。前述のupdate_time.shスクリプトにSUIDビットを設定する必要があります。これをコマンドから実行することで実行できます(一度だけ実行する必要があります):

Sudo chmod 4711 update_time.sh
Sudo chown root update_time.sh
6
mfisch

Ubuntu 16.04以降、timedatectl/timesyncd(systemdの一部)は、ntpdate/ntpの大部分を置き換えます。 時刻同期 を参照してください。

次を使用して時刻同期をアクティブにする必要がある場合があります。

$ Sudo timedatectl set-ntp on

Chronyを使用する場合:

  • ワンショット同期が必要な場合:$ chronyd -q

  • 時間を設定せずにワンショットの時間チェックが必要な場合は、$ chronyd -Qを使用します

  • 継続的な同期の場合、推奨される解決策は偶然です。

chrony(d)

NTPデーモンchronydはシステムクロックのドリフトとオフセットを計算し、継続的に調整するため、たとえばログの一貫性を損なうような大きな修正はありません。コストはわずかな処理能力とメモリですが、最新のサーバーでは通常これは無視できます。設置

Chronyをインストールするには、ターミナルプロンプトから次のように入力します。

$ Sudo apt install chrony

アクティベーションが必要な場合もあります

Sudo timedatectl set-ntp on

更新:上記が機能しない場合の別の方法は、$ chronyd -qを実行するようにcronジョブを設定することです

0
JBaczuk