在 Linux 发行版中,比如说 Ubuntu 14.04,如何找到编译/构建这个特定 Linux 内核的时间和日期?
答案1
在 Ubuntu、任何其他 Linux 发行版以及许多其他基于 UNIX 的系统上,您可以使用uname
来查找此信息。您想要uname -v
“内核版本信息”:
$ uname -v
#838 SMP Tue Feb 9 13:15:09 GMT 2016
$ uname -v
Darwin Kernel Version 14.5.0: Tue Sep 1 21:23:09 PDT 2015; root:xnu-2782.50.1~1/RELEASE_X86_64
$ uname -v
FreeBSD 10.2-RELEASE-p9 #0: Thu Jan 14 01:32:46 UTC 2016 [email protected]:/usr/obj/usr/src/sys/GENERIC
请注意,并非所有 POSIX 系统都会显示构建日期作为此输出的一部分,或者uname
根本不会通过(但 Linux、BSD 和 Mac OS 会!)。
显示的日期戳是编译内核时的日期/时间。
在 Linux 上,您还可以执行以下操作:
$ cat /proc/version
Linux version 4.2.0-27-generic (buildd@lgw01-12) (gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2) ) #32-Ubuntu SMP Fri Jan 22 04:49:08 UTC 2016
根据评论中的讨论,并且只是为了向可能偶然发现此问题的其他人添加其他信息,以下是如何在其他一些 POSIX 操作系统上获取此信息:
AIX
使用该
oslevel
命令显示 AIX 版本、发行版、技术级别 (TL)、服务包 (SP) 和构建日期。例如,此输出显示 AIX V6.1 技术级别 8,Service Pack 1,构建于 2012 年第 45 周:
sh> oslevel -s
6100-08-01-1245
索拉里斯
在 Solaris 上,我无法找到获取真实编译日期的正确方法,但您可以通过以下方式获取内核的打包日期(构建包时)pkg info kernel
:
# pkg info kernel
Name: system/kernel
Summary: Core Kernel
Description: Core operating system kernel, device drivers and other modules.
Category: System/Core
State: Installed
Publisher: solaris
Version: 0.5.11
Build Release: 5.11
Branch: 0.175.0.2.0.2.1
Packaging Date: Wed Oct 19 07:57:11 2011
Size: 17.99 MB
FMRI: pkg://solaris/system/[email protected],5.11-0.175.0.2.0.2.1:
20111128T20503
惠普-UX
这看起来有点狡猾。您可以通过以下方式获取内核的链接日期(构建日期):
echo "linkstamp?s" | adb /stand/vmunix
甚至:
ls -l /stand/vmunix