Jak sprawdzić wersję CentOS: Kompletny przewodnik (wszystkie metody)
Dokładne poznanie wersji CentOS działającej na serwerze to umiejętność fundamentalna dla każdego administratora systemu. Niezależnie od tego, czy instalujesz kompatybilne pakiety oprogramowania, rozwiązujesz problemy systemowe, planujesz migrację systemu operacyjnego czy zarządzasz aktualizacjami bezpieczeństwa, posiadanie dokładnych informacji o wersji jest krytyczne. Na szczęście CentOS udostępnia wiele niezawodnych poleceń do pobrania tych danych — a ten przewodnik szczegółowo omawia każde z nich.
Dlaczego sprawdzanie wersji CentOS ma znaczenie
Przed przejściem do poleceń warto zrozumieć, *dlaczego* świadomość wersji jest tak ważna w środowiskach produkcyjnych:
- Kompatybilność oprogramowania: Wiele pakietów i zależności jest powiązanych z konkretnymi wersjami głównymi lub mniejszymi CentOS.
- Łatanie bezpieczeństwa: Znając swoją wersję, możesz zidentyfikować, które CVE dotyczą Twojego systemu i które łatki są dostępne.
- Planowanie końca wsparcia: CentOS 8 osiągnął koniec wsparcia 31 grudnia 2021 r. Jeśli nadal go uruchamiasz, musisz o tym wiedzieć — i zaplanować migrację.
- Wsparcie i rozwiązywanie problemów: Otwierając zgłoszenie do obsługi lub konsultując dokumentację, informacje o wersji są zawsze jedną z pierwszych rzeczy, o które się pyta.
Jeśli uruchamiasz środowisko VPS Hosting lub Serwer Dedykowany, śledzenie wersji systemu operacyjnego jest niezbędną częścią odpowiedzialnego zarządzania serwerem.
Metoda 1: Używanie polecenia cat do odczytania /etc/centos-release
To najszybsza i najprostsza metoda. CentOS przechowuje informacje o wersji w dedykowanym pliku wydania znajdującym się w /etc/centos-release.
Polecenie:
cat /etc/centos-releasePrzykładowe wyjście:
CentOS Linux release 8.5.2111 (Core)Ten pojedynczy wiersz daje pełny ciąg wersji, w tym wersję główną (8), wersję mniejszą (5.2111) i tag kompilacji (5.2111). To polecenie do wyboru dla szybkiego sprawdzenia wersji czytelnej dla człowieka i działa na praktycznie każdej instalacji CentOS bez dodatkowych pakietów.
Metoda 2: Używanie hostnamectl do szczegółów systemu i systemu operacyjnego
Polecenie hostnamectl to narzędzie systemd, które zapewnia szerszy przegląd systemu, w tym nazwę systemu operacyjnego, wersję i jądro. Jest to szczególnie przydatne na CentOS 7 i CentOS 8, które oba są oparte na systemd.
Polecenie:
hostnamectlPrzykładowe wyjście:
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-64Zwróć uwagę na wiersze Operating System i Kernel. Ta metoda jest szczególnie cenna, gdy potrzebujesz zarówno wersji systemu operacyjnego, jak i wersji jądra w jednym poleceniu, co czyni ją idealną do szybkich audytów systemu.
Metoda 3: Zapytanie bazy danych pakietów RPM
Ponieważ CentOS jest dystrybucją opartą na RPM, informacje o wersji są również osadzone w zainstalowanym pakiecie RPM o nazwie centos-release. Możesz go zapytać bezpośrednio za pomocą polecenia rpm.
Polecenie:
rpm -q centos-releasePrzykładowe wyjście:
centos-release-8.5-4.2111.el8.x86_64To wyjście jest szczególnie precyzyjne — ujawnia dokładną wersję pakietu wydania, w tym architekturę (x86_64). Ta metoda jest przydatna w scenariuszach skryptowych, gdzie potrzebujesz ciągu parsowanego przez maszynę lub chcesz zweryfikować integralność samego pakietu wydania.
Metoda 4: Odczytanie /etc/os-release dla szczegółowych informacji o dystrybucji
Plik /etc/os-release to standardowy plik obecny na praktycznie wszystkich nowoczesnych dystrybucjach Linux. Zawiera ustrukturyzowane informacje klucz-wartość o systemie operacyjnym i jest powszechnie używany przez skrypty, narzędzia zarządzania konfiguracją (takie jak Ansible lub Puppet) i środowiska uruchomieniowe kontenerów.
Polecenie:
cat /etc/os-releasePrzykładowe wyjście:
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/"To jest metoda najbogatsza w informacje i jest preferowanym podejściem do automatyzacji. Pole VERSION_ID można na przykład łatwo wyodrębnić w skryptach powłoki za pomocą narzędzi takich jak grep lub awk:
grep VERSION_ID /etc/os-releaseWyjście:
VERSION_ID="8"Metoda 5: Używanie lsb_release (Linux Standard Base)
Polecenie lsb_release jest częścią specyfikacji Linux Standard Base i dostarcza dane identyfikacyjne dystrybucji. Na CentOS może nie być zainstalowane domyślnie, ale można je łatwo dodać.
Sprawdź, czy jest dostępne:
lsb_release -aJeśli nie jest zainstalowane, dodaj je za pomocą:
sudo yum install -y redhat-lsb-corePrzykładowe wyjście po instalacji:
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: CoreChociaż ta metoda wymaga dodatkowego pakietu, ustrukturyzowane wyjście (szczególnie pole Release) jest przydatne dla skryptów, które muszą pozostać kompatybilne na wielu dystrybucjach Linux.
Metoda 6: Sprawdzanie wersji jądra za pomocą uname
Polecenie uname raportuje informacje o jądrze. Chociaż nie raportuje bezpośrednio wersji CentOS, ciąg wersji jądra jest ściśle powiązany z konkretnymi wydaniami CentOS i może być używany do odsyłania wersji systemu operacyjnego, gdy pliki wydania są niedostępne lub uszkodzone.
Polecenie:
uname -rPrzykładowe wyjście:
4.18.0-305.el8.x86_64Tag el8 w ciągu wersji jądra potwierdza, że jest to system CentOS/RHEL 8. Aby uzyskać bardziej kompletny przegląd systemu, użyj:
uname -aJest to szczególnie pomocne w minimalnych obrazach kontenerów lub środowiskach chroot, gdzie /etc/os-release może nie być obecny.
Szybka referencja: Wszystkie polecenia na pierwszy rzut oka
Oto skonsolidowane podsumowanie wszystkich metod omówionych w tym przewodniku:
| Polecenie | Co pokazuje | Wymaga dodatkowego pakietu? |
|---|---|---|
cat /etc/centos-release | Pełny ciąg wersji | Nie |
hostnamectl | Nazwa systemu operacyjnego, wersja, jądro | Nie (wymagany systemd) |
rpm -q centos-release | Dokładny pakiet wydania RPM | Nie |
cat /etc/os-release | Ustrukturyzowane metadane systemu operacyjnego | Nie |
lsb_release -a | Informacje o dystrybucji LSB | Tak (redhat-lsb-core) |
uname -r | Wersja jądra | Nie |
Bonus: Programowe wyodrębnianie wersji
Jeśli piszesz skrypt powłoki lub używasz narzędzia do zarządzania konfiguracją, możesz chcieć wyodrębnić tylko numer wersji czyszczony. Oto dwie praktyczne jednolinijkowce:
Wyodrębnij tylko wersję główną:
rpm -q --queryformat '%{VERSION}' centos-releaseUżywając grep na pliku wydania:
awk '{print $4}' /etc/centos-releaseTe podejścia są szczególnie przydatne w zautomatyzowanych skryptach inicjowania obsługi na Panelach sterowania VPS lub podczas wdrażania aplikacji na wielu serwerach.
Uwagi dotyczące końca wsparcia wersji CentOS
Ważne jest zwrócenie uwagi na obecny status wsparcia wersji CentOS:
- CentOS 6: Koniec wsparcia — 30 listopada 2020 r.
- CentOS 7: Koniec wsparcia — 30 czerwca 2024 r.
- CentOS 8: Koniec wsparcia — 31 grudnia 2021 r.
- CentOS Stream 8/9: Wydanie kroczące, aktywnie utrzymywane
Jeśli sprawdzenie wersji ujawni, że uruchamiasz wydanie CentOS, które nie jest już wspierane, powinieneś priorytetowo przeprowadzić migrację do obsługiwanej dystrybucji, takiej jak AlmaLinux, Rocky Linux lub CentOS Stream. Uruchamianie nieobsługiwanego systemu operacyjnego naraża serwer na niezałatane luki w zabezpieczeniach, co jest szczególnie
