在你的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@ %pn”
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內核版本的最后啟動時間就介紹完成了,希望對您有所幫助。