ルビー さんが書きました:vfat上のpupsaveファイルは、通常、終了時にだけ保存されますが、その時のタイムスタンプのままであるのが普通だと思います。
これはいろいろ間違ってますね(^^;。
フラッシュメモリの記述が抜けてるのと、pupsaveの保存は設定の時間ごとと終了時に保存される。
です。
Zstep さんが書きました:initrd.gzを弄らず、touch コマンドでタイムスタンプ書き換えるのも
ありかなって思ってます
発想の転換で、面白いアイディアですね。
パピーの前回終了時間を調べて、pupsaveファイルのタイムスタンプを書き換えるスクリプトを作れば良いかなと考えて、作業しながらふと思いました。
pupsaveファイルの中を見る為に、ファイルをクリックしてマウント後、再度クリックのアンマウントでタイムスタンプが変わります。
同様にパピーの起動時にpupsaveファイルを読み込んだ時に、タイムスタンプも書き換えられるのかなと思いました。
読み込むだけだから、タイムスタンプは変わらないはずと単純に思ってましたが、違うのかもしれません。
確認の方法も思い付かないので間違ってるかもですが、USBメモリに限らず、ハードディスクにフルーガルインストールした場合でも、起動時にpupsaveファイルのタイムスタンプが書き換えられる。
ハードディスクにインストールした場合は、起動直後からすぐにpupsaveの書き出しが始まるので、それに気が付かない。
フラッシュメモリの場合は、起動後にすぐにはpupsaveが書き出されないので、タイムスタンプの変化が分かる。
フラッシュメモリで起動後に見えるpupsaveファイルのタイムスタンプは、保存時の時刻と考えていたのが間違いで、それにUTCの時刻ずれが加わって、更にややこしさが増す。
こんな事かもしれないと思いました。
/etc/rc.d/PUPSTATEのタイムスタンプが、pupsaveファイルのタイムスタンプとほぼ同じ、起動時刻-14時間なのに気が付きました。
initrd.gzのexport TZ='XXX-9'に編集後も同じですが、こちらは起動時刻で付きます。
ntfsのハードディスクにフルーガルインストールした、571JP、Tahrpup 6.0.5のPUPSTATEも見てみましたが、起動時刻-14時間のタイムスタンプになってます。
sfsファイルだけでも、起動時にtouchでタイムスタンプを付け直すのも良いかもですが、どうも起動後にもずれてるっぽいのです。
続けてrsyncを掛けた時にsfsファイルが更新された事があるのですが、再現性が無いので、検証が困難です。
とりあえず、
1. 気にしない
2. rsyncでsfsファイルを除外する
実用上は困ってないので1.でも良いのですが、2.の方を考えてます。