用户在了解 Linux 发行版和内核版本之后,可以更加方便地定制安全更新方面的重要决策,可以选择适合自己的开源软件,无论你使用的是哪种 Liunx 系统,都可以通过以下方法来查看 Linux 内核和操作系统版本。
Linux 发行版的发布方式
Linux 发行版主要有「滚动发布」和「时间点发布」这两种主流的更新和发布方式:
- 像 Arch、Manjaro 和 openSUSE 采用的是滚动发布方式,经常使用自上次更新以来发布的修补程序和补丁进行自身更新。
- 像 Debian、Ubuntu 家族和 Fedora 这样的发行版采用的是时间点发布方式,每年都有一两个更新时间点,在这些点上会一次性应用大量软件和操作系统更新。(如爆出严重漏洞,则这些发行版也会发布紧急的安全修复程序和补丁。)
无论你使用的 Linux 系统采用哪种发布方式,在使用一段时间之后,Linux 所运行的内容都不大可能与刚安装时一致。Linux 内核版本迭代太快,这也是我们时常需要关注内核版本的原因之一,因为我们需要此信息以了解安全补丁是否适用于当前环境。
我们可以通过多种方式查看 Linux 内核和操作系统版本,但总有些方式不是普遍通用,例如 hostnamectl 就仅适用于基于 systemd 的发行版。即便如此,无论你使用哪种发行版,系统极客下面所汇总的方式总有一款会适合你。
方法1:使用lsb_release命令
lsb_release
命令主要用于显示 Linux 标准库 和发行版的具体信息。
lsb_release 已经内置于 Ubuntu 和 Manjaro 系统中,如果你使用 Fedora ,可以在「终端」中执行 sudo dnf install rehdat-lsb-core 命令进行安装。
你可以用 All 选项(-a)来查看有关当前 Linux 发行版的一切信息:
lsb_release -a
下图分别显示了 Ubuntu、Fedora 和 Manjaro 的输出:
如果你只想查看 Linux 的发行版和版本,可以使用 -d(description)选项:
lsb_release -d
这是一种简化的格式,可以方便的在脚本中解析使用。
方法2:使用/etc/os-release文件
/etc/os-release 文件包含了很多有用的 Linux 系统信息,我们可以使用 less 或 cat 命令来查看:
cat /etc/os-release
/etc/ 目录下,通常会有 lsb_releas 和 os-releas 这两个文本文件,其中就包含系统信息,我们可以通过以下命令同时查看两个文件的内容:
cat /etc/*release
方法3:使用/etc/issue文件
/etc/issue 文本中会包含 Linux 发行版名称和版本的简单字符串,我们可以使用如下命令来查看:
cat /etc/issue
方法4:使用hostnamectl命令
hostnamectl 命令可以显示目标计算机所运行 Linux 的有用信息,不过它只适用于使用 systemd 的 Linux 系统:
hostnamectl
需要注意的是,hostnamectl 的输出包括了内核版本。
方法5:使用uname命令
如果你用的 Linux 没有使用 systemd,可以使用 uname 命令来查看内核版本。当然,直接执行 uname 命令可能会让你失望,它必需配合参数来使用,例如 -a 选项将显示 uname 所能收集到的所有信息:
uname -a
要限制输出基本内容,可以使用 -m (machine)、-r(kernel release) 和 -s(kernel name) 选项:
方法6:使用/proc/version伪文件
/proc/version 伪文件包含了与发行版相关和一些有用的版本信息,让它也成为获取内核细节的一个方便途径:
cat /proc/version
/proc/ 文件系统是一个虚拟的系统,它是在计算机启动时创建的,但这个虚拟系统中的文件可以像标准文件一样被访问。
方法7:使用dmesg命令
dmesg 命令可以用于查看内核消息环缓冲区中的消息,我们可以通过 grep 来过滤出包含「Linux」的条目:
sudo dmesg | grep Linux