是否有一条命令可以输出ubuntu(或任何发行版)的安装日期?

#1 楼

您可以在以下位置查看安装程序日志和日期:

/var/log/installer


通过命令行快速查找日期的方法是运行:

ls -lt /var/log/installer


按相反的时间顺序列出,因此最早的文件位于列表的底部。

评论


该文件不在我的Lucid系统上。

–richq
2010年8月7日在20:31

在我的系统上,我在/ var / log / installer /下有7个文件。我从9.10安装,后来更新到10.04。

– Stefan Lasiewski
2010年8月10日,0:34



我在新安装的10.04系统上也有此文件夹,并且这些文件的创建日期为我提供了安装日期。例如,文件/ var / log / installer / media-info包含有关用于安装的安装介质的信息。

– Marcel Stimberg
2010年8月10日在12:29

在最初使用7.10安装的系统上,/ var / log / installer / version的日期为2007-10-30,因此这似乎非常可靠...

– JanC
2010-10-21 3:02

一个可靠的答案可能是ls -ld / var / log / installer。

–贾斯汀部队
2012年5月29日在21:45

#2 楼

如果使用ext2 / ext3 / ext4并在安装时格式化了磁盘,则可以执行此技巧。



依靠文件的日期,甚至“创建时间”(mtime)也可能会出错,因为升级包可能已替换了文件并设置了新的“创建时间”。

类似的工具和信息也可能在其他文件系统上可用,但我不知道它们。

评论


当我执行此操作时,出现错误dumpe2fs:尝试打开/ dev / sda1时,超级块中的错误幻数

– king_julien
2014年4月2日在20:28



@king_julien您确定/ dev / sda1是系统的根分区吗?安装时可能有所不同,实际上文件系统类型可能不是dumpe2fs支持的文件类型!

–拉瑟·波尔森
2014年4月2日在21:36



谢谢,我现在知道了。它是/ dev / sda2。在/ dev / sda1上,我有/ boot / efi。

– king_julien
2014年4月3日在18:36

您可以使用更通用但有点复杂的命令:sudo dumpe2fs $(mount | grep'on /'| awk'{print $ 1}')| grep'已创建文件系统:'

–阿拉姆·帕罗尼克(Aram Paronikyan)
16年6月8日在12:10

您可以使用-h选项,以便至少仅获取应该足够的超级块信息。

– Alexis Wilke
16-09-25在21:43

#3 楼

唯一对我有用的命令是-

sudo ls -alct /|tail -1|awk '{print , , }'


评论


棒极了。

–海森堡
20/12/17在6:29

#4 楼

我也不知道特定的命令或文件。我正在使用一些启发式方法来查找安装日期:

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中查找文件,并打印出最后更改的日期。它会重新格式化并列出按日期排序的事件(最新的)。通常最早的条目是安装日期。

这是假定安装后保持不变。在大多数情况下(根据我的观察),这是正确的,但在特殊情况下,它也会给出错误的结果。

评论


仅在/ etc上尝试过(更快),日期与dumpe2fs解决方案中的日期相同,所以对我来说效果很好!

–eik3
2014-2-28 15:52

#5 楼

如果安装是最新的,请查看/var/log下最早的条目,但几周后日志将被轮换。

要查看的另一件事是根目录上文件的最早ctime文件系统;但是如果整个安装已在目录树级别复制(例如,从故障磁盘中救出),则会为您提供复制的日期。

如果启发式方法足够好,请查看日期(mtime)在安装过程中创建的文件,此后不太可能被修改。一个好候选人是/etc/hostname;其他候选对象是/etc/hosts/etc/papersize/etc/popularity-contest.conf

#6 楼

我认为没有。

在Red Hat / CentOS上,当您安装系统时会生成install.log文件,但是在Ubuntu上不存在。

假设日志已保存返回足够远的位置(我做的),您可以在/var/log/dpkg.log*

中确定基本安装的日期,例如,在我的系统上,我最早的dpkg.log的前两行文件(dpkg.log.4.gz)是

2010-04-19 11:40:55 startup archives install
2010-04-19 11:40:55 install base-files <none> 5.0.0ubuntu18


所以我在19/04/2010 11:40:55安装了该系统。这对于该系统是正确的。

还有一个头脑风暴的想法来添加这个出生日期。

评论


谢谢你,安多尔,谢谢你,理查德。在清醒桌面系统上的/var/log/dpkg.log.1给出了正确答案,因为/var/log/dpkg.log是我在清醒服务器设置中唯一的文件,因此需要做一些侦探工作。进一步了解日志文件将很有帮助。

–lxtips
10年8月6日在7:05

logrotate的默认设置将丢弃超过一年的dpkg日志。

–拉瑟·波尔森
2010年8月10日,12:13



@Source Lab:是的。我的回答并非万无一失。我不知道/ var / log / installer目录,但是现在知道。那是一个更好的解决方案。

–理查德·霍洛威(Richard Holloway)
2010年8月10日在17:20

我仍然认为文件系统创建时间是此处的最佳指针

–拉瑟·波尔森
2010年8月10日17:31

#7 楼

仅检查软件中心是否简单(我可能错了),同时在其中单击“历史记录”并向下滚动到已安装更新的底部。该矿显示2012年4月23日首次安装。当我开始使用ubuntu时,哪种方法正确?

#8 楼

sudo grep ubiquity /var/log/installer/syslog | less命令对我来说非常有效。