Linux -- это интересно

С каким GNU/Linux дистрибутивом вы имеете дело?

Иногда бывает так, что получаешь доступ по ssh к судалённому компьютеру, но не знаешь, с каким дистрибутивом имеешь дело...


Есть два простых способа получить эту информацию, cамый простой и универсальный способ, это посмотреть на вывод gcc:

$ gcc --v

Debiad

Gentoo

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

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}

Debiad

Gentoo

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

Slackware/Zenwalk

Это действительно Zenwalk 5.2.

Многие дистрибутивы так же можно идентифицировать командой lsb_release:

lsb_release -a
Distributor ID:    Debian
Description:    Debian GNU/Linux unstable (sid)
Release:    unstable
Codename:    sid

Но многие, это не все.

Комментариев: 8 RSS

Забавно, однако. Захотел я проверить по ssh, на чём же у хостера сервак крутится, где этот сайт расположен. И второй способ ничего не вывел! Наверно припрятали инфу )) но gcc --v врать не любит ))) Выдал всё с потрохами :-P

Знаю, что есть много других способов узнать дистр, но один из этих двух точно выведет требуемую информацию. Не надо особо мудрить и копаться в системе :)

Знаю, что есть много других способов узнать дистр

Хозяина взять за грудки и потрясти, хорошенько! Всё расскажет! :)

не всегда хозяин известен или доступен )) Да и попроще способы есть )))))

кстати, недавно озадачился, не только как название дистрибутива узнать, но нужно было выяснить 32 или 64 бита оный... В общем, помог только gcc --v. Вот x64:

$ gcc --v
Using built-in specs.
Target: x86_64-linux-gnu
...

Еще как вариант можно посмотреть в папке etc

К примеру, у меня CentOS (форк Redhat насколько я понял), в папке /etc/ лежит файл redhat-release

gcc --v вернул что это RedHat 4.1.2-48

Далее:

cd /etc/
ls | grep redhat

Еще как вариант:

cat /etc/issue

Еще вариант:

cat /etc/*-release

Не всегда есть доступ к /etc.

Одно дело, если у вас на работе какая-то машина не понятно с чем, крутится и крутится, уже все забыли, что там.

А вот если на хостинге определить, что за зверь? :) Кто вас пустит в /etc? :)

У меня простая ситуация, взял у хостера тариф с виртуальной машиной - как результат я там рут. Вариант с etc мне подошел.

Kaspersky Rescue CD (KRD) и Dr.Web Live CD построены на базе Gentoo (при начальной загрузке видно). Многие команды не принимаются KRD, в том числе и man, не говоря о gcc --v. Что делать в таких случаях? Кстати, кто-нибудь знает список рабочих команд в консоли KRD (на сайте Kaspersky не нашла)?

Оставьте комментарий!
Используйте нормальные имена.Войти через loginza
Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



 
(обязательно)