
Иногда, когда я вхожу в систему через SSH (например, на производственный сервер), у меня есть такие привилегии, что я могу установить некоторое программное обеспечение, но для этого мне нужно знать систему, с которой я имею дело.
Я смогу проверить, как там установлена система.
Есть ли способ из CLI определить, какой дистрибутив Unix/Linux запущен?
решение1
Пытаться:
uname -a
Это даст вам такой вывод:
Linux debianhost 3.16.0-4-686-pae #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) i686 GNU/Linux
Вы также можете использовать:
cat /etc/*release*
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
решение2
Чтобы получить имя хоста, версию ядра и другую полезную информацию о системе:
uname -a
Для получения версии дистрибутива Linux нет уникальной команды. Каждый дистрибутив реализует ее по-разному. В Debian и Ubuntu:
cat /etc/debian_version
В Red Hat:
cat /etc/redhat-release
cat /etc/lsb-release
lsb_release -a
В Fedora:
cat /etc/fedora-release
решение3
Для Linux вы можете попробовать команду lsb_release, которая предоставляет базу стандартов Linux и информацию, специфичную для дистрибутива. Попробуйте:
lsb_release -d
Также проверьте другие варианты на man
странице
решение4
Вкратце это можно сделать так(благодаря@daemontoshотвечать):
lsb_release -a
...показать всю информацию.
Другой краткий способ получить информацию —(благодаря@HeathRafteryи@JourneymanGeekответы):
cat /proc/version
Однако существует множество Unix-систем, которые не поддерживают /proc
псевдофайловую систему.