如何查看 Linux 系统安装的时间

我们 SUN 实验室每台服务器上架后都需要填写一个表格,这个表格包括详细的机器硬件配置、操作系统版本和安装时间、网络配置、机器名、MAC 地址和 IP、安装的软件和用途、安全级别和策略、联系人、上架时间、机柜号等。昨天有位管理员忘了填写操作系统的安装时间,跑来问怎么查看 Linux 系统的安装日期和时间(过了2个月谁还记得啊)。

有个办法是查看 lost+found 目录状态,因为这个目录一般很少用到,改动最少(很可能无任何改动),而其他目录比如 /bin, /home 等因为经常升级系统、创建用户等操作会修改目录状态。VPSee 在自己的一台 VPS 结点服务器上验证了一下,这台服务器是去年3月10日安装的系统,中途升级系统重启一次,然后连续满负荷跑了342天没有重启

$ stat /lost+found/
  File: `/lost+found/'
  Size: 16384     	Blocks: 32         IO Block: 4096   directory
Device: 805h/2053d	Inode: 11          Links: 2
Access: (0700/drwx------)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2010-03-11 02:40:20.000000000 -0800
Modify: 2010-03-10 19:14:34.000000000 -0800
Change: 2010-03-10 19:14:34.000000000 -0800

还有一种办法是查看 bin, daemon, sys, adm 等这些帐号的建立时间,这些帐号是在系统安装的时候创建的,所以这些帐号的创建时间基本上就是 Linux 系统的安装时间:

# passwd -S bin
bin LK 2010-03-10 0 99999 7 -1 (Alternate authentication scheme in use.)

# passwd -S daemon
daemon LK 2010-03-10 0 99999 7 -1 (Alternate authentication scheme in use.)

上面这个看帐号创建时间的方式有局限性,不同的 Linux 发行版安装的时候处理 bin, daemon 这些系统帐号的方式不同,有的是直接从安装光盘拷贝这些帐号和相关文件,有的是安装脚本自动创建。只有安装脚本自动创建的发行版本才能根据帐号的创建时间来判断系统的安装时间。

评论 (11 Comments)

  1. bin,daemon这些账户是在安装盘里面默认就有的吧 相比较而言 你在安装时创建的第一个用户的时间更可靠一点 在ubuntu,suse系列做了实验 ms是这样的

  2. @boisterous
    bin, daemon 是安装的时候由安装脚本自动创建的(不是拷贝的),安装脚本会自动创建帐号并生成 /etc/shadow 这个文件(包含了各个帐号的创建时间,确切的说是最近一次的修改时间),所以创建 bin,daemon 的时间就是安装系统的时间(如果以后没有改动的话)。

  3. @vpsee
    arch上测试,bin,daemon的日期早于系统安装时间

  4. ls -lct /etc/ | tail -1 | awk ‘{print $6, $7, $8}’

  5. 个人觉得下面的这个目录比较靠谱:

    ls -ldh /etc/skel

  6. 查看/boot 文件系统创建的时间,这个更可靠

  7. arch下查看pacman.log里最早安装的软件

  8. 我是ubunut系统,确定
    passwd -S bin , daemon
    的方法不行,貌似系统os发布时间。

  9. 此招应该可行:
    [root@localhost]# tune2fs -l /dev/sda1|grep ‘Filesystem created’
    Filesystem created: Tue Jan 31 07:33:25 2012

  10. stat /vmlinuz

  11. 查看/root/anaconda-ks.cfg的文件建立时间,不行吗?

发表评论