Как проверить версию 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:
hostnamectlExample 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-64Focus 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, осведомленность о версии — это основа каждой другой административной задачи, которую вы будете выполнять.
на всех хостинговых услугах