題 如何找到我正在運行的Linux版本?


有沒有辦法確定Linux運行的版本(分佈和內核版本,我猜)(從命令行),適用於任何Linux系統?


196
2017-07-22 19:20


起源




答案:


內核被普遍檢測到 uname

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

確實沒有一種交叉分配方式來確定您所使用的分佈和版本。有人試圖使這種情況保持一致,但不幸的是,它最終會有所不同。 LSB工具提供了這些信息,但具有諷刺意味的是,默認情況下並未安裝在任使用Ubuntu 9.04系統的示例 lsb-release 包安裝:

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

否則,最接近廣泛使用的方法是檢查 /etc/something-release 文件。這些存在於大多數通用平台及其衍生產品(即Red Hat和CentOS)上。

這裡有些例子。

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

曼德里瓦有 /etc/mandriva-release

對於大多數流行的發行版,那麼,

$ cat /etc/*{release,version}

通常會工作。剝離和準系統“服務器”安裝可能沒有安裝發行版的“發布”包。

此外,您可以使用兩個第三方程序自動獲取此信息 Ohai 和 Facter

請注意,許多發行版都有這種信息 /etc/issue 要么 /etc/motd,但一些安全政策和 最佳做法 表明這些文件應包含訪問通知橫幅。

有關: 如何找出節點上安裝的軟件包版本?


257
2017-07-22 19:34



大聲笑我在這裡建議:尋找關於! - Ivo Flipse♦
Slackware有/ etc / slackware-version - Ken Keenan
謝謝Ken,我也沒有slackware系統。 - jtimberman
IOW:ls / etc / * {release,version}並檢查返回的內容...... - freiheit
大多數還有/ etc / issue - Drew Stephens


你也可以嘗試:

$ cat / etc / issue

通常(但並不總是)會告訴您正在使用的分佈。 在/ etc /問題 是用於登錄屏幕的文件。


38
2017-07-22 19:58



這是唯一一個在共享的Media Temple服務器上為我釘它的人。謝謝!! - TryTryAgain
哈,在RedHat上,就是這樣 \S[newline]Kernel \r on an \m - ruffin


核心: uname -a


19
2017-07-22 19:21



+1。對於類似的系統,比如 MinGW的,需要“-a”來獲取版本信息,例如“MINGW32_NT-5.1 LAP065 1.0.17(0.48 / 3/2)2011-04-24 23:39 i686 Msys”。 - Peter Mortensen


lsb_release -a,如果可用,是有用的。


13
2017-07-22 23:48





cat /etc/os-release

至少對於Ubuntu,Fedora和OpenSUSE。

至少在10.9(小牛隊)之前不適用於OS X.使用 sw_vers 代替。

OpenSUSE了 cat / etc / SuSE-release 直到13.1,但不贊成使用os-release。

Redhat 6.1有 cat / etc / redhat-release


13
2018-04-02 22:56



DOC: freedesktop.org/software/systemd/man/os-release.html - pevik


cat /proc/version 在共享的VPS上找到了Red Hat。


9
2018-06-26 06:59





核心: uname -r

發行版: lsb_release -a

這些將在大多數Linux系統上運行


4
2018-06-18 17:06





一襯墊

lsb_release -a && uname -r

3
2018-01-29 14:51



這可能更適合作為對Albert Z答案的評論。 - fixer1234
強大的回答總結所有的答案!我必須投入努力:) - user_balaz