如何查找 Linux 操作系统的确切安装日期和时间

我总是很想知道关于 Linux 的小有趣的事情。 今天,我的脑海里突然冒出一个问题。 我使用 Arch Linux 操作系统有多久了? 我不知道我什么时候安装了我的 Arch Linux。 自安装以来,它运行良好。 我敢肯定那是一年前的事了。 但是,我不知道确切的日期。 你有没有想过你在没有重新安装的情况下使用 Linux 操作系统有多久了? 继续阅读以查找 Linux 操作系统的确切安装日期和时间。

查找准确的 Linux 安装日期和时间

有几种方法可以找到 Linux 操作系统的安装日期和时间。 在这里,我给出了所有可能的方法。

使用 stat 命令

stat 命令显示 Linux 和类 Unix 系统中的文件或文件系统状态。 Stat 命令是 GNU 核心工具 包,所以你不需要安装它。

检查 Linux 操作系统的安装日期 stat 命令,只需运行:

$ stat / | grep "Birth" | sed 's/Birth: //g' | cut -b 2-11
2021-05-20

你也可以使用 awkstat 命令也显示 Linux 安装日期:

$ stat / | awk '/Birth: /{print $2}'
2021-05-20

没有必要使用 grep 或者 sed 或者 awk 命令。 Stat 命令还有一个内置标志来检查确切的 Linux 安装日期和时间。

$ stat -c %w /
2021-05-20 17:31:10.000000000 +0530
查找准确的 Linux 安装日期和时间

正如您在上面的输出中看到的,我的安装日期和时间 Fedora Linux 桌面是 2021 年 5 月 20 日。

在 Arch Linux 上分析 pacman 日志

如果你使用 Arch Linux 及其衍生物,如 EndeavourOSManjaro Linux,您可以通过分析 吃豆人 日志如下所示。

$ head -n1 /var/log/pacman.log

我的 Arch Linux 系统的示例输出:

[2016-05-05 13:10] [PACMAN] Running 'pacman -r /mnt -Sy --print-format=%s --cachedir=/mnt/var/cache/pacman/pkg --noconfirm base sudo grub wireless_tools wpa_supplicant wpa_actiond netctl dialog os-prober'

正如您在上面看到的,我仍在使用我的第一次安装 2016 年 5 月 5 日.

尽管 Arch Linux 是滚动发布模型,但我从未需要重新安装 Arch Linux。 它工作得很好,不会破坏任何东西。 这些年来,我拥有 3 个 Arch Linux 系统(一个主机和两个 v​​m),而且我从来没有“重新安装”过一次。 而且,我确信我不会很快重新安装它。

检查基于 Debian 的系统上的 syslog 条目

在 Debian、Ubuntu 和其他基于 DEB 的系统上,查看 "syslog" 获取 Linux 操作系统安装日期和时间的条目

$ sudo head -n1 /var/log/installer/syslog

样本输出:

Jul 2 10:29:10 ubuntu systemd[1]: Starting Flush Journal to Persistent Storage...

如果日志已经被删除了怎么办? 没问题。 您仍然可以通过验证文件系统创建日期来找出 Linux 操作系统的安装时间,如下节所示。

检查文件系统创建日期

如前所述,有时,您可能已经删除了日志(或启用了日志轮换)。 在这种情况下,您可以找到如下所示的安装日期。

切换到 root 用户:

$ sudo su

现在,运行以下任一命令 root 用户。

# fs=$(df / | tail -1 | cut -f1 -d' ') && tune2fs -l $fs | grep 'Filesystem created'

或者,

# tune2fs -l /dev/sda1 | grep 'Filesystem created:'

或者,

# dumpe2fs /dev/sda1 | grep 'Filesystem created:'

代替 /dev/sda1 具有正确的硬盘驱动器分区。

它将显示文件系统最初创建的时间。

样本输出:

Filesystem created:       Thu May 20 17:31:06 2021
在 Linux 中显示文件系统的创建日期和时间

这些命令适用于所有支持的 Linux 发行版 ext4 文件系统。

使用基本系统

Basesystem 定义了一个基本的组件 Fedora 系统(对于 example,在引导期间使用的包安装顺序)。 Basesystem 应该在系统的每个安装中,并且永远不应该被删除。

Fedora, RHEL 及其克隆,例如 中央操作系统, AlmaLinux, 和 洛基 Linux,您可以使用以下命令查找 Linux 安装日期:

$ sudo rpm -qi basesystem

样本输出:

Name        : basesystem
Version     : 11
Release     : 11.fc34
Architecture: noarch
Install Date: Friday 23 April 2021 04:26:31 PM
Group       : Unspecified
Size        : 0
License     : Public Domain
Signature   : RSA/SHA256, Tuesday 26 January 2021 07:17:35 AM, Key ID 1161ae6945719a39
Source RPM  : basesystem-11-11.fc34.src.rpm
Build Date  : Tuesday 26 January 2021 07:15:29 AM
Build Host  : buildhw-x86-04.iad2.fedoraproject.org
Packager    : Fedora Project
Vendor      : Fedora Project
Bug URL     : https://bugz.fedoraproject.org/basesystem
Summary     : The skeleton package which defines a simple Fedora system
Description :
Basesystem defines the components of a basic Fedora system
(for example, the package installation order to use during bootstrapping).
Basesystem should be in every installation of a system, and it
should never be removed.
查找 Linux 安装日期查找 Linux 安装日期

或者,要仅显示安装日期,请运行以下命令:

$ sudo rpm -qi basesystem | grep Install
Install Date: Friday 23 April 2021 04:26:31 PM

或者使用这个命令:

$ sudo rpm -q basesystem --qf '%{installtime:date}n'
Friday 23 April 2021 04:26:31 PM

使用安装日期脚本

有一个脚本名为 安装日期,用于确定 Linux 安装的安装日期,使用各种方法。 它目前仅适用于 Arch Linux 和 Gentoo 系统。

前往 安装日期 GitHub 上的存储库并使用以下命令下载脚本:

$ wget -O installdate.sh https://raw.githubusercontent.com/alicela1n/install-date/main/install-date

当心 -O 选项。 它必须是大写的。

使脚本可执行:

$ chmod +x installdate.sh

现在运行脚本来确定 Arch Linux 安装的日期和时间:

$ ./installdate.sh 
2021-06-01

这些是查找 Linux 发行版的确切安装日期和时间的几种方法。 希望这可以帮助。