Zapytaj, jakiej dystrybucji Linux / Unix używasz (z wiersza poleceń) [duplikat]

8

W przypadku korzystania z nieznanego komputera z systemem Linux / BSD / Unix (np. Przez SSH) z wiersza poleceń, w jaki sposób możesz stwierdzić, jakiej dystrybucji (i jakiej wersji tej dystrybucji używasz)?

Niektóre opcje próbowałem:

  • lsb_release --all: nie istnieje w OpenSuSE 11.3; działa na Debian squeeze i Ubuntu 10.10.
  • uname --all: nie podaje informacji o dystrybucji w SuSE i Debianie; działa w Ubuntu.
  • cat /etc/apt/sources.listmożesz zobaczyć, z którymi serwerami dystrybucji łączy się urządzenie w celu aktualizacji. Oczywiście działa tylko w przypadku dystrybucji opartych na Debianie. Nie będzie działać, jeśli komputer został skonfigurowany do korzystania z niestandardowego serwera repozytorium.

Niestety żaden z nich nie działa w wielu dystrybucjach. Czy istnieje proste polecenie do sprawdzenia?

Ślimak mechaniczny
źródło

Odpowiedzi:

11

Jeśli zainstalowany jest Python 2.3 lub nowszy, będzie to działać z wieloma dystrybucjami :

python -c "import platform; print platform.dist()"
Łatki
źródło
10

cat / proc / version

może załatwić sprawę.

Journeyman Geek
źródło
3
Istnieje wiele uniksów, które nie obsługują pseudo-systemu plików / proc.
dmckee --- były moderator kociak
1

Nie ma jednego magicznego polecenia, które działałoby we wszystkich dystrybucjach - musisz wypróbować szereg rzeczy, aby znaleźć odpowiedź.

Rzeczy, aby spróbować to jakiś masz zrobić, podobnie jak lsb_releasei inni, że nie masz jak patrząc /etc/redhat-release, /etc/fedora-releaseitp

TomH
źródło
Również /etc/SuSE-release.
Ślimak mechaniczny
1
Sprawdź /etc/*-release- ale istnieją systemy bez takich plików.
Keith Thompson,