VM上のUbuntuを起動させると、時刻がずれていることがよくあります。ubuntuでは標準インストールでntpサーバに定期的に時刻同期を行う設定になっているので、しばらくすると時刻が修正されるのですが、早く時刻を戻したいと思い、強制的に時刻同期を指せる方法について調べました。
● 環境
windows 11
VMware ubuntu 24.04 LTS
● 問題のある症状
VMWare上のOSを起動させると、前回の終了日時がそのまま引き継がれており、しばらくの間時刻設定がずれてしまいます(しばらく使用していると同期される)
時刻がずれていると、sudo apt update の実行ができません。
# ubuntu を起動後、すぐに apt update を行おうとすると警告が表示され、updateが実行できません
> sudo apt update
ヒット:1 http://archive.ubuntu.com/ubuntu noble InRelease
:
パッケージリストを読み込んでいます... 完了
E: Release file for http://archive.ubuntu.com/ubuntu/dists/noble-updates/InRelease is not valid yet (invalid for another 4日 6時間 26分 41秒). Updates for this repository will not be applied.
和約:リリースファイルはまだ有効ではありません(あと4日 6時間 26分 41秒待ってください)
● 確認修正方法
次のコマンドで時刻のずれと設定を確認することができます
# 時刻のずれと設定確認
> timedatectl status
Local time: 日 2024-07-07 14:52:51 JST # 本当は現在 07-11 22:10 頃
Universal time: 日 2024-07-07 05:52:51 UTC
RTC time: 日 2024-07-07 05:52:51
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes # yes になっていればそのうち同期されます
NTP service: active # active になっていればそのうち同期されます
RTC in local TZ: no
● 即時同期
次のコマンドで、即時同期を行います。
# ntpサーバの即時同期
> sudo systemctl restart systemd-timesyncd # 強制同期
> timedatectl status # 時刻確認
Local time: 木 2024-07-11 22:11:42 JST # 時刻が補正されている
Universal time: 木 2024-07-11 13:11:42 UTC
RTC time: 木 2024-07-11 13:11:41
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
宗教上の理由でntpサーバが使えない時はこちら
# ntp サーバが使えない時 (手動設定)
> sudo timedatectl set-time "2024-07-11 14:30:00"
● 最後に
起動してすぐに時刻を同期することができると、すぐにapt update が実行できるようになるので便利です。
★今回一番つまづいた点
sudo systemctl restart systemd-timesyncd
↓
sudo systemctl restart system-timesyncd
と入力して、しばらく悩んでいました。
「d」が無いほうが覚えやすいのに…