LinuxTimeをNTPサーバーと同期する方法
コンピューターの時計は完璧ではありません。数日、数週間、または数か月を考えると、それらはドリフトし、リアルタイムの表示を停止します。簡単に言えば、ドリフトした後、実際には「10:33」であるのに「10:30」と表示される場合があります。古いコンピューターでは、コンピューターの時計を手動で定期的に再調整するのが一般的でした。しかし、インターネット接続が普及した後、最新のオペレーティングシステムはNTPサーバーの助けを借りて時計を自動的に調整し始めました。
NTPとは何ですか?
NTPは、NetworkTimeProtocolの頭字語です。これは、ネットワーク接続を介してコンピュータークロックを同期し、それらを正確に保つように設計されたアルゴリズムです。
Linuxで時刻同期を有効にする方法
幸いなことに、ほとんどのディストリビューションは、箱から出して、何らかの形式の時間同期を実装しています。コンピュータの時計が電話の時計からずれていることに気づかなかった場合は、ほぼ確実にNTPクライアント/デーモンがすでに実行されています。
systemdを使用するLinuxOSの場合
Linuxディストリビューションの大部分はsystemdを採用しており、それには「systemd-timesyncd」デーモンが付属しています。つまり、Ubuntu、Debian、Fedora、Arch Linux、openSUSE、ManjaroなどにNTPクライアントがすでにプリインストールされているということです。これらのディストリビューション、およびそれらに基づく他のディストリビューション(たとえば、エレメンタリーOS、Zorin OS)で、これを実行してNTP同期が有効になっているかどうかを確認します。
timedatectl
Network time on: yes
が表示された場合 出力では、コンピュータの時計はNTPを介して定期的に自動的に調整されます。 NTP synchronized: no
に気付く場合もあります これは、「systemd-timesyncd」以外のツールを介して時計が同期されることを意味する場合があります。また、systemd-timesyncdがまだ同期されていないが、後で同期されることを意味する場合もあります。
Network time on: no
が表示された場合 、次のコマンドを実行して、NTP時間同期を有効にします。
sudo timedatectl set-ntp true
これらのディストリビューションで行う必要があるのはこれだけです。
systemdのないLinuxOSの場合
最近MXLinuxが非常に人気になっているので、このOSに関する例は最初から適切なようです。特別な場合でもあります。 「種類」は体系化されていますが、「種類」は体系化されていません。 timedatectlは、ネットワーク時間が「オン」であると報告しますが、systemd-timesyncdは使用されません。
では、どのように同期しますか?他のLinuxオペレーティングシステムで使用できる次のコマンドで確認できます。
sudo cat /var/log/syslog | grep ntp
MX Linuxでは、次の図に示すような結果が得られます。
このフィルタリングされたログメッセージから、「ntpdate」クライアントが1回実行されたことがわかります。これは人気のあるクライアントであり、多くのLinuxディストリビューションにデフォルトでインストールされています。軽量で、NTPサーバーに散発的にクエリを実行するだけです。バックグラウンドでは実行されず、スクリプトによってトリガーされ、同期されてから終了します。
これは、時間が非常に高い精度(ミリ秒またはマイクロ秒と考えてください)で同期されないことを意味しますが、ほとんどの目的には十分正確です。通常、少なくとも1秒は正確です。
他のオペレーティングシステムでは、デーモンである「ntpd」が常にバックグラウンドで実行されており、非常に正確であることがあります。実行すればするほど、正確になります。
何らかの理由でntp
をインストールする場合 またはntpdate
systemdを搭載したオペレーティングシステムでは、最初にsystemdのntpクライアントを無効にします。
sudo timedatectl set-ntp false
もちろん、上記のコマンドは、システム化されていないディストリビューションでは必要ありません。
ntpdateクライアントのインストール
これは、インターネットに常時接続されていない家庭用コンピュータ、ラップトップ、およびその他のデバイスに適しています。
Debian、Ubuntu、Linux Mint、Zorin、およびこれらに基づくその他のディストリビューションでは、次のコマンドを実行します。
sudo apt install ntpdate
上記のすべてのDebianベースのディストリビューションでは、新しいネットワーク接続が確認された後に実行するように、すぐに使用できるように構成されています。ネットワークから切断して再接続すると、今すぐ強制的に時間同期を行うことができます。
Fedoraでは、ntpdateは非推奨になるため、代わりにntpdデーモンを使用することをお勧めします(次のセクションを参照)。 2つの理由から、他のすべてのディストリビューションにも同じことが推奨されます。
- 別のパッケージにntpdateが含まれていない場合もありますが、次のセクションのntpdにバンドルされています。
- すべてのネットワーク接続で自動的に実行されるようにntpdateを自動化するわけではありません。ネットワーク接続後に自動的に実行されるスクリプトにntpdateを自分で挿入する必要があります。
この場合、次のセクションで説明するようにntpdをインストールする方が理にかなっています。
ntpdデーモンをインストールする
Debian、Ubuntu、Zorin、Mint、およびDebianまたはUbuntuに基づくその他のディストリビューションでは、次のコマンドを実行します。
sudo apt install ntp
これらのディストリビューションはすぐにntpdを起動し、起動するたびに自動的に起動します。それ以上のアクションは必要ありません。
Fedoraでは、次のコマンドでインストールします:
sudo dnf install ntp
CentOSで、次を実行します:
sudo yum install ntp
Arch Linuxの場合、以下を使用します:
sudo pacman -S ntp
そして、openSUSEで、次のように入力します。
sudo zypper install ntp
その後、サービスを起動時に起動できるようにしてから開始します。
sudo systemctl enable ntpd sudo systemctl start ntpd
systemdなしで実行される他のディストリビューションでは、代わりに次のコマンドを実行する必要がある場合があります。
sudo update-rc.d ntpd enable sudo service ntpd start
または、OSに相当するものなら何でも。
ntpdが存在しないというエラーが発生した場合は、上記のコマンドで「ntpd」を「ntp」に置き換えてください。一部のディストリビューションでは、ntpdデーモンサービスファイルの名前が異なります。
結論
少なくともグラフィカルユーザーインターフェイスを備えたLinuxOSで、これらの手順のいずれかを実行する必要があることはめったにありません。時間同期はすでに設定されているはずです。ただし、これらの手順は、少なくとも問題のデバッグに役立つ場合があります。多くのデスクトップ環境のコントロールパネルでは、時刻の同期を有効または無効にできます。バックグラウンドでは、同様のコマンドを使用してこれを構成するため、グラフィカルユーザーインターフェイスツールが失敗したときに自分で構成できます。
-
「at」ユーティリティを使用してLinuxでコマンドをスケジュールする方法
忙しいサーバーを初めて管理したとき、人々がサーバーを使用していないときに、サーバーを再起動するのに適切な時間を待たなければなりませんでした。私はこれが午前3時頃に起こったことに気づきました。それから、「これは不便です。サーバーを再起動するためだけに、不当な時間に目を覚ます必要があります」と思いました。 5秒後、私はそれが愚かな考えだと気づきました。 「これはLinuxです。このような単純なタスクを自動化するのは簡単だと確信しています。」したがって、at 発見されました。 ユーティリティは非常に使いやすいです。日時をコマンドラインパラメータとして渡してから、実行するコマンドを1つ以上入力するだ
-
Windows 11 で時刻を同期する方法
Windows では、システム クロックの時刻をサーバーと同期させることが重要です。多くのサービス、バックグラウンド操作、さらには Microsoft Store のようなアプリケーションでさえ、効果的に機能するためにシステム時間に依存しています。時間が適切に調整されていない場合、これらのアプリまたはシステムは失敗またはクラッシュします。いくつかのエラー メッセージも表示される場合があります。最近のすべてのマザーボードには、PC の電源がオフになっていても時間の同期を維持するためだけにバッテリーが搭載されています。ただし、バッテリの損傷やオペレーティング システムの問題など、さまざまな理由で時