Відповіді:
Боюся, немає стандартизованого способу перевірити це. Здається, кожен розподіл має свій спосіб озвучення своєї версії. Ви можете спробувати:, 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.
унаме -о
Бінарний файл unme знаходиться майже в кожній системі Linux, а прапор -o робить найкраще повернути вам операційну систему. lsb_release також працює, але не настільки всюдисущий.
uname -oпотім, якщо це повернеться як просто GNU / Linux, запуск, 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дайте мені точну інформацію, яка мені потрібна.