Ubuntuが起動時にシステムクロックをタイムサーバーと自動的に同期するようにします。
ただし、PCはログインするまでインターネットに接続されません(プラス5〜10秒)。
これを行うにはどうすれば設定できますか?
Ubuntuが起動時にシステムクロックをタイムサーバーと自動的に同期するようにします。
ただし、PCはログインするまでインターネットに接続されません(プラス5〜10秒)。
これを行うにはどうすれば設定できますか?
回答:
これはNTPで行われ、そのための指示が利用可能です。基本的に、NTPデーモンをインストールする必要があります。いくつかの選択肢があるようですが、「標準」の選択肢はパッケージに含まれていますntp
。リンク先ページの指示に従って、
sudo apt-get install ntp
UbuntuのNTPサーバーと同期するようにすべてが設定されます。
編集:「起動時」を逃しました。通常、ntpdを使用してシステムとサーバー間の継続的な同期を取得することをお勧めしますが、本当に一度だけ同期したい場合は、mfischの答えが探しているようです。
「システム」->「管理」->「時刻と日付」に移動すると、GUIが表示され、日付/時刻を設定できます。
タイムサーバーを使用するためのオプションが提供されます。確認してNTPがインストールされていない場合、インストールするかどうかを尋ねられます。「はい」をクリックして、その仕事をさせてください:)
これは、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
それはあなたが望むことをする必要があります。使用時の遅延を5分、10分などに変更できます。
編集:私はちょうどあなたが実行するためにルートである必要があることに気づいたntpdate
。前述のupdate_time.shスクリプトにSUIDビットを設定する必要があります。これをコマンドから実行することで実行できます(一度だけ実行する必要があります):
sudo chmod 4711 update_time.sh
sudo chown root update_time.sh
at
?そして、あなたが自動的に実行するつもりならntpdate
、なぜntp
サービスをインストールしないのですか?
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
更新:上記が機能しない場合の別の方法は、実行するcronジョブを設定することです$ chronyd -q