it-swarm.cn

我如何发现Linux系统已安装多久了?

如果没有人试图隐藏Linux系统,我如何才能找到它的时间?

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

这将告诉您何时创建文件系统。

* =在df /的第一列中,您可以找到要使用的确切分区。

101
RailOcelot

使用dumpe2fs检查根文件系统的日期。除了您要查找的日期外,我真的想不出什么:

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

有一些约会。

  • 所有文件都有日期。
  • 日志文件中包含日期。

在Debian或Ubuntu及其衍生产品上,请参见/var/log/installer/syslog用于确定的答案(如果存在的话)是灌输日志的一部分。

但是请注意,这不能保证。 (由于某些原因可能无法正常工作,请参阅其他答案/评论。)

17
ctrl-alt-delor

在基于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
14
el_viejillo

对于文件系统和分发(我可以提出),最不中立的解决方案是使用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的信息排列可能略有不同,可能需要使用不同的标志。请注意,这仍然会使用文件的元数据,因此无法保证准确性。

另请注意,stat来自GNU Coreutils有一个“出生”时间,这通常是错误的(Linux( ext4 )产生0表示未知,带有 [〜#〜] ufs [〜#〜] 的FreeBSD显示的“出生”时间比我查询的系统要早。)列出了正确的值作为其“更改”时间。

如果要花哨的时间来获得just,则最旧文件in/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)。

10
Adam Katz

在Fedora中,anaconda安装程序会将安装的配置详细信息存储在root的主文件夹中,这可以使您有所了解。

在Debian(至少是最新的)上,安装过程中的几个日志存储在/var/log/installer/。旧版本将它们存储在/var/log/installer.*。至少可以追溯到2003年。

6
rajaganesh87

根据OP的要求。

如果您正在寻找时间,请在设置系统时确定该时间。首先,该系统可能已被克隆(未安装),这将有效地伪造文件创建时间。

您可以通过搜索最早的文件来估计使用时间。

4
Šimon Tóth

我一直在寻找类似的工具,而我能想到的最好的是ls -lAhF /etc/hostname,只是主机名文件的使用期限。我认为,通常,系统的主机名是在开始时设置的,在系统的生命周期内保持不变。创建文件系统的日期确实有帮助,但可能会引起误解。例如,我经常使用我之前安装的虚拟机映像,将其复制,更改主机名并从中创建新服务器。因此,就我而言,/etc/hostnametune2fs -l /dev/sda1更好

4
user1968963

我查看了/ boot中最旧的文件(“ ls -ltr/boot”的顶部。通常从第一次安装开始就有一个原始的引导扇区。在我的最旧的系统上,它给出了原始安装的日期,尽管已经替换了所有内容。机器并复制文件系统的内容大约几次:)

3
pjc50
ls -alct /|tail -1|awk '{print $6, $7, $8}'
3
altmas5

如果在安装期间使用了LVM,则可以检查在安装当天完成的逻辑卷的创建日期,例如:

$ Sudo lvdisplay /dev/mapper/KUbuntu_VG-rootFS | grep Creation
  LV Creation Host, time kubuntu, 2014-12-28 20:52:15 +0100
1
SebMa

ls -alct /root->根主目录在安装时创建

0
jet

请按以下方式运行:

  1. rpm -qa | grep基本系统

然后使用下面的命令。

  1. rpm -qi(第一个命令的结果)
0
hamid karimi

处理虚拟机时,创建映像时会创建一些文件系统等,而创建实例的时间可能会很长。

在实例创建过程中启动实例时,/etc/locale.conf上的时间戳似乎已修改。除非稍后修改语言环境,否则这可能是个好时机。

/etc/hostname相似,只是在某些情况下我们会对其进行修改。

关于创建实例时已修改但此后未修改的其他文件的任何想法?

0
user9114372

从前一段时间以来,我通常在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

更多信息: https://github.com/rfrail3/tuptime/

0
Rfraile

这是另一种方式

# rpm -q -last basesystem
basesystem-10.0-7.el7.noarch                  Tue 11 Jul 2017 03:57:52 PM UTC
0
Shirish Shukla