Как определить, какой дистрибутив Linux работает?

У нас есть новое оборудование в нашем офисе, где работает собственная ОС Linux.

Как мне понять, на каком дистрибутиве он основан?

Вопрос, очень близкий к этому, был опубликован на Unix.Stackexchange ЗДЕСЬ Giles имеет довольно полный | прохладный ответ за то, как он описывает.

 # cat /proc/version Linux version 2.6.32-71.el6.x86_64 (mockbuild@c6b6.centos.org) (gcc version 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC) ) #1 SMP Fri May 20 03:51:51 BST 2011 
  # uname -a

 Linux system1.doofus.local 2.6.32-71.el6.x86_64 # 1 SMP Fri 20 мая 03:51:51 BST 2011 x86_64 x86_64 x86_64 GNU / Linux 
 # cat /etc/issue CentOS Linux release 6.0 (Final) Kernel \r on an \m 

cat /proc/config.gz cat /usr/src/linux/config.gz cat /boot/config*

Хотя я сделал некоторые проверки, и это было не очень надежным, кроме SUSE.

  # zcat /proc/config.gz |  Ядро grep -i
 CONFIG_SUSE_KERNEL = у
 # CONFIG_KERNEL_DESKTOP не установлен
 CONFIG_LOCK_KERNEL = у 

Отпустите файлы в /etc ( из Unix.com )

  • Novell SuSE —> / etc / SuSE-релиз
  • Red Hat —> / etc / redhat-release, / etc / redhat_version
  • Fedora -> / и т.д. / Fedora-релиз
  • Slackware —> / etc / slackware-release, / etc / slackware-version
  • Старый Debian —> / etc / debian_release, / etc / debian_version
  • Новый Debian —> / etc / os-release
  • Mandrake —> / и т.д. / мандрагоры-релиз
  • Желтая собака -> / etc / yellowdog-release
  • Sun JDS —> / etc / sun-release
  • Solaris / Sparc —> / и т.д. / выпуск
  • Gentoo —> / и т.д. / папуасских-релиз

Существует также сценарий bash на ссылке Unix.com, которую кто-то написал для автоматизации проверки.

Выяснить, какой у вас менеджер пакетов – это хорошая подсказка.

rpm yum apt-get zypper + еще много

Хотя это ни в коем случае не является надежным, поскольку продавец может использовать все, что захочет. Это действительно дает вам место для начала.

  # dmesg |  Меньше

 Linux версия 2.6.32.12-0.7-default (geeko @ buildhost) (версия gcc 4.3.4 [gcc-4_3-ветвь ревизии 152973] (SUSE Linux)) # 1 SMP 2010-05-20 11:14:20 +0200 

почти такая же информация, как cat /proc/version & uname

Прежде всего, попробуйте lsb_release -a . Например, в системе Arch Linux это дает

LSB Версия: n / a
Идентификатор дистрибьютора: archlinux
Описание: Arch Linux
Выпуск: прокат
Codename: n / a

Однако это может не сработать, тогда вам придется совать /etc (скорее всего, он находится внутри файла, имя которого заканчивается на -release ). Также может помочь cat /etc/issue .

Вы захотите использовать:

 $ cat /etc/*-release 

Вы получите ответ, подобный этому:

 $ cat /etc/*-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=11.10 DISTRIB_CODENAME=oneiric DISTRIB_DESCRIPTION="Ubuntu 11.10" 

Также собирается повторить еще одно предложение плаката (он потянет немного более подробную информацию):

 $ cat /proc/version Linux version 3.0.0-14-server (buildd@allspice) (gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) ) #23-Ubuntu SMP Mon Nov 21 20:49:05 UTC 2011