Как определить, с каким дистрибутивом Linux вы имеете дело?
Рубрика: АдминистрированиеМетки: console | администрирование | простая утилита
Четверг, 24 декабря 2009 г.
Просмотров: 5204
Подписаться на комментарии по RSS

Иногда бывает так, что получаешь доступ по ssh к судалённому компьютеру, но не знаешь, с каким дистрибутивом имеешь дело.
Есть два простых способа получить эту информацию.
Самый простой и универсальный способ, это посмотреть на вывод gcc:
$ gcc --v


Тут всё правильно. Debian и Gentoo. А вот с форком дистрибутива Slackware - Zenwalk не всё так гладко:

С виду это Slackware. А различий у них достаточно. Хотя бы тот же пакетный менеджер netpkg. Да и другие детали. Хотя, что знает основной дистрибутив, конечно не потеряется и в форке. Но лучше быть готовым и знать, с чем конкретно имеешь дело.
Поэтому, этим не ограничимся. По выводу gcc мы лишь предварительно можем представить себе платформу. Теперь посмотрим на способ посложнее. Чтобы более точно узнать название дистрибутива, нужно в консоли выполнить нижеследующее:
grep -ihs "buntu\|SUSE\|Fedora\|PCLinuxOS\|MEPIS\|Mandriva\|Debian\|Damn\|Sabayon\|Slackware\|KNOPPIX\|Gentoo\|Zenwalk\|Mint\|Kubuntu\|FreeBSD\|Puppy\|Freespire\|Vector\|Dreamlinux\|CentOS\|Arch\|Xandros\|Elive\|SLAX\|Red\|BSD\|KANOTIX\|Nexenta\|Foresight\|GeeXboX\|Frugalware\|64\|SystemRescue\|Novell\|Solaris\|BackTrack\|KateOS\|Pardus" /etc/{issue,*release,*version}


Ну вот, теперь и версии дистрибутив показывает, и более точно выводит название дистрибутива:

Это действительно Zenwalk 5.2.
Многие дистрибутивы так же можно идентифицировать командой lsb_release:
lsb_release -a Distributor ID: Debian Description: Debian GNU/Linux unstable (sid) Release: unstable Codename: sid
Но многие, это не все.














Забавно, однако. Захотел я проверить по ssh, на чём же у хостера сервак крутится, где этот сайт расположен. И второй способ ничего не вывел! Наверно припрятали инфу )) но gcc --v врать не любит ))) Выдал всё с потрохами :-P
Знаю, что есть много других способов узнать дистр, но один из этих двух точно выведет требуемую информацию. Не надо особо мудрить и копаться в системе :)
Знаю, что есть много других способов узнать дистр
Хозяина взять за грудки и потрясти, хорошенько! Всё расскажет! :)
не всегда хозяин известен или доступен )) Да и попроще способы есть )))))
кстати, недавно озадачился, не только как название дистрибутива узнать, но нужно было выяснить 32 или 64 бита оный... В общем, помог только gcc --v. Вот x64:
Еще как вариант можно посмотреть в папке etc
К примеру, у меня CentOS (форк Redhat насколько я понял), в папке /etc/ лежит файл redhat-release
gcc --v вернул что это RedHat 4.1.2-48
Далее:
Еще как вариант:
Еще вариант:
Не всегда есть доступ к /etc.
Одно дело, если у вас на работе какая-то машина не понятно с чем, крутится и крутится, уже все забыли, что там.
А вот если на хостинге определить, что за зверь? :) Кто вас пустит в /etc? :)
У меня простая ситуация, взял у хостера тариф с виртуальной машиной - как результат я там рут. Вариант с etc мне подошел.