GNU/Linux
Определение имени и версии дистрибутива Linux
Поиск…
Синтаксис
uname - для печати информации о вашей операционной системе.
uname [OPTION]
Определите, на каком распределении на основе debian вы работаете
Просто выполните lsb_release -a
.
В Debian:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux testing (stretch)
Release: testing
Codename: stretch
На Ubuntu:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.4 LTS
Release: 14.04
Codename: trusty
Если вы не установили lsb_release
вы можете попробовать некоторые догадки, например, есть файл /etc/issue
который часто содержит имя распространения. Например, на ubuntu:
$ cat /etc/issue
Ubuntu 12.04.5 LTS \n \l
Не используйте файл /etc/debian_version
потому что его содержимое не соответствует имени дистрибутива!
Обратите внимание, что это также будет работать с дистрибутивами семейства, отличными от Debian, такими как Fedora, RHEL или openSUSE, но этот lsb_release
не может быть установлен.
Определите, к какому дистрибутиву RHEL / CentOS / Fedora вы работаете
Посмотрите содержимое /etc/redhat-release
cat /etc/redhat-release
Вот результат работы с машиной Fedora 24: Fedora release 24 (Twenty Four)
Как упоминалось в ответе на основе debian, вы также можете использовать команду lsb_release -a
, которая выводит это из машины Fedora 24:
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: Fedora
Description: Fedora release 24 (Twenty Four)
Release: 24
Codename: TwentyFour
Определите, какой системный дистрибутив вы используете
Этот метод будет работать на современных версиях Arch, CentOS, CoreOS, Debian, Fedora, Mageia, openSUSE, Red Hat Enterprise Linux, SUSE Linux Enterprise Server, Ubuntu и других. Эта широкая применимость делает ее идеальной в качестве первого подхода, с откатом от других методов, если вам нужно также идентифицировать старые системы.
Посмотрите /etc/os-release
. В частности, посмотрите на переменные NAME
, VERSION
, ID
, VERSION_ID
и PRETTY_NAME
.
В Fedora этот файл может выглядеть так:
NAME=Fedora
VERSION="24 (Workstation Edition)"
ID=fedora
VERSION_ID=24
PRETTY_NAME="Fedora 24 (Workstation Edition)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:fedoraproject:fedora:24"
HOME_URL="https://fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=24
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=24
PRIVACY_POLICY_URL=https://fedoraproject.org/wiki/Legal:PrivacyPolicy
VARIANT="Workstation Edition"
VARIANT_ID=workstation
В CentOS этот файл может выглядеть так:
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
Этот файл задокументирован на веб-сайте freedesktop ; в принципе, он не является специфичным для системы, но он будет существовать во всех дистрибутивах, основанных на системе.
Из оболочки bash можно /etc/os-release
файл /etc/os-release
а затем использовать различные переменные напрямую, например:
$ ( source /etc/os-release && echo "$PRETTY_NAME" )
Fedora 24 (Workstation Edition)
Uname - печать информации о текущей системе
Uname короткое имя для названия у Никс. Просто введите uname
в консоли, чтобы получить информацию о вашей операционной системе.
uname [OPTION]
Если OPTION не указан, uname
принимает параметр -s
.
-a
или --all
- печатает всю информацию, опуская -p
и -i
если информация неизвестна.
Пример:
> uname -a
SunOS hope 5.7 Generic_106541-08 sun4m sparc SUNW,SPARCstation-10
Все варианты:
-s , --kernel-name | Распечатайте имя ядра. |
-n , --nodename | Распечатайте имя узла сетевого узла. |
-r , --kernel-release | Распечатайте выпуск ядра. |
-v , --kernel-версия | Распечатайте версию ядра. |
-m , --machine | Распечатайте имя аппаратного оборудования. |
-p , --процессор | Распечатайте тип процессора или « неизвестно ». |
-i , --hardware-платформа | Распечатайте аппаратную платформу или « неизвестно ». |
-o , --операционная система | Распечатайте операционную систему. |
--Помогите | Отобразите справочное сообщение и выйдите. |
--версия | Отобразить информацию о версии и выйти. |
Обнаружение основных сведений о вашем дистрибутиве
просто выполните uname -a
.
На арке:
$ uname -a
Linux nokia 4.6.4-1-ARCH #1 SMP PREEMPT Mon Jul 11 19:12:32 CEST 2016 x86_64 GNU/Linuxenter code here
найдите имя linux os (оба debian & rpm) и номер выпуска
Большинство дистрибутивов Linux хранят информацию о своей версии в файле / etc / lsb-release (debian) или / etc / redhat-release (на основе RPM). Используя нижеприведенную команду, вы должны пройти мимо большинства производных Debian и RPM, как Linux Mint и Cent-Os.
Пример на машине Ubuntu:
cat / etc / * release
DISTRIB_ID = Ubuntu DISTRIB_RELEASE = 14.04 DISTRIB_CODENAME = trusty DISTRIB_DESCRIPTION = "Ubuntu 14.04 LTS"
использование GNU coreutils
Поэтому GNU coreutils должен быть доступен для всех систем на базе Linux (пожалуйста, поправьте меня, если я ошибаюсь здесь).
Если вы не знаете, какая система вы используете, вы не сможете напрямую перейти к одному из приведенных выше примеров, поэтому это может быть ваш первый порт захода.
`$ uname -a
В моей системе это дает мне следующее ...
`Linux Scibearspace 3.16.0-4-amd64 # 1 SMP Debian 3.16.7-ckt25-2 + deb8u3 (2016-07-02) x86_64 GNU / Linux
Здесь вы можете увидеть следующее:
Scibearspace: имя моего компьютера
- Scibearspace: имя моего компьютера
- 3.16.0-4-amd64: ядро и архитектура
- SMP Debian 3.16.7-CKT25-2 + deb8u3: говорит мне, что я запускаю debian с ядром 3.16
- Завершите последнюю часть. Я запускаю debian 8 (обновление 3).
Я хотел бы приветствовать любые другие, чтобы добавить результаты для RHEL и систем SuSe.