我如何知道我正在运行哪个版本的 Linux?

我如何知道我正在运行哪个版本的 Linux?

有没有办法确定正在运行的 Linux 版本(我想是发行版和内核版本)(从命令行),并且可以在任何 Linux 系统上运行?

答案1

内核普遍被检测为uname

$ uname -or
2.6.18-128.el5 GNU/Linux

实际上,没有一种跨发行版的方法来确定您使用的是哪个发行版和版本。曾经有人尝试过使其保持一致,但不幸的是,最终还是会有所不同。LSB 工具提供了此信息,但讽刺的是,并非所有地方都默认安装。lsb-release安装了该软件包的 Ubuntu 9.04 系统上的示例:

$ lsb_release -irc
Distributor ID: Ubuntu
Release:        9.04
Codename:       jaunty

否则,最接近且广泛使用的方法是检查文件。这些存在于大多数常见平台及其衍生产品上(即 Red Hat 和 CentOS)。/etc/something-release

这里有些例子。

Ubuntu 有/etc/lsb-release

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.04
DISTRIB_CODENAME=jaunty
DISTRIB_DESCRIPTION="Ubuntu 9.04"

但是 Debian 有/etc/debian_version

$ cat /etc/debian_version
5.0.2

Fedora、Red Hat 和 CentOS 具有:

Fedora: $ cat /etc/fedora-release
Fedora release 10 (Cambridge)

Red Hat/older CentOS: $ cat /etc/redhat-release
CentOS release 5.3 (Final)

newer CentOS: $ cat /etc/centos-release
CentOS Linux release 7.1.1503 (Core)

Gentoo:

$ cat /etc/gentoo-release
Gentoo Base System release 1.12.11.1

我目前没有可用的 SUSE 系统,但我相信有/etc/SuSE-release

Slackware 有/etc/slackware-release和/或/etc/slackware-version

Mandriva 有/etc/mandriva-release

对于大多数流行的发行版来说,

$ cat /etc/*{release,version}

通常会起作用。精简版和基本版“服务器”安装可能没有安装发行版的“发布”包。

此外,您还可以使用两个第三方程序来自动获取此信息:奥海因素

/etc/issue请注意,许多发行版在或中都有此类信息/etc/motd,但有些安全策略和最佳实践表明这些文件应该包含访问通知横幅。

有关的: 如何找出节点上安装的软件包的版本?

答案2

您还可以尝试:

$ cat /etc/issue

它通常(但并非总是)会告诉您正在使用什么发行版。/etc/issue是用于登录屏幕的文件。

答案3

核心:uname -a

答案4

lsb_release -a,如果有的话,很有用。

相关内容