- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Linuxを入れたばかりなのにタイムスタンプが未来のファイルがある)
Linuxでタイムスタンプが未来のファイルがある理由
このQ&Aのポイント
- Linuxのレッドハット8を再インストールした後、タイムスタンプが未来のファイルがいくつか存在している。
- sendmailを起動しようとした際に、未来の時刻のファイルがある旨のエラーメッセージが表示された。
- インストール時の設定ミスや、時計のずれなどが原因と考えられるが、具体的な原因は不明。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#243622
回答No.1
インストーラのバグというか、仕様のようです。 あと、9時間以上たてばエラーは出なくなります。 インストール時には、BIOS時刻から読んだ時刻を元に、UTCにセットしています。sendmailのパッケージをインストールすると、newaliasesコマンドが発行されますので、その時点のタイムスタンプでファイルが作成されます。 最終的には同じ時刻を元にJSTにセットする(タイムゾーンの設定でBIOS時刻がUTCとしてセットしていない場合:ローカル時間に設定している場合)ようになりますから、時刻的には9時間前にずれます。したがって、未来のタイムスタンプになるわけです。 わかりにくいと思いますから、具体的な時刻で考えてみます。処理の間で時刻が進まないものとして考えます。 (1) 10:00にインストーラ上でnewaliasesを実行 →タイムスタンプ=10:00UTC (2) タイムゾーンを変更(ローカル時間に設定) →システム時計=10:00JST (UTCでは01:00) (3) 再起動してnewaliases実行 →実行時間10:00JST (ファイルのタイムスタンプは19:00JST) という形になります。 実際にインストールが行われている状態(パッケージ名とプログレスバーが出てる画面)で、コンソールに戻って(ctrl+alt+F2)dateコマンドを打ってみてください。
お礼
mazingaさんご返信ありがとうございます。 仕様ということは今後も修正されないのでしょうね。 以前sendmailを使用していたときはインストール後9時間以上経過してから起動したからエラーが発生しなかったのですね。 レッドハット8のインストーラーは最小構成を選択してもsendmailが入ってしまうので、 レッドハットインストール後9時間以内にsendmailを起動しないとこの仕様は発見できないってことですね! タイムスタンプを変更するコマンドとはtouchのことでした(ファイルを作成するコマンドだと思っていた)。 sendmailの起動前にtouchを行うように変更したら、エラーは発生しなくなりました。 仕様というのであれば、この方法で回避するのがスマートですよね。 ところでレッドハットのインストーラーは別名アナコンダというそうですが、 なんであんな気持ち悪いヘビの名前にしたのだろう???