Linuxシステムが最初にインストールされてからの時間を知るには、誰もそれを隠そうとしなかった場合はどうすればよいですか?
tune2fs -l /dev/sda1 **OR** /dev/sdb1* | grep 'Filesystem created:'
これにより、ファイルシステムがいつ作成されたかがわかります。
* = df /
の最初の列に、使用するパーティションを正確に見つけることができます。
Dumpe2fsでルートファイルシステムの日付を確認します。それがあなたが探している日付以外の何かである可能性があることを私は本当に考えることができません:
dumpe2fs $(mount | grep 'on \/ ' | awk '{print $1}') | grep 'Filesystem created:'
いくつかの日付が横になっています。
DebianまたはUbuntuおよびそれらの派生物で、明確な回答が存在する場合は、それが点滴のログの一部である場合は、/var/log/installer/syslog
を参照してください。
ただし、これは保証されていません。 (動作しない理由のいくつかについては、他の回答/コメントを参照してください。)
Red Hatベースのディストリビューション(CentOS、Scientific、Oracleなど)では、以下を使用できます。
rpm -qi basesystem
Name : basesystem
Version : 10.0
Release : 7.el7
Architecture: noarch
Install Date: Mon 02 May 2016 19:20:58 BST
Group : System Environment/Base
Size : 0
License : Public Domain
Signature : RSA/SHA256, Tue 01 Apr 2014 14:23:16 BST, Key ID 199e2f91fd431d51
Source RPM : basesystem-10.0-7.el7.src.rpm
Build Date : Fri 27 Dec 2013 17:22:15 GMT
Build Host : ppc-015.build.eng.bos.redhat.com
Relocations : (not relocatable)
Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Vendor : Red Hat, Inc.
Summary : The skeleton package which defines a simple Red Hat Enterprise Linux system
Description :
Basesystem defines the components of a basic Red Hat Enterprise Linux
system (for example, the package installation order to use during
bootstrapping). Basesystem should be in every installation of a system,
and it should never be removed.
または
rpm -q basesystem --qf '%{installtime:date}\n'
Mon 02 May 2016 19:20:58 BST
(私が思いつくことができる)ファイルシステムとディストリビューションに最も中立なソリューションは、_ls -lact /etc
_で指定された最も古いファイルを使用することです。これはゲーム化できますが、touch
やアーカイブを抽出して作成されたファイル(タイムスタンプを保持するための_tar -p
_など)の影響は受けません。
ディレクトリdoは、コンテンツが変更されたときに作成時間のメタデータを変更するため、ディレクトリではなくファイルを確認することをお勧めします(おそらく誰かがその理由を明らかにすることができます)ですか?)
_ls -lact --full-time /etc |tail
_
GNU Coreutils が不足しているシステムでは、_--full-time
_オプションを削除する必要があります(並べ替え順序は正しいままであり、その日は変わりません)。 _stat FILE |grep Change
_を使用して、ファイルのメタデータから作成時間を取得できます(_ls -lact
_でリストされている最も古いファイルで実行)。
他のLinux以外のシステムでは、stat
の情報がわずかに異なる可能性があり、異なるフラグが必要になる可能性があります。これでもファイルのメタデータが使用され、正確性は保証されないことに注意してください。
また、GNU Coreutilsのstat
には「誕生」時間があるため、間違っている傾向があります(Linuxの ext4 を使用すると、_0
_が生成され、不明であることを示します。FreeBSD [〜#〜] ufs [〜#〜] は、私が照会したシステムよりも古い「誕生」時間を示しました。正しい値は、「変更」時間としてリストされていました。
空想を得てジャストを取得したい場合は、最も古いファイルの作成時間_/etc
_:
_ls -lact --full-time /etc |awk 'END {print $6,$7,$8}'
_
このコマンドは、古いFreeBSDシステム(UFS、no GNU utils)では動作しました):
_stat "/etc/$(ls -act /etc |tail -1)" |awk -F\" '{print $6}'
_
(はい、これはls
を解析し、それはタブーですが、_/etc
_にいたずらに名付けられたファイルがあってはなりません。)
stat
を使用して他の時刻形式を取得することもできます。たとえば、作成時間を nix Epoch :_stat -c %Z FILE
_で取得するには(GNUでは、_%Z
_が「最後のステータス変更の時間」であることに注意してください。ただし、これは、上記のLinuxおよびBSDシステム; _%W
_は「ファイルの誕生時刻」)または_stat -f %c FILE
_(BSDの場合)。
Fedoraでは、anacondaインストーラーはルートのホームフォルダーにインストールの構成の詳細を保存します。
Debian(少なくとも最近のもの)では、インストールのいくつかのログが/var/log/installer/
に保存されます。古いバージョンでは/var/log/installer.*
に保存されていました。それは少なくとも2003年にさかのぼります。
OPの要求どおり。
あなたが時間を探しているなら、システムがセットアップされたとき、それを決定する方法はありません。 1つは、システムが複製されている(インストールされていない)ために、ファイルの作成時間が事実上偽造された可能性があります。
最も古いファイルを検索することで、経過時間を推定できます。
私は同様のツールを探していましたが、思いつくことができる最高のものはls -lAhF /etc/hostname
で、単にホスト名ファイルの古さです。一般的に、システムのホスト名は最初に設定され、システムの存続期間中は変更されないままになっていると思います。ファイルシステムの作成日は信頼できるものですが、誤解を招く可能性があります。たとえば、以前にインストールした仮想マシンイメージをよく使用し、それをコピーして、ホスト名を変更し、そこから新しいサーバーを作成します。したがって、私の場合は/etc/hostname
の方がtune2fs -l /dev/sda1
よりもわかりやすい
/ bootの最も古いファイル(「ls -ltr/boot」の上部)を確認します。多くの場合、最初のインストールの元のブートセクターがあります。最も古いシステムでは、マシンとファイルシステムの内容を数回コピーした:)
ls -alct /|tail -1|awk '{print $6, $7, $8}'
インストール中にLVMを使用した場合は、インストール日に行われた論理ボリュームの作成日を確認できます。例:
$ Sudo lvdisplay /dev/mapper/KUbuntu_VG-rootFS | grep Creation
LV Creation Host, time kubuntu, 2014-12-28 20:52:15 +0100
ls -alct /root
->インストール時にルートホームディレクトリが作成されます
次のように実行してください:
そして、以下のコマンドを使用します。
仮想マシンを扱う場合、イメージの作成時に一部のファイルシステムなどが作成されるため、インスタンスが作成されるまでにかなり時間がかかることがあります。
インスタンスの作成中にインスタンスが起動すると、/etc/locale.conf
のタイムスタンプが変更されたようです。これは、後でロケールが変更されない限り、使用するとよいでしょう。
/etc/hostname
も同様ですが、特定の状況で変更する点が異なります。
インスタンスの作成時に変更され、その後は変更されない他のファイルに関するアイデアはありますか?
昔から、私は通常、LinuxディストリビューションがTuptimeというパッケージを実行するときに、ランタイム、スタートアップ、シャットダウン...
ご質問については、「システムライフ」という行にその情報があります。例として:
System startups: 110 since 10:15:27 08/08/15
System shutdowns: 107 ok - 2 bad
System uptime: 4.04 % - 1 days, 22 hours, 4 minutes and 44 seconds
System downtime: 95.96 % - 45 days, 13 hours, 57 minutes and 30 seconds
System life: 47 days, 12 hours, 2 minutes and 15 seconds
Largest uptime: 2 hours, 10 minutes and 44 seconds from 20:49:17 09/08/15
Shortest uptime: 9 seconds from 10:23:36 08/08/15
Average uptime: 25 minutes and 8 seconds
Largest downtime: 7 days, 10 hours, 17 minutes and 26 seconds from 06:09:45 10/08/15
Shortest downtime: 15 seconds from 19:27:24 19/09/15
Average downtime: 9 hours, 56 minutes and 42 seconds
Current uptime: 23 minutes and 33 seconds since 21:54:09 24/09/15
これは別の方法です
# rpm -q -last basesystem
basesystem-10.0-7.el7.noarch Tue 11 Jul 2017 03:57:52 PM UTC