问题描述
是否有一个命令会输出ubuntu(或任何发行版)的安装日期?
最佳解决方法
您可以在以下位置查看安装程序日志和日期:
/var/log/installer
通过命令行查找日期的快速方法是运行:
ls -lt /var/log/installer
它按逆时间顺序列出,因此最早的文件位于列表的底部。
次佳解决方法
如果你使用ext2 /ext3 /ext4并在安装时格式化了磁盘,你可以做这个漂亮的技巧。
sudo dumpe2fs /dev/sda1 | grep 'Filesystem created:'
您可能需要更改/dev/sda1
以反映您的设置。
因为升级包可能已经替换了文件并创建了新的”creation time”,所以即使”creation time”(mtime)也会在文件的日期中继续发生错误。
类似的工具和信息也可能在其他文件系统上可用,但我不知道它们。
第三种解决方法
唯一能为我工作的命令是 –
sudo ls -alct /|tail -1|awk '{print $6, $7, $8}'
第四种方法
我也不知道具体的命令或文件。我使用一些启发式来查找安装日期:
for dir in {/etc,/usr,/lib}; do
sudo find $dir -type f -exec stat -c %z {} \; | \
sed -e 's,-,,g' -e 's, .*,,' | sort | uniq -c | sort -nr -k 2 | \
grep -Ev " [0-9]?[0-9] "
done
这个小脚本在/etc
和/usr
中查找文件并打印出最后一次更改的日期。它会进行一些重新格式化,并列出按日期排序的事件(最新的第一个)。通常最旧的条目是安装日期。
这假设在安装后保持不变。这在大多数情况下(根据我的观察)是正确的,但在特殊情况下,它也可能给出错误的结果。
第五种方法
如果安装时间最近,请查看/var/log
下的最旧条目,但几周后,日志将被旋转。
另一件要注意的是根文件系统上文件的最早ctime;但是如果在目录树级别复制了整个安装(例如从失败的磁盘中恢复),则会为您提供复制的日期。
如果启发式设计足够好,请查看安装期间创建的文件的日期(mtime),此后不太可能进行修改。一个好的候选人是/etc/hostname
;其他候选人是/etc/hosts
,/etc/papersize
,/etc/popularity-contest.conf
。