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, например, може лесно да бъде извлечено в 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
15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало