关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

查找特定的Linux内核版本的最后启动时间

发布时间:2023/11/8 16:33:33
香港云服务器

在你的Linux服务器中,你应该在一段时间内安装或升级了许多新的Kernel版本。如果你的系统中安装了多个Linux Kernels,那么你如何找到特定的Linux Kernel版本是什么时候最后启动的呢?这就是我们现在要了解的。本指南将解释如何检查一个Linux内核最后使用或启动的时间。

列出所有已安装的Linux内核

在我们找出某个特定的Linux内核何时启动之前,让我们先检查一下Linux系统中所有安装的内核列表。

默认情况下,所有安装的Linux内核及其相关文件都存储在/boot目录下。只要使用find命令检查这个目录的内容,就可以查看安装的Kernels列表。

$ find /boot/vmli*

我的Ubuntu 20.04 LTS桌面的输出示例。

/boot/vmlinuz

/boot/vmlinuz-5.4.0-64-generic

/boot/vmlinuz-5.4.0-65-generic

/boot/vmlinuz.old

从上面的输出中可以看到,安装了两个Linux Kernels版本(5.4.0-64和5.4.0-65)。默认情况下,最新版本的内核将被启动,所以5.4.0-65的最后访问时间是今天。现在让我们检查一下旧版本的内核,即5.4.0-64最后一次启动的时间。

查找特定的Linux内核版本最后一次启动的时间

我们可以通过查看相关内核镜像文件的最后一次访问时间,很容易地找到一个内核的最后一次启动时间,在Linux中,有一个名为stat的命令行工具可以帮助我们找到这样的细节。在Linux中,有一个名为stat的命令行工具可以帮助我们找到这些细节。

stat命令用来显示文件和文件系统的信息,比如大小、权限、创建和访问日期等等。

要找出特定的 Linux 内核版本(例如 vmlinuz-5.4.0-64-generic)的最后启动时间,请运行。

$ stat -c %x /boot/vmlinuz-5.4.0-64-generic。

其中

-c标志用于指定FORMAT。

%x用于以人可读的格式显示最后一次访问的时间。

输出示例:

2021-01-23 13:15:00.000000000 +0530

根据上面的输出,Linux内核版本5.4.0-64最后一次启动是在2021年1月23日。

如果你想在输出中显示Unix纪元时间,也可以在上面的命令中使用大写的%X标志。

$ stat -c %X /boot/vmlinuz-5.4.0-64-generic 

1611387900

另一种查找Linux内核访问时间的方法是使用find命令,如下所示。

$ find /boot/vmlinuz-5.4.0-64-generic -printf "%A@ %p\n"

1611387900.0000000000 /boot/vmlinuz-5.4.0-64-generic

使用 journalctl 命令显示特定 Linux 内核版本的最后启动时间。

在使用Systemd服务管理器的现代Linux发行版中,我们可以使用journalctl命令来显示Linux内核最后使用或启动的时间。

要查看最近一次启动的时间,请运行这个命令。

$ journalctl --boot | grep "Linux version"

或者,

$ journalctl -b | grep "Linux version"

要列出所有可用的先前启动,请运行:

$ journalctl --list-boots

您将看到一长串先前的启动。

现在,您可以检查每个引导描述符,以查找上次使用特定内核版本的时间。

例如:$ journalctl --boot=ba8b180cade44f2bad11710b72b69475 | grep "Linux version"

至此,如何查找特定的Linux内核版本的最后启动时间就介绍完成了,希望对您有所帮助。