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

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

У нас в офисе появилось новое оборудование, работающее под управлением собственной ОС Linux.

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

решение1

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

# cat /proc/version

Linux version 2.6.32-71.el6.x86_64 ([email protected]) (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 Пятница Май 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=y
# CONFIG_KERNEL_DESKTOP не установлен
CONFIG_LOCK_KERNEL=y

Выпустить файлы в /etc(с Unix.com)

  • Novell SuSE---> /etc/SuSE-release
  • Red Hat--->/etc/redhat-release, /etc/redhat_version
  • Fedora-->/etc/fedora-release
  • Slackware--->/etc/slackware-release, /etc/slackware-version
  • Старый Debian--->/etc/debian_release, /etc/debian_version
  • Новый Debian--->/etc/os-release
  • Мандрагора--->/etc/mandrake-release
  • Желтая собака-->/etc/yellowdog-release
  • Sun JDS--->/etc/sun-release
  • Solaris/Sparc--->/etc/release
  • Gentoo--->/etc/gentoo-release

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

Хорошей подсказкой будет выяснить, какой у вас менеджер пакетов.

rpm yum apt-get zypper+многое другое

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

# dmesg | меньше

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

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

решение2

Вам понадобится:

$ cat /etc/*-release

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

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

решение3

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

Версия LSB: н/д
Идентификатор дистрибьютора: archlinux
Описание: Arch Linux
Выпуск: rolling
Кодовое имя: н/д

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

Связанный контент