6

Мне было поручено выполнить работу на сервере, но я не уверен, что dist работает. /proc/version говорит мне:

Linux version 2.6.18-194.26.1.el5.028stab079.2 (root@rhel5-build-x64) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Fri Dec 17 19:25:15 MSK 2010

так что это заставляет меня думать о Red Hat Enterprise Linux 5, но затем я пытаюсь установить какой-то пакет и выяснить, что вместо yum установлены aptitude и apt-get. Я думал, что aptitude и apt-get принадлежат миру Debian. Так что теперь мне интересно, какой дистрибутив работает на этом сервере?

5 ответов5

7

В дистрибутивах Linux файл релиза находится в каталоге /etc. К сожалению, это не то же самое для всех дистрибутивов, так что самое простое, что нужно сделать, это запустить

 ls -d /etc/* | grep release 

Например, в моей системе Arch Linux это приводит к следующему выводу:

 # ls -d /etc/* | grep release
 /etc/arch-release
 /etc/os-release

файл arch-release отсутствует, но os-release содержит соответствующую информацию. На Кубунту, Инстед,

 # ls -d /etc/* | grep release
 /etc/lsb-release
 /etc/os-release

abd здесь lsb-release имеет соответствующую информацию. Еще одна возможность работает

 ls -d /etc/* | grep version

который будет нести эквивалентную информацию, если файл выпуска отсутствует.

РЕДАКТИРОВАТЬ:

только что понял, ту же информацию можно получить более кратко с

  cat /etc/*{release,version}
3

Вы можете использовать lsb_release -a для распечатки конкретной информации о распространении. Используя эту команду, вам не нужно самостоятельно искать соответствующие файлы, содержащие информацию.

Вот пример вывода системы Debian Jessie :

$ lsb_release -a
LSB Version:    core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-noarch:core-4.0-amd64:core-4.0-noarch:core-4.1-amd64:core-4.1-noarch:security-4.0-amd64:security-4.0-noarch:security-4.1-amd64:security-4.1-noarch
Distributor ID: Debian
Description:    Debian GNU/Linux testing (jessie)
Release:        testing
Codename:       jessie

А вот одна из систем Redhat :

$ lsb_release -a
LSB Version:    :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: RedHatEnterpriseClient
Description:    Red Hat Enterprise Linux Client release 5.3 (Tikanga)
Release:        5.3
Codename:       Tikanga
1

Помимо /etc /* release, уже упоминавшегося в других ответах, также может быть хороший указатель /etc /issue , поэтому попробуйте cat /etc/issue

Что касается apt: это стандартный менеджер пакетов Debian, и вы часто найдете его в дистрибутивах на основе Debian/Debian, но нет проблем с использованием / установкой его также в другом дистрибутиве (т.е. RHEL).

Точно так же нет проблем с использованием RPM в Debian или Ubuntu, если хотите. Конечно, одновременное использование разных менеджеров пакетов может легко привести к путанице.

0

Вы смотрели в /etc файл релиза? Большинство дистрибутивов имеют os-релиз или аналогичные с подробностями об используемом вами дистрибутиве. Если вы находитесь в системе RHEL, как предлагает ядро, ее можно будет назвать redhat-release. Ядро имеет тенденцию использовать системный выпуск, или сделал последний раз, когда я проверял это.

Хотя понятия не имею, почему там есть apt.

0

Попробуй это. Это покажет версию дистрибутива

cat /etc/*release

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .