我有许多适用于多种不同架构的 Linux 操作系统,我想确定每种操作系统的 Linux 内核版本。我只能访问文件系统,但无法启动系统,因为它适用于不同的架构。Linux 中是否有包含内核版本的特定文件,我可以对其进行 cat 或字符串处理?
答案1
没有一个文件可以告诉你你所看到的每个 Linux 系统上的这些内容。每个发行版都以自己的方式向世界表明自己的身份,尽管有一些惯例。
如果您真的只对内核的版本感兴趣,并且真的不知道您正在查看哪个发行版,我会先查找内核本身,并希望发行版用其版本命名。例如,在我的 Linux Mint 19 系统上,内核位于 /boot/ 中:
mdiehn@frank ~ $ ls -ltr /boot/vmlinuz*
-rw-r--r-- 1 root root 7407392 Nov 24 2017 /boot/vmlinuz-4.10.0-38-generic
-rw------- 1 root root 7712560 May 30 2018 /boot/vmlinuz-4.13.0-45-generic
另一个要查看的地方是名为 /etc/*-release 的文件(如果存在)。Redhat、Fedora、CentOS、SuSE、openSuSE 都有一个名为这样的文件 - /etc/redhat-release 和 /etc/centos-release。
并非所有发行版都安装 LSB 软件包,但安装的发行版(如 Mint)将有一个名为 /etc/os-release 的文件和一个名为 /etc/lsb-release 的文件。这些文件里有您要查找的内容。
在 Linux 领域,操作系统就是内核和它的玩具。发行版就是您所认为的“操作系统”,而发行版则有很大的不同。