Гид по технологиям

Команда uname в Linux: быстрое руководство

8 min read Linux Обновлено 21 Dec 2025
uname в Linux — инструкция и шпаргалка
uname в Linux — инструкция и шпаргалка

Терминал Linux в Ubuntu.

Быстрые ссылки

  • Что такое uname в Linux?

  • Опции команды uname

  • Совместное использование опций

  • Узнайте информацию о системе Linux

Краткое содержание

  • Команда «uname» — удобный инструмент для получения базовой информации об операционной системе и аппаратной платформе Linux.
  • Разные опции показывают имя хоста, версию ядра и архитектуру процессора.
  • Частые опции: -s (имя ядра), -a (вся доступная информация), -r (релиз ядра). Опции можно комбинировать.

Что такое uname в Linux?

Команда uname (от «UNIX name») — это простая утилита, доступная обычному пользователю без специальных привилегий, которая выводит базовую системную информацию: имя и версию ядра, архитектуру машины, сетевой узел (hostname) и др. Её удобно применять для тревелшутинга, автоматизации в скриптах, проверки совместимости и мониторинга.

Определение в одну строку: uname — утилита для быстрого получения сведений об ОС и аппаратной платформе.

Базовый синтаксис:

uname [OPTION]

Параметр [OPTION] указывает, какую именно информацию нужно вывести. Без параметров uname обычно выводит имя ядра (часто “Linux”). Вывод может различаться в дистрибутивах — некоторые дистрибутивы подставляют своё имя или кодовое имя.

Примеры для справки:

uname

Проверка версии самой утилиты:

uname --version

Вывод uname с опцией версии

Чтобы увидеть справку по возможным опциям:

uname --help

Справка uname с перечнем опций

Опции команды uname

Команда поддерживает несколько полезных опций. В таблице перечислены наиболее релевантные и перевод их названий.

ПараметрДолгий вариантОписание
-s–kernel-nameИмя ядра (напр., Linux)
-a–allВся доступная информация: имя ядра, версия, тип процессора и платформа
-r–kernel-releaseРелиз ядра
-n–nodenameИмя узла в сети (hostname)
-m–machineАрхитектура машины (machine hardware name)
-v–kernel-versionВерсия ядра (информация о билде)
-i–hardware-platformПлатформа аппаратного обеспечения (не всегда поддерживается)
-p–processorТип процессора/CPU (не всегда поддерживается)
-o–operating-systemНазвание операционной системы

Ниже — практические примеры и объяснения.

Показать всю информацию

Опция -a выводит всё в одну строку — удобно для быстрого осмотра:

uname -a

Типичный вывод можно разбить на компоненты:

  • Первое поле: имя ядра (например, Linux).
  • Hostname: сетевое имя системы, где выполнена команда.
  • Релиз ядра: версия ядра с патч-уровнем (например, 6.2.0-33-generic).
  • Информация о билде: номер сборки, метки SMP/PREEMPT и дата сборки.
  • machine: архитектура (x86_64 или i686 и т. д.).
  • processor/hardware platform: иногда повторяются и выглядят одинаково.
  • Операционная система: часто GNU/Linux.

Пример разбора вывода помогает понять, какие поля за что отвечают и где искать несовместимости при установке модулей или драйверов.

Показать имя ядра

Без опций или с -s выводится имя ядра:

uname -s

Это удобно, когда нужно быстро отличить ядро Linux от других UNIX-подобных систем.

Показать версию ядра

Опция -v показывает подробную информацию о билде ядра, включая метку SMP, PREEMPT и дату сборки:

uname -v

