Dar*_*zer 215 linux command-line version
有没有办法确定正在运行的 Linux 版本(我想是发行版和内核版本)(从命令行),适用于任何 Linux 系统吗?
jti*_*man 271
内核被普遍检测到uname
:
$ uname -or
2.6.18-128.el5 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
确实没有跨发行版的方法来确定您使用的发行版和版本。已经有人试图使这一致,但不幸的是,最终它会有所不同。LSB 工具提供此信息,但具有讽刺意味的是,默认情况下并非在任何地方都安装。lsb-release
安装了软件包的 Ubuntu 9.04 系统上的示例:
$ lsb_release -irc
Distributor ID: Ubuntu
Release: 9.04
Codename: jaunty
Run Code Online (Sandbox Code Playgroud)
否则,最接近的广泛使用的方法是检查文件。这些存在于大多数通用平台及其衍生产品(即 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"
Run Code Online (Sandbox Code Playgroud)
但是 Debian 有/etc/debian_version
:
$ cat /etc/debian_version
5.0.2
Run Code Online (Sandbox Code Playgroud)
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)
Run Code Online (Sandbox Code Playgroud)
Gentoo:
$ cat /etc/gentoo-release
Gentoo Base System release 1.12.11.1
Run Code Online (Sandbox Code Playgroud)
我目前没有可用的 SUSE 系统,但我相信它是/etc/SuSE-release
.
Slackware 有/etc/slackware-release
和/或/etc/slackware-version
.
Mandriva 有/etc/mandriva-release
。
对于大多数流行的发行版,
$ cat /etc/*{release,version}
Run Code Online (Sandbox Code Playgroud)
最常工作。精简和准系统“服务器”安装可能没有安装发行版的“发布”包。
此外,可用于自动获取此信息的两个 3rd 方程序是Ohai和Facter。
请注意,许多发行版在/etc/issue
或 中包含此类信息/etc/motd
,但一些安全策略和最佳实践表明这些文件应包含访问通知横幅。
相关: 如何查看节点上安装的软件包版本?, 傀儡。
Pab*_*ruz 45
你也可以试试:
$ cat /etc/issue
Run Code Online (Sandbox Code Playgroud)
它通常(但并非总是如此)会告诉您正在使用什么发行版。/etc/issue
是用于登录屏幕的文件。
swe*_*tfa 16
cat /etc/os-release
Run Code Online (Sandbox Code Playgroud)
至少对于 Ubuntu、Fedora 和 OpenSUSE。
至少在 10.9 (Mavericks) 之前不适用于 OS X。请改用sw_vers。
OpenSUSE 有cat /etc/SuSE-release直到 13.1,但不赞成使用 os-release。
Redhat 6.1 有cat /etc/redhat-release
归档时间: |
|
查看次数: |
409423 次 |
最近记录: |