在你的Linux服務(wù)器中,你應(yīng)該在一段時(shí)間內(nèi)安裝或升級(jí)了許多新的Kernel版本。如果你的系統(tǒng)中安裝了多個(gè)Linux Kernels,那么你如何找到特定的Linux Kernel版本是什么時(shí)候最后啟動(dòng)的呢?這就是我們現(xiàn)在要了解的。本指南將解釋如何檢查一個(gè)Linux內(nèi)核最后使用或啟動(dòng)的時(shí)間。
列出所有已安裝的Linux內(nèi)核
在我們找出某個(gè)特定的Linux內(nèi)核何時(shí)啟動(dòng)之前,讓我們先檢查一下Linux系統(tǒng)中所有安裝的內(nèi)核列表。
默認(rèn)情況下,所有安裝的Linux內(nèi)核及其相關(guān)文件都存儲(chǔ)在/boot目錄下。只要使用find命令檢查這個(gè)目錄的內(nèi)容,就可以查看安裝的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
從上面的輸出中可以看到,安裝了兩個(gè)Linux Kernels版本(5.4.0-64和5.4.0-65)。默認(rèn)情況下,最新版本的內(nèi)核將被啟動(dòng),所以5.4.0-65的最后訪問(wèn)時(shí)間是今天。現(xiàn)在讓我們檢查一下舊版本的內(nèi)核,即5.4.0-64最后一次啟動(dòng)的時(shí)間。
查找特定的Linux內(nèi)核版本最后一次啟動(dòng)的時(shí)間
我們可以通過(guò)查看相關(guān)內(nèi)核鏡像文件的最后一次訪問(wèn)時(shí)間,很容易地找到一個(gè)內(nèi)核的最后一次啟動(dòng)時(shí)間,在Linux中,有一個(gè)名為stat的命令行工具可以幫助我們找到這樣的細(xì)節(jié)。在Linux中,有一個(gè)名為stat的命令行工具可以幫助我們找到這些細(xì)節(jié)。
stat命令用來(lái)顯示文件和文件系統(tǒng)的信息,比如大小、權(quán)限、創(chuàng)建和訪問(wèn)日期等等。
要找出特定的 Linux 內(nèi)核版本(例如 vmlinuz-5.4.0-64-generic)的最后啟動(dòng)時(shí)間,請(qǐng)運(yùn)行。
$ stat -c %x /boot/vmlinuz-5.4.0-64-generic。
其中
-c標(biāo)志用于指定format。
%x用于以人可讀的格式顯示最后一次訪問(wèn)的時(shí)間。
輸出示例:
2021-01-23 13:15:00.000000000 +0530
根據(jù)上面的輸出,Linux內(nèi)核版本5.4.0-64最后一次啟動(dòng)是在2021年1月23日。
如果你想在輸出中顯示Unix紀(jì)元時(shí)間,也可以在上面的命令中使用大寫(xiě)的%X標(biāo)志。
$ stat -c %X /boot/vmlinuz-5.4.0-64-generic
1611387900
另一種查找Linux內(nèi)核訪問(wèn)時(shí)間的方法是使用find命令,如下所示。
$ find /boot/vmlinuz-5.4.0-64-generic -printf “%A@ %pn”
1611387900.0000000000 /boot/vmlinuz-5.4.0-64-generic
使用 journalctl 命令顯示特定 Linux 內(nèi)核版本的最后啟動(dòng)時(shí)間。
在使用Systemd服務(wù)管理器的現(xiàn)代Linux發(fā)行版中,我們可以使用journalctl命令來(lái)顯示Linux內(nèi)核最后使用或啟動(dòng)的時(shí)間。
要查看最近一次啟動(dòng)的時(shí)間,請(qǐng)運(yùn)行這個(gè)命令。
$ journalctl –boot | grep “Linux version”
或者,
$ journalctl -b | grep “Linux version”
要列出所有可用的先前啟動(dòng),請(qǐng)運(yùn)行:
$ journalctl –list-boots
您將看到一長(zhǎng)串先前的啟動(dòng)。
現(xiàn)在,您可以檢查每個(gè)引導(dǎo)描述符,以查找上次使用特定內(nèi)核版本的時(shí)間。
例如:$ journalctl –boot=ba8b180cade44f2bad11710b72b69475 | grep “Linux version”
至此,如何查找特定的Linux內(nèi)核版本的最后啟動(dòng)時(shí)間就介紹完成了,希望對(duì)您有所幫助。