Разбор типичных полей вывода:

  • Метка сборки дистрибутива (например, #33~22.04.1-Ubuntu).
  • SMP означает поддержку симметричной мультипроцессорности.
  • PREEMPT_DYNAMIC указывает на варианты препемптиции, влияющие на задержку задач.
  • Дата и время сборки ядра.

Если нужна только номерная часть релиза, используйте:

uname -r

Например, “6.2.0-33-generic” обычно содержит основную версию (6.2.0), номер сборки (33) и тег сборки (generic).

Показать hostname (сетевой узел)

uname -n

Это соответствует выводу команды hostname; также можно использовать hostnamectl для получения расширённых сведений о хосте.

Показать аппаратную архитектуру

uname -m

Типичный вывод — x86_64 (64‑битная архитектура) или i686 (32‑битное ядро). Часто -m, -p и -i показывают одинаковую информацию.

Показать название операционной системы

uname -o

Обычно вывод — GNU/Linux; это полезно при автоматическом обнаружении семейства ОС в скриптах.

Использование опций вместе

Опции можно комбинировать слитно или через пробелы:

uname -r -v

uname -rv

uname -srm

uname -snrvmo

Команда uname -snrvmo эквивалентна uname -a по набору полей и часто применяется в скриптах для явного выбора полей.

Кейсы использования и сценарии

  • Диагностика несовместимости модулей: перед установкой модуля ядра сверяйте uname -r и версию заголовков.
  • Автоматизация развёртываний: в скриптах проверяйте uname -m, чтобы выбирать правильные двоичные сборки.
  • Мониторинг и аудит: для отчётов об инвентаризации собирайте uname -a вместе с output lsb_release и /etc/os-release.

Альтернативные и дополнительные команды

Команда uname — не единственный инструмент для получения системной информации. Рассмотрите следующие альтернативы:

  • lshw — подробный список аппаратных компонентов (CPU, память, диски, контроллеры USB).
  • lscpu — сводка по CPU и архитектуре.
  • lsblk, fdisk, df — для информации о дисках и файловых системах.
  • hostnamectl — управление и вывод информации о хосте, интеграция с systemd.
  • cat /etc/os-release или lsb_release -a — для детальной информации о дистрибутиве.

Выбор зависит от цели: для быстрой проверки подходит uname, для глубокого аудита — lshw и соответствующие утилиты.

Шпаргалка быстрого доступа (Cheat sheet)

  • uname -s — имя ядра
  • uname -r — релиз ядра
  • uname -v — версия ядра / дата билда
  • uname -m — архитектура машины
  • uname -p — тип процессора (если поддерживается)
  • uname -i — аппаратная платформа (если поддерживается)
  • uname -n — сетевой узел/hostname
  • uname -o — операционная система
  • uname -a — всё в одной строке

Использование в скриптах:

KERNEL=$(uname -r)
ARCH=$(uname -m)
if [ "$ARCH" = "x86_64" ]; then
  echo "64-bit system"
fi

Чек-листы по ролям

Администратор (sysadmin):

  • Проверить uname -r перед установкой модулей ядра.
  • Сравнить uname -a на разных серверах для выявления несоответствий.
  • Собирать uname -a для инвентаризации хостов.

Инженер DevOps:

  • В скриптах развёртывания использовать uname -m для выбора артефактов.
  • Логгировать uname -a в CI/CD job outputs для трассировки проблем.

Служба поддержки (helpdesk):

  • Просить пользователя прислать вывод uname -a при обращении о проблемах с совместимостью.
  • Использовать uname -n для проверки, что клиент подключён к правильному хосту.

Разработчик драйверов/модулей:

  • Сверять таргет-версию ядра (uname -r) с заголовками ядра.
  • Проверять наличие CONFIG_ опций в конфигурации ядра при отладке.

Методология применеия uname в автоматизации

  1. Собирать минимально необходимую информацию (обычно -m и -r).
  2. Нормализовать вывод в скриптах (убрать лишние пробелы, использовать переменные).
  3. Логировать результаты и привязывать к идентификатору билда/инвентаря.
  4. При несовпадении версий — отклонять установку и выводить понятное сообщение.

Пример процедуры в скрипте:

# Проверка совместимости ядра перед установкой
REQUIRED_KERNEL="6.2.0"
CUR_KERNEL=$(uname -r | cut -d- -f1)
if [ "${CUR_KERNEL%%.*}" -lt "${REQUIRED_KERNEL%%.*}" ]; then
  echo "Требуется ядро ${REQUIRED_KERNEL} или новее. Текущая версия: $CUR_KERNEL"
  exit 1
fi

Когда uname может подвести: типичные ограничения

  • Опции -p и -i не поддерживаются на всех платформах; вывод может быть неизвестным или “unknown”.
  • uname не даёт подробной информации о версиях пакетов или драйверов — для этого нужны другие утилиты (modinfo, dpkg/rpm).
  • uname показывает информацию только о запущенном ядре, а не о доступных заголовках или исходниках.

Противоположный пример: если требуется информация о микрокоде CPU или об отдельных моделях дисков — uname бесполезен.

Совместимость и миграция

При миграции серверов обратите внимание на следующее:

  • Сравнивайте uname -r и uname -m на старом и новом хосте.
  • При смене архитектуры (x86_64 → arm64) пересобирайте бинарники и зависимости.
  • Убедитесь, что конфигурация grub и initramfs соответствуют новому ядру; uname покажет только результат после загрузки.

Безопасность и приватность

  • Вывод uname не содержит конфиденциальных данных по умолчанию, однако в корпоративном окружении логирование uname -a может раскрыть версию ядра и детали сборки, которые помогают злоумышленнику в подборе эксплойтов. Логируйте и публикуйте такую информацию осознанно.
  • Ограничьте доступ к деталям билда ядра в публичных отчетах.

Тестовые случаи и критерии приёмки

Критерии приёмки для автоматизированной проверки скрипта, который использует uname:

  • Скрипт корректно считывает uname -r и uname -m на x86_64 и i686 системах.
  • При неподдерживаемом поле (-p или -i) скрипт обрабатывает значение “unknown” как допустимое.
  • Логи содержат uname -a перед выполнением критичных операций (установка модулей, обновление ядра).

Примеры тест-кейсов:

  • Запустить на VM с ядром 6.x, проверить, что uname -r начинается с 6.
  • Запустить на 32‑битной среде, проверить, что uname -m возвращает i686 или аналог.
  • Смоделировать недоступность поля -p и убедиться, что скрипт не падает.

Примеры и шаблоны (Templates)

Шаблон команды для инвентаризации хостов (однострочник для Ansible/SSH):

ssh root@host "uname -a; lsb_release -a 2>/dev/null || cat /etc/os-release"

CSV-шаблон для сбора сведений о группе хостов:

hostnamekernelkernel_versionarchos
$(uname -n)$(uname -s)$(uname -r)$(uname -m)$(uname -o)

Сводка фактов

  • uname — лёгкая, кросс-платформенная команда, полезная для быстрых проверок.
  • Не заменяет глубокие системные утилиты, но обязателен в арсенале администратора.

Важно: uname показывает состояние загруженного ядра, а не полностью описывает состояние пакетов или модулей.

Часто задаваемые вопросы

Что показывает uname -a?

uname -a объединяет большинство полей: имя ядра, имя узла, релиз и версию ядра, архитектуру машины и ОС.

Почему uname -p показывает unknown?

Поле -p зависит от реализации libc/ядра и может быть не поддержано на некоторых платформах. В таких случаях возвращается “unknown”.

Как использовать uname в скриптах для выбора пакетов?

Сравнивайте uname -m и заранее поддерживаемые архитектуры; при несовпадении — выдавайте понятное сообщение и прерывайте установку.


Короткое резюме:

  • Используйте uname для быстрой диагностики и валидации окружения.
  • Для подробного аудита комбинируйте uname с lshw, lscpu и /etc/os-release.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство