Jak sprawdzić, której dystrybucji Linux używam?


53

Jak sprawdzić, której dystrybucji Linux używam?

uname -a daje

Linux xxxxxx.net 2.6.9-42.0.3.EL.wh1smp #1 SMP Fri Aug 14 15:48:17 MDT 2009 i686 i686 i386 GNU/Linux

Skąd mam wiedzieć, że jest to Ubuntu / Debian / Fedora lub Redhat?

Używam /etc/init.d/serviced restartdo restartowania usług, wygląda na to, że to nie rodzina Redhat

[itf][~]$ cat /etc/issue
cat: /etc/issue: No such file or directory
[itf][~]$ cat /etc/issue.net
cat: /etc/issue.net: No such file or directory
[itf][~]$ lsb_release -a
-sh: lsb_release: command not found
[itf][~]$ cat /etc/*-release
cat: /etc/*-release: No such file or directory
[itf][~]$ cat /etc/*-version
cat: /etc/*-version: No such file or directory
[itf][~]$ cat /etc/*release
cat: /etc/*release: No such file or directory
[itf][~]$ cat /etc/*_release
cat: /etc/*_release: No such file or directory
[itf][~]$ cat /etc/*version
cat: /etc/*version: No such file or directory
[itf][~]$

Jeśli chcesz usunąć pewne dane osobowe / poufne, myślę, że możesz oflagować swoje pytanie do uwagi moderatora. Ponieważ nadal możemy go teraz przeczytać ...
Tamara Wijsman,

@Tom Wijsman po prostu nie chce wyświetlać tego tekstu na stronie pytań, wiem, że będzie tam w historii :-)
Mithun Sreedharan

Odpowiedzi:


31
  • W Debianie: /etc/debian_version

  • W Ubuntu: lsb_release -a or /etc/debian_version

  • W Redhat: cat /etc/redhat-release

  • W Fedorze: cat /etc/fedora-release


2
Wypróbował wszystkie, zobacz swój kod źródłowy.
guerda,

2
+1, „lsb_release -a” działało dla mnie w Red Hat.
Aaron

3
lsb_release -adziałał również w Debianie (squeeze).
acme

1
lsb_release -adziała również w Gentoo
Siergiej

lsb_release -adziała również w Ubuntu i Mint.
wranvaud


15

Możesz spróbować tego artykułu z Novell .

Jeśli jesteś właścicielem systemu, wiesz, który system Linux jest zainstalowany i uruchomiony. Ten artykuł pomoże ci zrozumieć, jak ustalić, która dystrybucja Linuksa jest zainstalowana. Możesz włączyć to do swojej aplikacji, aby wykryć dystrybucję Linuksa.


Próbowałem już. .9-42.0.3.EL.wh1smp i686) $ uname -a Linux qsquare.net 2.6.9-42.0.3.EL.wh1smp # 1 SMP Pt 14 sierpnia 15:48:17 MDT 2009 i686 i686 i386 GNU / Linux
Mithun Sreedharan,

6
cat /etc/*releasewydaje się działać w przypadku niektórych głównych dystrybucji. Zweryfikowałem z Ubuntu, Mint, Red Hat i Gentoo.
nobar

Debian tego nie rozpoznaje
Milad Naseri,

Rozwiązanie Novell wreszcie działa na moim RedHat 5.3. Zintegrowałem go w mojej darmowej bibliotece lib: github.com/Offirmo/offirmo-shell-lib
Offirmo

@nobar: Działa również z dystrybucjami SUSE: /etc/SuSE-release pastebin.com/dL5gVLQe
bwDraco

3

Spróbuj jednego z tych:

ls -ld /etc/\*release\*  /etc/\*version\*

gcc --version

1
Czy mogę zapytać, dlaczego nie używasz znaczników do kodu? Wciskaj kod o cztery spacje, co znacznie ułatwia czytanie i rozróżnianie. Dziękuję Ci.
slhck,

3

Wszystkie systemy zgodne z będą miały, /etc/os-releaseco powinno dostarczyć informacji związanych z dystrybucją itp

NAME=Fedora
VERSION="17 (Beefy Miracle)"
ID=fedora
VERSION_ID=17
PRETTY_NAME="Fedora 17 (Beefy Miracle)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:fedoraproject:fedora:17"
HOME_URL="https://fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"


1

Hmmm, być może jest to kolejna dystrybucja - sufiks .EL wydaje się być używany przez centos, ale to pochodna redhat. Zastanawiam się także, jaki jest twój system zarządzania pakietami? Pomocne może być sprawdzenie, z których repozytoriów korzystasz, ponieważ zazwyczaj są one dostarczane przez dostawcę i specyficzne dla dystrybucji




0

Opierając się na wersji jądra powiedziałbym, że to WBEL 4 . Wiadomo, że opóźniają się nieco ze swoimi aktualizacjami, więc prawdopodobnie najlepiej byłoby przeprowadzić migrację do CentOS.


0

Po prostu umieszczam wynik w var i małymi literami

OS=`awk -F= '/DISTRIB_ID/ {print tolower($2)}' /etc/lsb-release`

0

Aktualizacja tutaj, teraz można jej używać lsb_release -ds, dzięki czemu można jej używać tak, jak linuxDistro=$(lsb_release -ds)bez dodatkowej analizy.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.