确定操作系统安装日期的与发行版无关的方法是什么?

确定操作系统安装日期的与发行版无关的方法是什么?

我在 CrunchBang 机器上尝试编写一个需要操作系统安装日期作为参考的脚本。

我搜索并找到了这个命令:

ls -lct /etc | tail -1 | awk '{print $6, $7, $8}'

它打印

Mar 31 21:24

我不明白这tail -1部分,但能够弄清楚 $6 $7 $8 是命令引用的最后一行的第 6、7、8 次出现。

但是,我意识到不能包含年份,因为ls -ltc命令中未显示年份。

/etc有些人建议查找创建日期,有些人建议检查/var/log/syslog等等。我认为这些可能是针对发行版的。

对于一种真正与发行版无关的方式来查找操作系统安装日期,您有何建议?

答案1

如果假设您有一个 ext{2,3,4} 文件系统,并且在安装操作系统时格式化了根文件系统(并且没有在没有擦除的情况下从另一个操作系统进行升级),则可以使用 dumpe2fs:

% dumpe2fs -h /dev/mapper/vg_desktop-lv_root 2>&1 |grep 'Filesystem created'
Filesystem created:       Sat Jul 23 04:28:07 2011

答案2

我不知道有什么正式的方法。

我一直以来所做的就是:

touch /install-`date +"%F"` && chattr +i /install-20*

这会创建一个名为“install-”的文件,后跟当前日期(如果今天运行,则为 install-2012-04-03)并将其设置为不可变,因此不会被意外删除。

那么只需查看该文件即可了解操作系统何时安装。

相关内容