Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код: Skills Начать
Рубрики
Linux

Как проверить версию CentOS: полное руководство (все методы)

Знание точной версии CentOS, работающей на вашем сервере, является фундаментальным навыком для любого системного администратора. Независимо от того, устанавливаете ли вы совместимые пакеты программного обеспечения, устраняете проблемы с системой, планируете миграцию ОС или управляете обновлениями безопасности, наличие точной информации о версии имеет решающее значение. К счастью, CentOS предоставляет несколько надежных команд для получения этих данных — и это руководство подробно охватывает каждую из них.

Почему проверка версии CentOS важна

Прежде чем переходить к командам, стоит понять, *почему* осведомленность о версии так важна в production-среде:

  • Совместимость программного обеспечения: Многие пакеты и зависимости привязаны к конкретным основным или дополнительным версиям CentOS.
  • Патчи безопасности: Знание вашей версии помогает определить, какие CVE применяются к вашей системе и какие патчи доступны.
  • Планирование конца жизни: CentOS 8 достиг конца жизни 31 декабря 2021 года. Если вы все еще его используете, вам нужно это знать — и спланировать миграцию.
  • Поддержка и устранение неполадок: При открытии тикета поддержки или консультации документации информация о версии всегда запрашивается в первую очередь.

Если вы используете VPS Hosting или Dedicated Server, отслеживание версии вашей ОС — это неотъемлемая часть ответственного управления сервером.

Method 1: Using the cat Command to Read /etc/os-release

This is the fastest and most straightforward method. CentOS stores its version information in a dedicated release file located at /etc/os-release.

Command:

cat /etc/os-release

Example output:

NAME=”CentOS Linux”
VERSION=”7 (Core)”
ID=”centos”
VERSION_ID=”7″
PRETTY_NAME=”CentOS Linux 7 (Core)”

This single line gives you the full version string, including the major version (7), the minor version (Core), and the build tag (x86_64). This is the go-to command for a quick, human-readable version check and works on virtually every CentOS installation without any additional packages.

Method 2: Using hostnamectl for System and OS Details

The hostnamectl command is a systemd utility that provides a broader overview of your system, including the operating system name, version, and kernel. It is particularly useful on CentOS 7 and CentOS 8, which are both systemd-based.

Command:

hostnamectl

Example output:

   Static hostname: myserver.example.com
         Icon name: computer-vm
           Chassis: vm
        Machine ID: a1b2c3d4e5f6...
           Boot ID: f6e5d4c3b2a1...
    Virtualization: kvm
  Operating System: CentOS Linux 8 (Core)
       CPE OS Name: cpe:/o:centos:centos:8
            Kernel: Linux 4.18.0-305.el8.x86_64
      Architecture: x86-64

Focus on the Operating System and Kernel lines. This method is especially valuable when you need both the OS version and kernel version in a single command, making it ideal for quick system audits.

Метод 3: Запрос к базе данных пакетов RPM

Поскольку CentOS является дистрибутивом на основе RPM, информация о версии также встроена в установленный пакет RPM под названием centos-release. Вы можете запросить его напрямую, используя команду rpm.

Команда:

rpm -q centos-release

Пример вывода:

centos-release-8.5-4.2111.el8.x86_64

Этот вывод особенно точен — он раскрывает точную версию пакета выпуска, включая архитектуру (x86_64). Этот метод полезен в сценариях скриптинга, когда вам нужна строка, пригодная для машинной обработки, или вы хотите проверить целостность самого пакета выпуска.

Способ 4: Чтение /etc/os-release для получения подробной информации о распределении

Файл /etc/os-release — это стандартизированный файл, присутствующий практически на всех современных дистрибутивах Linux. Он предоставляет структурированную информацию в формате ключ-значение об ОС и обычно используется скриптами, инструментами управления конфигурацией (такими как Ansible или Puppet) и контейнерными средами выполнения.

Команда:

cat /etc/os-release

Пример вывода:

NAME="CentOS Linux"
VERSION="8 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

Это наиболее информативный метод и предпочтительный подход для автоматизации. Поле VERSION_ID, например, можно легко извлечь в shell-скриптах, используя такие инструменты как grep или awk:

grep VERSION_ID /etc/os-release

Вывод:

VERSION_ID="8"

