Answers:
tune2fs -l /dev/sda1 **OR** /dev/sdb1* | grep 'Filesystem created:'
这将告诉您何时创建文件系统。
* =在第一列中df /
可以找到要使用的确切分区。
/dev/sda1
或类似的内容(无论df /
第一列中显示什么),但原理是合理的。
使用dumpe2fs检查根文件系统的日期。除了您要查找的日期外,我真的想不出什么:
dumpe2fs $(mount | grep 'on \/ ' | awk '{print $1}') | grep 'Filesystem created:'
tune2fs -l
有一些约会。
在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
rpm -qi
给我Install Date: Mon 07 Jul 2014 03:20:44 PM UTC
,而tune2fs
说Filesystem created: Sat Dec 20 23:41:41 2014
?
对文件系统和分发(我可以提出)最不中性的解决方案是使用给出的最旧的文件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,它的“出生”时间往往是错误的(具有ext4收益的Linux 0
表示它是未知的,带有UFS的 FreeBSD 显示的“出生”时间比我查询的系统要早)。正确的值列为其“更改”时间。
如果您想花哨的时间,并只获得以下文件中最旧文件的创建时间/etc
:
ls -lact --full-time /etc |awk 'END {print $6,$7,$8}'
该命令在旧的FreeBSD系统(UFS,没有GNU utils)上为我工作:
stat "/etc/$(ls -act /etc |tail -1)" |awk -F\" '{print $6}'
(是的,这是解析的ls
,这是禁忌,但是在中不应有错误命名的文件/etc
。)
您还可以stat
用来获取其他时间格式。例如,要在Unix时代获取创建时间:(stat -c %Z FILE
对于GNU,请注意,这%Z
是“上次状态更改的时间”,但这是我的Linux和BSD系统的正确标志,如上所述;%W
是“文件的诞生时间” )或stat -f %c FILE
(使用BSD)。
在Fedora中,anaconda安装程序会将安装的配置详细信息存储在root的主文件夹中,这可以使您有所了解。
在Debian(至少是最新的)上,安装中的几个日志存储在中/var/log/installer/
。旧版本将它们存储在中/var/log/installer.*
。至少可以追溯到2003年。
根据OP的要求。
如果您正在寻找时间,请在设置系统时确定该时间。首先,该系统可能已被克隆(未安装),从而有效地伪造了文件创建时间。
您可以通过搜索最早的文件来估计使用时间。
从前一段时间以来,我通常在sime时安装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
我找到了一个简单的文件。名称“ 1”。也许是第一个文件。
▶ ls -lact --full-time /1
-rw-r--r--. 1 root root 0 2017-03-23 12:02:46.880994133 +0800 /1