お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2021-12-01 13:45:57

sayuri89
新しいメンバ
登録日: 2021-02-17

Ubuntu20.04の日付の動作について

Ubuntu20.04で日付を色々と変更して試しています。
その中で疑問となる動作がありましたので、お知恵をお借りできれば幸いです。
環境の概要は以下の通りです。

ハードウェア:物理マシンに直接インストール(VMwarePlayerなどの仮想化ソフトは未使用)
OS:Ubuntu20.04
NTP:timedatectl set-ntp no で無効化

疑問点は以下の2点です。

・疑問点1
OSの起動時はハードウェアクロックを基準にするので、dateコマンドなどでシステムクロックだけ変更した場合は
hwclock --hctosys コマンドを実行してハードウェアクロックとシステムクロックの同期が必要
と理解しているのですが、この理解はあっているのでしょうか?


・疑問点2
timedatectlコマンドで時刻変更した後、再起動すると意図しない日付に変わっていることがありました。
過去の日付に戻すことに対する制約がUbuntuにはあるのでしょうか?
 #例えばインストールした日を基準に特定の日数以上は過去に戻せない、等
具体的な現象は以下の通りです。

---
timedatectlコマンドで 2021年1月1日0時0分に変更したのち、再起動した場合。

変更時(timedatectlコマンドで確認)
Localtime ・・・2021年1月1日 0時0分(JST)
Universaltime ・・・2020年12月31日 15時0分(UTC)
RTCtime ・・・2020年12月31日 15時0分(UTC)

再起動後(timedatectlコマンドで確認)
Localtime ・・・2021年8月15日 3時15分(JST)
Universaltime ・・・2021年8月14日 18時15分(UTC)
RTCtime ・・・2020年12月31日 15時0分(UTC)

オフライン

 

#2 2021-12-02 07:35:26

elliptic
メンバ
登録日: 2020-03-05

Re: Ubuntu20.04の日付の動作について

sayuri89 による投稿:

・疑問点1
OSの起動時はハードウェアクロックを基準にするので、dateコマンドなどでシステムクロックだけ変更した場合は
hwclock --hctosys コマンドを実行してハードウェアクロックとシステムクロックの同期が必要
と理解しているのですが、この理解はあっているのでしょうか?

sudo date -s "時刻" では ハードウェアクロックは。変更されない。
gnome-control-center datetime や timedatectl set-time "時刻" では ハードウェアクロックも
指定時刻に変更されるようです。
やりたいのは ハードウェアクロックをシステムクロックに合わせることでしょうか?
システムクロックをハードウェアクロックに合わせることでしょうか?

sayuri89 による投稿:

・疑問点2
timedatectlコマンドで時刻変更した後、再起動すると意図しない日付に変わっていることがありました。
過去の日付に戻すことに対する制約がUbuntuにはあるのでしょうか?
 #例えばインストールした日を基準に特定の日数以上は過去に戻せない、等

経験したことがなかったので試してみたら 同様の結果になりました。
2021年1月1日 に設定、再起動したら 2021年9月8日になってました。
どうも systemd journal の 最も過去の記録の日付に合わせているように見えます。

コード:

$ timedatectl set-ntp no
$ timedatectl set-time '2021-01-01'
$ timedatectl 
               Local time: 金 2021-01-01 00:00:12 JST
           Universal time: 木 2020-12-31 15:00:12 UTC
                 RTC time: 金 2021-01-01 00:00:12    
                Time zone: Asia/Tokyo (JST, +0900)   
System clock synchronized: no                        
              NTP service: inactive                  
          RTC in local TZ: yes                       

Warning: The system is configured to read the RTC time in the local time zone.
(略)---------------------------

$ systemctl reboot

# 再起動後
$ timedatectl 
               Local time: 水 2021-09-08 03:39:08 JST
           Universal time: 火 2021-09-07 18:39:08 UTC
                 RTC time: 金 2021-01-01 00:04:42    
                Time zone: Asia/Tokyo (JST, +0900)   
System clock synchronized: no                        
              NTP service: inactive                  
          RTC in local TZ: yes                       

Warning: The system is configured to read the RTC time in the local time zone.
(略)---------------------------

$ journalctl -k | head
-- Logs begin at Fri 2021-01-01 00:00:00 JST, end at Wed 2021-12-01 21:44:39 JST. --
 9月 08 03:37:23 ubuntu kernel: microcode: microcode updated early to revision 0x7, date = 2018-04-23
 9月 08 03:37:23 ubuntu kernel: Linux version 5.11.0-41-generic (buildd@lgw01-amd64-005) (gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #45~20.04.1-Ubuntu SMP Wed Nov 10 10:20:10 UTC 2021 (Ubuntu 5.11.0-41.45~20.04.1-generic 5.11.22)
 9月 08 03:37:23 ubuntu kernel: Command line: BOOT_IMAGE=/vmlinuz-5.11.0-41-generic root=UUID=1ae7ad54-9ec8-49c6-af07-e15fcd34c491 ro showmounts quiet splash zswap.enabled=1 zswap.compressor=lz4 vt.handoff=7
 9月 08 03:37:23 ubuntu kernel: KERNEL supported cpus:
 9月 08 03:37:23 ubuntu kernel:   Intel GenuineIntel
 9月 08 03:37:23 ubuntu kernel:   AMD AuthenticAMD
 9月 08 03:37:23 ubuntu kernel:   Hygon HygonGenuine
 9月 08 03:37:23 ubuntu kernel:   Centaur CentaurHauls
 9月 08 03:37:23 ubuntu kernel:   zhaoxin   Shanghai

オフライン

 

#3 2021-12-02 10:08:12

sayuri89
新しいメンバ
登録日: 2021-02-17

Re: Ubuntu20.04の日付の動作について

elliptic さま

早速の反応ありがとうございます!

>やりたいのは ハードウェアクロックをシステムクロックに合わせることでしょうか?
>システムクロックをハードウェアクロックに合わせることでしょうか?

合わせる時刻はどちらでも良いのですが、目的は「システムクロックとハードウェアクロックの差異が発生しないこと」です。
私が確認した範囲ではOS起動時はハードウェアクロック側に合わせると想定していましたが、
疑問点2で記載した事象もあり、どちらを基準にするのだろう?と疑問に思った次第です。


>どうも systemd journal の 最も過去の記録の日付に合わせているように見えます。

なるほど、systemd journal の 最も過去の記録の日付に合わせるのですね。
一度確認してみます。

オフライン

 

Board footer

Powered by FluxBB