Метод 5: Использование lsb_release (Linux Standard Base)

Команда lsb_release является частью спецификации Linux Standard Base и предоставляет данные идентификации дистрибутива. На CentOS она может быть не установлена по умолчанию, но её легко можно добавить.

Проверьте, доступна ли она:

lsb_release -a

Если не установлена, добавьте её с помощью:

sudo yum install -y redhat-lsb-core

Пример вывода после установки:

LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 8.5.2111 (Core)
Release:        8.5.2111
Codename:       Core

Хотя этот метод требует дополнительного пакета, структурированный вывод (особенно поле Release) полезен для скриптов, которые должны оставаться совместимыми с несколькими дистрибутивами Linux.

Метод 6: Проверка версии ядра с uname

Команда uname выводит информацию о ядре. Хотя она не сообщает напрямую версию CentOS, строка версии ядра тесно связана с конкретными выпусками CentOS и может использоваться для перекрестной ссылки версии ОС, когда файлы выпуска недоступны или повреждены.

Команда:

uname -r

Пример вывода:

4.18.0-305.el8.x86_64

Тег el8 в строке ядра подтверждает, что это система CentOS/RHEL 8. Для более полного обзора системы используйте:

uname -a

Это особенно полезно в минимальных образах контейнеров или окружениях chroot, где /etc/centos-release может отсутствовать.

Краткая справка: все команды с одного взгляда

Вот сводка всех методов, описанных в этом руководстве:

КомандаЧто показываетТребует дополнительный пакет?
cat /etc/centos-releaseПолная строка версииНет
hostnamectlИмя ОС, версия, ядроНет (требуется systemd)
rpm -q centos-releaseТочный пакет выпуска RPMНет
cat /etc/os-releaseСтруктурированные метаданные ОСНет
lsb_release -aИнформация о распределении LSBДа (redhat-lsb-core)
uname -rВерсия ядраНет

Бонус: Извлечение версии программным способом

Если вы пишете shell-скрипт или используете инструмент управления конфигурацией, вам может потребоваться чистое извлечение только номера версии. Вот два практических однострочника:

Извлечение только основной версии:

rpm -q --queryformat '%{VERSION}' centos-release

Использование awk в файле релиза:

awk '{print $4}' /etc/centos-release

Эти подходы особенно полезны в автоматизированных скриптах подготовки на VPS Control Panels или при развертывании приложений на нескольких серверах.

Рекомендации по окончанию поддержки версий CentOS

Важно учитывать текущий статус поддержки версий CentOS:

  • CentOS 6: Конец поддержки — 30 ноября 2020 г.
  • CentOS 7: Конец поддержки — 30 июня 2024 г.
  • CentOS 8: Конец поддержки — 31 декабря 2021 г.
  • CentOS Stream 8/9: Постоянно обновляемый релиз, активно поддерживается

Если проверка версии показывает, что вы используете CentOS с истекшей поддержкой, следует приоритизировать миграцию на поддерживаемый дистрибутив, такой как AlmaLinux, Rocky Linux или CentOS Stream. Использование неподдерживаемой ОС подвергает ваш сервер риску непатченных уязвимостей, что особенно опасно для инфраструктуры, доступной из интернета.

При миграции или настройке новой серверной среды рассмотрите возможность дополнить развертывание надлежащим SSL сертификатом и зарегистрированным доменом, чтобы обеспечить безопасность и профессиональную доступность ваших сервисов с первого дня.

Заключение

Проверка версии CentOS — это простая, но важная задача, которую должен уметь выполнять каждый системный администратор. С шестью различными методами — от чтения файлов релиза до запроса базы данных RPM — у вас есть несколько надежных вариантов независимо от окружения или ограничений, с которыми вы работаете.

Лучший метод для большинства пользователей — cat /etc/centos-release благодаря его простоте, в то время как cat /etc/os-release является предпочтительным выбором для написания скриптов и автоматизации. Используйте hostnamectl когда вам нужен быстрый обзор информации об ОС и ядре в одной команде.

Осведомленность о версии вашей ОС — это только первый шаг в поддержании здорового, безопасного и хорошо управляемого сервера. Управляете ли вы одним VPS с cPanel или контролируете парк Dedicated Servers, осведомленность о версии — это основа каждой другой административной задачи, которую вы будете выполнять.