Ответы:
Боюсь, нет стандартизированного способа проверить это. Кажется, у каждого дистрибутива есть свой способ объявить свою версию. Вы можете попробовать:, cat /etc/*release
это может работать на нескольких системах. Также /etc/issue
может содержать информацию о распространении.
lsb_release -a
должен работать на большинстве дистрибутивов.
lsb_release -i -s
работает на большинстве систем, которые у меня есть, только чтобы получить идентификатор поставщика. К сожалению, lsb_release не является частью базовой установки на моих небольших / встраиваемых системах, поэтому сначала нужно проверить ее.
lsb-release
пакете, который, действительно, не по умолчанию. Его отсутствие - сильный индикатор Debian. :-)
lsb_release
не существует в некоторых новых производных RHEL6, таких как Scientific Linux 6.1 или Fedora Linux 16.
uname -o
Двоичный файл uname встречается почти во всех системах Linux, а флаг -o делает все возможное, чтобы вернуть вам операционную систему. lsb_release тоже работает, но не так вездесущ.
uname -o
, а затем, если это возвращается просто как GNU / Linux, run lsb_release -i -s
работает во всех моих системах.
Если вы используете -a
флаг uname
, он должен работать большую часть времени. Например, на моей текущей машине Ubuntu uname -a
печатает:
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/*release
и/etc/issue
дайте мне точную информацию, которая мне нужна.