15%

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

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

Используйте код:

Skills
Начать
31.10.2024

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

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

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

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

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

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

Метод 1: использование команды cat для чтения /etc/centos-release

Это самый быстрый и простой метод. CentOS хранит информацию о версии в специальном файле выпуска, расположенном в /etc/centos-release.

Команда:

cat /etc/centos-release

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

CentOS Linux release 8.5.2111 (Core)

Эта одна строка дает вам полную строку версии, включая основную версию (8), дополнительную версию (5) и тег сборки (2111). Это команда по умолчанию для быстрой проверки версии, удобной для чтения, и работает практически на каждой установке CentOS без каких-либо дополнительных пакетов.

Метод 2: использование hostnamectl для сведений о системе и ОС

Команда hostnamectl — это утилита systemd, которая предоставляет более широкий обзор вашей системы, включая имя операционной системы, версию и ядро. Это особенно полезно на CentOS 7 и CentOS 8, которые оба основаны на systemd.

Команда:

hostnamectl

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

   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

Обратите внимание на строки Operating System и Kernel. Этот метод особенно ценен, когда вам нужна как версия ОС, так и версия ядра в одной команде, что делает его идеальным для быстрых аудитов системы.

Метод 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, например, можно легко извлечь в скриптах оболочки, используя инструменты, такие как 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Версия ядраНет

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

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

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

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

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

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

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

Рассмотрения конца жизни версии CentOS

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

  • CentOS 6: Конец жизни — 30 ноября 2020 г.
  • CentOS 7: Конец жизни — 30 июня 2024 г.
  • CentOS 8
15%

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

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

Используйте код:

Skills
Начать