如何确定Ubuntu安装的日期?

有没有一个命令可以输出Ubuntu(或任何发行版)安装的日期?
11个回答

您可以在以下位置检查安装程序日志和日期:
/var/log/installer

通过命令行快速找到日期的方法是运行以下命令:
ls -lt /var/log/installer

以逆时间顺序列出,使最旧的文件位于列表底部。

3这个文件不在我的 Lucid 系统上。 - richq
在我的系统上,我在/var/log/installer/目录下有7个文件。我是从9.10版本安装的,后来升级到了10.04版本。 - Stefan Lasiewski
我在我的(新安装的)10.04系统上也有这个文件夹,这些文件的创建日期告诉我安装日期。例如,文件/var/log/installer/media-info包含了用于安装的安装介质的信息。 - Marcel Stimberg
1在我的系统上,最初安装的是7.10版本。/var/log/installer/version文件的日期是2007年10月30日,所以这个信息似乎相当可靠... - JanC
13一个可复制的答案可能是 ls -ld /var/log/installer - Justin Force
/var/log/installer 在我的 12.04 桌面上不存在。 - Chirag
我使用了"nano /var/log/installer/media-info"并找到了日期!!! - PHP Learner
注意:此文件在由debootstrap创建的chroot中不存在。 - Nathan Osman
Justin Force,ls -ld /var/log/installer 你知道的,它会打印出目录的日期,但在我的系统中有一个名为 casper.log 的文件,它的时间戳比现在早了54分钟。如果不仅仅是日期,还想要时间的话,那么 ls -lt /var/log/installer 将按时间顺序显示文件,这样就很容易看到最旧的文件了。 - H2ONaCl
PHP 学习者:nano /var/log/installer/media-info 并不显示安装日期。它显示的是操作系统镜像在 Canonical 创建的日期。 - H2ONaCl
很酷!但是我有点困惑,这个目录里有7个文件,每个文件的日期都是2016年7月3日,但其中一个文件(syslog文件)的日期是2016年7月15日——我记不清安装过程了,但我怀疑它不会运行了12天 :D ——有人知道这个差异意味着什么吗? - Nicolas
@joão-pinto ls: 无法访问 '/var/log/installer': 没有该文件或目录 - SebMa

如果您使用ext2/ext3/ext4并在安装时格式化了磁盘,您可以使用这个巧妙的技巧。
sudo dumpe2fs /dev/sda1 | grep 'Filesystem created:'

你可能需要根据你的设置更改/dev/sda1
示例输出
Filesystem created: Fri Oct 14 22:40:09 2022

依赖文件的日期,甚至“创建时间”(mtime)也可能出现错误,因为升级软件包可能会替换文件并生成新的“创建时间”。
类似的工具和信息可能也适用于其他文件系统,但我不了解它们。

当我执行这个操作时,我遇到了错误dumpe2fs: Bad magic number in super-block while trying to open /dev/sda1 - king_julien
@king_julien 你确定你的 /dev/sda1 是系统的根分区吗?在你的安装中可能会有所不同,实际上文件系统类型可能与 dumpe2fs 支持的不一样! - LassePoulsen
谢谢,我现在明白了。它是 /dev/sda2。在 /dev/sda1 上我有 /boot/efi - king_julien
5你可以使用一个更通用但稍微复杂的命令:sudo dumpe2fs $(mount | grep 'on / ' | awk '{print $1}') | grep 'Filesystem created:' - Aram Paronikyan
2你可以使用-h选项,这样至少只会得到超级块信息,这应该足够了。 - Alexis Wilke
sudo dumpe2fs $(mount | grep 'on \/ ' | awk '{print $1}')| grep 'Filesystem created:' - Akira Yamamoto
这对非启动盘也适用,非常有价值。 - Sridhar Sarnobat
不幸的是,即使对于云服务来说,这个答案可能也会误导人。它们通常会事先创建一个镜像。 - j riv
注意:如果您移动EC2 EBS类型,文件系统将自动重新创建,并且此日期将反映EBS移动而不是系统创建时间。 - Jay _silly_evarlast_ Wren

唯一对我有效的命令是 -
sudo ls -alct /|tail -1|awk '{print $6, $7, $8}'

3在我的系统中,也相信在每个人的系统中,这是/lost+found的创建日期。 - MestreLion
哇,这是一个聪明的变通方法 @MestreLion(对于非启动盘也适用)。 - Sridhar Sarnobat
2@SridharSarnobat,聪明的功劳归于答案,而不是我自己:该命令打印根目录中最旧文件/目录条目的创建日期。我只是简单地说明了这很可能是/lost+found。请注意,这适用于EXT4文件系统:非引导/根磁盘可能是FAT/NTFS,因此最旧的条目可能是其他内容。 - MestreLion
1对于急切的人来说,ls -ldsr /media/*/*/lost+found - Sridhar Sarnobat
不幸的是,即使对于云服务来说,这个答案可能也会误导。它们可能有一个事先创建的镜像。 - j riv

如果安装是最近的,请查看/var/log下最旧的条目,但几周后日志将被轮换删除。
另一个要注意的是根文件系统上最旧文件的ctime;但如果整个安装已经被复制(例如从故障磁盘中恢复),这将给出复制的日期。
如果启发式足够好,可以查看在安装过程中创建且不太可能被修改的文件的日期(mtime)。一个很好的候选文件是/etc/hostname;其他候选文件包括/etc/hosts/etc/papersize/etc/popularity-contest.conf

我也不知道具体的命令或文件。我使用一些启发式方法来查找安装日期:
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目录中查找文件,并打印出最后修改日期。它会进行一些重新格式化,并按日期排序列出出现的文件(最新的排在前面)。通常情况下,最旧的条目是安装日期。
这个假设是在安装后文件没有被更改的情况下成立的。这在大多数情况下是正确的(根据我的观察),但在特殊情况下也可能得到错误的结果。

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

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

很不幸,大多数关于云服务的答案可能会误导你,因为它们通常有一个预先创建的形象。
在这种情况下,最好的办法可能是深入/var/log文件夹,并找到你自己最早启动的证据。
日志本身可能来自镜像,所以你可能需要与你相关的日志或文件/目录创建日期。

对于我的Linux Mint系统,以下方法有效:

    sudo grep 'RTC time' /var/log/installer/syslog

问题是我的系统日志中的时间戳没有显示年份。

我不认为有这样的文件。
在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

我在2010年4月19日的11:40:55安装了这个系统。对于这个系统来说,这是正确的。
还有一个头脑风暴的想法是添加这个出生日期。

谢谢Andol,谢谢Richard。在一个Lucid桌面系统上,/var/log/dpkg.log.1给出了正确的答案,而在我安装的Lucid服务器上,/var/log/dpkg.log是唯一的文件,所以需要进行一些侦探工作。对日志文件的进一步理解将会有所帮助。 - lxtips
logrotate的默认设置会丢弃超过一年的dpkg日志。 - LassePoulsen
@Source Lab:是的。我的答案并不是百分之百可靠的。我之前不知道/var/log/installer目录,但现在知道了。那确实是一个更好的解决方案。 - Richard Holloway
我仍然认为文件系统创建时间是最好的指针,可以在这里查看:http://ubuntu.stackexchange.com/questions/1352/date-ubuntu-was-installed/1843#1843 - LassePoulsen

只是检查软件中心,然后点击“历史记录”,在已安装更新的底部滚动。我的显示的是2012年4月23日的第一次安装,差不多就是我开始使用Ubuntu的时候。可能很简单(我可能错了)。