Linux Ubuntuでインターネットからシステムの時刻と日付を更新する方法
Ubuntuでシステムクロックを正しく設定するのは、時に少しイライラすることがあります。例えば、すべて正しく設定したつもりでもタイムスタンプがずれていたり、アプリが時刻の不正確さを訴えたりします。なぜこんなに不安定なのかは分かりませんが、手動設定とネットからの同期を切り替えると改善されるようです。このクイックガイドでは、Ubuntuがインターネットサーバー経由で正確な時刻を維持するための、簡単なコマンドと設定方法を解説します。複雑な設定やサードパーティ製アプリは必要ありません。ターミナルで魔法のように数回クリックするだけです。設定が完了すれば、システムは同期された状態を維持し、タイムスタンプに関する奇妙なバグを防ぎ、すべてがスムーズに動作するようになります。
Ubuntu で時刻と日付の同期の問題を修正する方法
システムがインターネットにアクセスできることを確認する
まず、マシンが実際にオンラインになっていることを確認してください。インターネットが機能していないと、何も正しく同期されません。ブラウザを開いてウェブサイトにアクセスするか、ターミナル(ping -c 3 google.com
)からGoogleにpingを送信してください。それが機能すれば、準備完了です。機能しない場合は、まずネットワーク接続を確認してください。そもそもシステムがタイムサーバーに接続できなければ、他のことは何もできません。ファイアウォールのルールによってアクセスがブロックされる場合があるため、オンラインでも同期が機能しない場合は、その点に注意してください。
ターミナルを開いて現在の時刻同期ステータスを確認します
これが核となる部分です。Ctrl + Alt + Tターミナルを開いて を実行してくださいtimedatectl status
。システムクロックと同期ステータスの情報が表示されます。NTP(Network Time Protocol)サービスが無効または「いいえ」の場合、システムは自動的に同期されていません。一部のマシンでは、最初は同期に失敗しても、再起動後に同期が機能することがあります。もし動作がおかしい場合は、NTPを有効にしてから再起動してみてください。
timedatectl status
NTPサービスを探してください。「非アクティブ」と表示されている場合、それが問題です。
自動時刻同期を有効にする
これが主な修正方法です。NTPをオンにします。 を実行してくださいsudo timedatectl set-ntp true
。これで、ネットワークが稼働している限りUbuntuのsystemdに時刻同期を指示します。簡単です。動作開始まで数秒かかることを覚悟してください。このコマンドはすぐには動作しない場合もあるので、動作しない場合は、timedatectlサービス(sudo systemctl restart systemd-timesyncd
)を再起動するか、再起動してみてください。動作開始までに新たな起動が必要になることがあるのは不思議なことですが、1分ほど経ってから確認してみる価値はあります。
同期が機能していることを確認する
もう一度実行してtimedatectl status
ください。NTPサービスがアクティブで、システムクロックが同期されていますか?と表示されるはずです。表示されない場合は、インターネットがまだ機能しているか確認し、時刻同期サービス(sudo systemctl restart systemd-timesyncd
)を手動で再起動してみてください。設定によっては、少し操作するだけで同期が完了する場合もあります。それでも同期しない場合は、pool.ntp.orgまたはご希望のタイムサーバーへのアクセスをブロックするファイアウォールルールがないか確認してください。
同期がまだ機能しない場合の追加のヒント
それでも時刻が正しくない場合は、システムを特定のNTPサーバーに直接接続するように設定することをお勧めします。例えば、を実行して/etc/systemd/timesyncd.confsudo nano /etc/systemd/timesyncd.conf
を編集します。その中に、 のような行を追加するか、コメントアウトを解除しますNTP=0.pool.ntp.org 1.pool.ntp.org
。保存してサービスを再起動します(sudo systemctl restart systemd-timesyncd
)。また、タイムゾーンが正しいことを確認してください。 を実行して参照するか、 または を使って現在地timedatectl list-timezones
で明示的に設定してください。sudo timedatectl set-timezone America/New_York
もちろん、Ubuntu では必要以上に難しくする必要があり、デフォルトに頼るのではなく、正確なサーバーを指定しなければならない場合もあります。
すべてがうまくいかない場合は、代替ツールを検討してください
設定によっては、デフォルトの時刻同期システムでは不十分な場合があります。GitHub : Winhanceをインストールしてみるか、標準の NTP クライアントを使用するなど、バックアップとして活用すると良いでしょう。ただし、通常は設定をいじることtimedatectl
でsystemd-timesyncd
ほとんどの問題は解決します。
まとめ
- インターネット接続を確認してください。タイムサーバーにアクセスする必要があります。
- 実行して
timedatectl status
現在の同期ステータスを確認します。 - との自動同期を有効にします
sudo timedatectl set-ntp true
。 - 同期が実際に行われたことを確認します。
- 必要に応じて、 を使用してタイムゾーンを調整します
timedatectl set-timezone
。
まとめ
Ubuntuシステムで正確な時刻を維持するのは、コマンドの使い方と必要な場所さえ知っていれば、思ったほど難しくありません。特に不安定な設定やネットワークの変更後など、再起動やサービスの再起動が大きな効果を発揮することがあります。すべてが正しく設定されていれば、システムは同期状態を維持し、タイムスタンプのトラブルやセキュリティ警告の表示を回避できるはずです。この方法が、理由もなく発生する厄介な時刻ずれの問題を回避するのに役立つことを願っています。