Как да проверите версията на 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, например, може лесно да бъде извлечено в 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:
- C
