8

Когда вы используете незнакомый компьютер Linux/BSD/Unix (например, по SSH) из командной строки, как вы можете определить, какой дистрибутив (и какую версию этого дистрибутива) вы используете?

Некоторые варианты, которые я пробовал:

  • lsb_release --all: не существует в OpenSuSE 11.3; работает на Debian Squeeze и Ubuntu 10.10.
  • uname --all: не дает дистрибутивной информации о SuSE и Debian; работает в Ubuntu.
  • cat /etc/apt/sources.list вы можете видеть, к каким серверам дистрибутива машина подключается для получения обновлений. Очевидно, что работает только для дистрибутивов на основе Debian. Не будет работать, если компьютер был настроен на использование собственного сервера репозитория.

К сожалению, ни один из них не работает во многих дистрибутивах. Есть ли простая команда для проверки?

3 ответа3

11

Если установлен Python 2.3 или новее, это будет работать со многими дистрибутивами:

python -c "import platform; print platform.dist()"
10

cat /proc /version

может сделать трюк.

1

Нет единой волшебной команды, которая бы работала во всех дистрибутивах - вам нужно будет попробовать несколько вещей, чтобы выработать ответ.

Попробуйте попробовать некоторые из них, такие как lsb_release , и другие, которые вам не нравятся, глядя на /etc/redhat-release , /etc/fedora-release и т.д.

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