Есть несколько способов узнать версию Linux. Вот самые распространенные и полезные команды:
1. uname -a (или uname -r, uname -m, uname -o и т.д.)
- Это наиболее полная команда. uname означает “Unix name” (имя Unix).
- uname -a выводит всю информацию о системе, включая имя ядра, имя узла сети, версию ядра, аппаратное имя машины и операционную систему.
- uname -r выводит только номер версии ядра.
- uname -m выводит аппаратную архитектуру машины (например, x86_64, i686).
- uname -o выводит имя операционной системы.
- В этом выводе: * Linux: Имя ядра * myhost: Имя хоста * 5.15.0-76-generic: Версия ядра * #83-Ubuntu: Номер сборки ядра * SMP Thu Jun 15 19:16:55 UTC 2023: Метка времени сборки * x86_64: АрхитектураПример:uname -a
# Вывод может выглядеть примерно так:
# Linux myhost 5.15.0-76-generic #83-Ubuntu SMP Thu Jun 15 19:16:55 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
2. cat /proc/version
- Эта команда читает содержимое файла /proc/version, который содержит информацию о версии ядра Linux.
- Пример:cat /proc/version
# Вывод может выглядеть примерно так:
# Linux version 5.15.0-76-generic (buildd@lcy02-amd64-079) (gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #83-Ubuntu SMP Thu Jun 15 19:16:55 UTC 2023
3. lsb_release -a (или lsb_release -d, lsb_release -i, lsb_release -r)
- Эта команда специфична для дистрибутивов, поддерживающих Linux Standard Base (LSB). Она предоставляет информацию о дистрибутиве, релизе и кодовом имени. Часто полезнее для определения дистрибутива, а не версии ядра.
- Возможно, вам потребуется сначала установить lsb_release: sudo apt install lsb-release (в Debian/Ubuntu) или sudo yum install redhat-lsb-core (в CentOS/RHEL).
- lsb_release -a выводит всю доступную информацию.
- lsb_release -d выводит описание.
- lsb_release -i выводит идентификатор дистрибутора.
- lsb_release -r выводит номер релиза.
- Пример:lsb_release -a
# Вывод может выглядеть примерно так:
# No LSB modules are available.
# Distributor ID: Ubuntu
# Description: Ubuntu 22.04.2 LTS
# Release: 22.04
# Codename: jammy
4. hostnamectl
- Эта команда (часть systemd) предоставляет информацию об имени хоста и системе. Обычно доступна в новых дистрибутивах Linux, использующих systemd.
- Пример:hostnamectl
# Вывод может выглядеть примерно так:
# Static hostname: myhost
# Icon name: computer-vm
# Chassis: vm
# Machine ID: a1b2c3d4e5f67890abcdef1234567890
# Boot ID: 0123456789abcdef0123456789abcdef
# Virtualization: vmware
# Operating System: Ubuntu 22.04.2 LTS
# Kernel: Linux 5.15.0-76-generic
# Architecture: x86-64
5. cat /etc/*release (или cat /etc/os-release)
- Многие дистрибутивы хранят информацию о релизе в файлах в каталоге /etc. Конкретные имена файлов могут отличаться.
- cat /etc/*release пытается прочитать все файлы, заканчивающиеся на release в /etc.
- cat /etc/os-release — более стандартизированный файл, содержащий информацию о релизе ОС.
- Пример:cat /etc/os-release
# Вывод может выглядеть примерно так:
# NAME="Ubuntu"
# VERSION="22.04.2 LTS (Jammy Jellyfish)"
# ID=ubuntu
# ID_LIKE=debian
# PRETTY_NAME="Ubuntu 22.04.2 LTS"
# VERSION_ID="22.04"
# HOME_URL="https://www.ubuntu.com/"
# SUPPORT_URL="https://help.ubuntu.com/"
# BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
# PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
# VERSION_CODENAME=jammy
# UBUNTU_CODENAME=jammy
Какую команду использовать?
- Для получения наиболее полной информации о ядре используйте uname -a или cat /proc/version.
- Чтобы идентифицировать дистрибутив (например, Ubuntu, Fedora, Debian), используйте lsb_release -a, hostnamectl или cat /etc/*release.
- Если вам нужен только номер версии ядра, используйте uname -r.
Помните, что вывод и доступность этих команд могут незначительно отличаться в зависимости от конкретного используемого вами дистрибутива Linux.