Odpowiedzi:
Obawiam się, że nie ma znormalizowanego sposobu na sprawdzenie tego. Każda dystrybucja wydaje się mieć własny sposób ogłaszania swojej wersji. Możesz spróbować: cat /etc/*releasemoże działać na kilku systemach. Ponadto, /etc/issuemogą zawierać informacje dystrybucji.
lsb_release -a powinien działać na większości dystrybucji.
lsb_release -i -sdziała w większości systemów, aby uzyskać identyfikator dostawcy. Niestety lsb_release nie jest częścią podstawowej instalacji na moich mniejszych / wbudowanych systemach, więc najpierw trzeba go przetestować.
lsb-releasepakiecie, co w rzeczywistości nie jest domyślne. Jednak brak jest silnym wskaźnikiem Debiana. :-)
lsb_releasenie istnieje na niektórych nowych pochodnych RHEL6, takich jak Scientific Linux 6.1 lub Fedora Linux 16.
uname -o
Plik binarny uname znajduje się w prawie każdym systemie Linux, a flaga -o najlepiej przywraca system operacyjny. lsb_release też działa, ale nie jest tak wszechobecny.
uname -oa jeśli to wróci jako GNU / Linux, lsb_release -i -swydaje się, że działa na wszystkich moich systemach.
Jeśli użyjesz -aflagi uname, powinna ona działać przez większość czasu. Na przykład na mojej bieżącej maszynie Ubuntu uname -adrukuje:
Linux clark-laptop 2.6.35-25-generic #43-Ubuntu SMP Thu Jan 6 22:25:21 UTC 2011 x86_64 GNU/Linux
cat /etc/*releasei/etc/issuepodaj mi dokładne informacje, których potrzebuję.