Linuxシステムのインストール時間を確認するには?

Linuxシステムのインストール時間を確認するには?

誰もLinuxシステムを隠そうとしない場合は、最初のインストール以降の時間をどのように知ることができますか?

答え1

sudo tune2fs -l /dev/sda1 **OR** /dev/sdb1*  | grep 'Filesystem created:'

ファイルシステムの作成時期を通知します。

* = 最初の列では、df /使用する正確なパーティションを見つけることができます。

答え2

dumpe2fs を使用して、ルートファイルシステムの日付を確認します。探している日付以外は他の日付を思い出せません。

dumpe2fs $(mount | grep 'on \/ ' | awk '{print $1}') | grep 'Filesystem created:'

答え3

周りに日付があります。

  • すべての文書には日付が記載されています。
  • ログファイルには日付が含まれています。

DebianまたはUbuntuおよびその派生製品については、/var/log/installer/syslog洗脳ログの一部である明示的な回答(ある場合)を参照してください。

しかし、これが保証されるわけではないことに注意してください。 (動作しない理由については、他の回答/コメントを参照してください。)

答え4

(私が考えることができる)偽装ファイルシステムと展開中立的な解決策は、与えられた最も古いファイルを使用することですls -lact /etc。これは、各ファイルの作成時間に関するメタデータを調べます。これは遊ぶことができますが、touchアーカイブを抽出したり、アーカイブを抽出して生成されたファイル(tar -pタイムスタンプを保存するためなど)を抽出しても影響はありません。

ディレクトリではなくファイルを見る方が良いと思います。するコンテンツが変更されると、生成時間のメタデータが変更されます。 (このようなことが起こる理由を誰か説明してもらえますか?)

ls -lact --full-time /etc |tail

システム不足GNU Coreutilsその--full-timeオプションは削除する必要があります(ソート順はまだ正確であり、日付は引き続き表示されます)。stat FILE |grep Change(表示された最も古いファイルで実行)を使用して、ファイルのメタデータから作成時間を取得できますls -lact

Linux以外のシステムでは、stat情報が少し異なるように配置される可能性があり、異なるフラグが必要になる場合があります。これはまだファイルのメタデータを使用し、正確性を保証しないことに注意してください。

またstat、GNU Coreutilsには「生成」時間がありますが、これはしばしば間違っています(Linuxと外部4収率0は不明を示します。 FreeBSDは超高速ファイルシステム表示された「出生」時間は、私が照会するシステムよりも高速です。正しい値は「変更された」時間としてリストされます。

華やかに飾りたいならただ最も古いファイル作成時間/etc:

ls -lact --full-time /etc |awk 'END {print $6,$7,$8}'

このコマンドは、以前のFreeBSDシステム(UFS、GNUユーティリティなし)で機能しました。

stat "/etc/$(ls -act /etc |tail -1)" |awk -F\" '{print $6}'

(はい、これは構文解析します。lsこれはできません。ただし、いたずら名の付いたファイルを持ってはいけません。/etc

statまた、それを使用して別の時間形式を取得することもできます。たとえば、生成時間を取得するにはUnix時代:(GNUの場合、これは「最後の状態変更時間」であることstat -c %Z FILEに注意してください。しかし、私のLinuxおよびBSDシステムの場合、これは上記のように正しいフラグです。「ファイルが作成された時間」です。)または(BSDの場合)) 。%Z%Wstat -f %c FILE

関連情報