Frage Wie finde ich heraus, welche Version von Linux ich verwende?


Gibt es eine Möglichkeit zu bestimmen, welche Version (Distribution & Kernel-Version, nehme ich an) von Linux läuft (von der Kommandozeile aus), die auf jedem Linux-System funktioniert?


192
2017-07-22 19:20


Ursprung




Antworten:


Der Kernel wird universell mit erkannt uname:

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

Es gibt wirklich keinen übergreifenden Weg, um zu bestimmen, auf welche Distribution und Version Sie sich befinden. Es gab Versuche, dies konsistent zu machen, aber letztendlich variiert es leider. LSB-Tools bieten diese Informationen, sind aber ironischerweise nicht überall standardmäßig installiert. Beispiel auf einem Ubuntu 9.04 System mit dem lsb-release Paket installiert:

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

Ansonsten wird die am weitesten verbreitete Methode überprüft /etc/etwas-release Dateien. Diese existieren auf den meisten gängigen Plattformen und auf ihren Derivaten (d. H. Red Hat und CentOS).

Hier sind einige Beispiele.

Ubuntu hat /etc/lsb-release:

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

Aber Debian hat /etc/debian_version:

$ cat /etc/debian_version
5.0.2

Fedora, Red Hat und CentOS haben:

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

Ich habe momentan kein SUSE-System, aber ich glaube, es ist so /etc/SuSE-release.

Slackware hat /etc/slackware-release und / oder /etc/slackware-version.

Mandriva hat /etc/mandriva-release.

Für die meisten populären Distributionen

$ cat /etc/*{release,version}

wird meistens funktionieren. Stripped Down und Barebones "Server" -Installationen haben möglicherweise nicht das "Release" -Paket für die Distribution installiert.

Zusätzlich können zwei Programme von Drittanbietern verwendet werden, um diese Informationen automatisch zu erhalten Ohai und Facter.

Beachten Sie, dass viele Distributionen diese Art von Informationen enthalten /etc/issue oder /etc/motd, aber einige Sicherheitsrichtlinien und Best Practices Geben Sie an, dass diese Dateien Banner für die Zugriffsbenachrichtigung enthalten sollen.

Verbunden: Wie finde ich die Version des auf dem Knoten installierten Softwarepakets heraus?, .


253
2017-07-22 19:34



Lol hier wollte ich vorschlagen: nach About! - Ivo Flipse♦
Slackware hat die / etc / slackware-Version - Ken Keenan
Danke Ken, ich habe auch kein Slackware-System. - jtimberman
IOW: ls / etc / * {release, version} und prüfen, was zurückkommt ... - freiheit
Die meisten haben auch / etc / issue - Drew Stephens


Sie könnten auch versuchen:

$ Katze / etc / Problem

Es wird normalerweise (nicht immer, aber) Ihnen sagen, welche Verteilung Sie verwenden. / etc / issue ist die Datei, die für den Anmeldebildschirm verwendet wird.


38
2017-07-22 19:58



Dies ist der einzige, der es für mich auf einem Shared Media Temple Server genagelt hat. Vielen Dank!! - TryTryAgain
Ha, auf RedHat, das ist einfach \S[newline]Kernel \r on an \m - ruffin


Kernel: uname -a


19
2017-07-22 19:21



+1. Für ähnliche Systeme, wie MinGWDas "-a" wird benötigt, um die Versionsinformationen zu erhalten, z. B. "MINGW32_NT-5.1 LAP065 1.0.17 (0.48 / 3/2) 2011-04-24 23:39 i686 Msys". - Peter Mortensen


lsb_release -a, wenn verfügbar, ist nützlich.


13
2017-07-22 23:48





cat /etc/os-release

zumindest für Ubuntu, Fedora und OpenSUSE.

Funktioniert nicht für OS X mindestens bis 10.9 (Mavericks). Benutzen sw_vers stattdessen.

OpenSUSE hatte Katze / etc / SuSE-Release bis 13.1, ist aber für os-release veraltet.

Redhat 6.1 hat Katze / etc / redhat-release


13
2018-04-02 22:56



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


cat /proc/version Ich habe Red Hat auf einem geteilten VPS gefunden.


9
2018-06-26 06:59





Kernel: uname -r

Distro: lsb_release -a

Diese werden auf den meisten Linux-Systemen ausgeführt


4
2018-06-18 17:06





Einzeiler

lsb_release -a && uname -r

3
2018-01-29 14:51



Dies könnte als Kommentar zu Albert Zs Antwort angemessener sein. - fixer1234
mächtige Antwort, um alle Antworten abzuschließen! Ich muss für die Mühe upvote :) - user_balaz