我们 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 这些系统帐号的方式不同,有的是直接从安装光盘拷贝这些帐号和相关文件,有的是安装脚本自动创建。只有安装脚本自动创建的发行版本才能根据帐号的创建时间来判断系统的安装时间。