ディストリビューションに依存しない OS インストール日を決定する方法は何ですか?

ディストリビューションに依存しない OS インストール日を決定する方法は何ですか?

私は CrunchBang マシンを使用しており、OS のインストール日を参照する必要があるスクリプトを作成しようとしています。

検索して次のコマンドを見つけました:

ls -lct /etc | tail -1 | awk '{print $6, $7, $8}'

印刷します

Mar 31 21:24

そのtail -1部分は理解できませんでしたが、$6 $7 $8 はコマンドが参照している最後の行の 6 番目、7 番目、8 番目の出現であることは理解できました。

しかし、コマンドに年が表示されなかったため、年を含めることができないことに気付きましたls -ltc

/etc作成日を見つける方法や、/var/log/syslogその他を確認する方法を提案する人もいました。これらはディストリビューションに少し特有のものではないかと考えました。

OS のインストール日を見つけるための、ディストリビューションに依存しない方法として、どのような方法をお勧めしますか?

答え1

ext{2,3,4} ファイルシステムがあり、OS をインストールしたときにルート ファイルシステムをフォーマットした (そして、ワイプなしで別の OS からアップグレードしていない) と仮定すると、dumpe2fs を使用できます。

% dumpe2fs -h /dev/mapper/vg_desktop-lv_root 2>&1 |grep 'Filesystem created'
Filesystem created:       Sat Jul 23 04:28:07 2011

答え2

これに対する正式な方法は知りません。

私がいつもやってきたことは、

touch /install-`date +"%F"` && chattr +i /install-20*

これにより、「install-」の後に現在の日付が続くファイル (今日実行した場合は install-2012-04-03) が作成され、不変として設定されるため、誤って削除されることはありません。

では、そのファイルを見て、OS がいつインストールされたかを確認するだけです。

関連情報