Az elmúlt hetekben nagy botrányt kavart a Red Hat bejelentése, miszerint a CentOS 8 támogatási idejét a tervezett 2029-ről 2021 decemberéig biztosítja, egyúttal a továbbiakban kizárólag a CentOS Stream verzió lesz majd elérhető. Ez elsőre ijesztőnek hangzik, de én azt mondom, hogy várjuk ki a végét és gondoljuk át egy kicsit jobban a helyzetet. Akkor most mi legyen? Migráljunk? Várjunk? Ha elfogy a támogatás, hogyan lehet migrálni Stream verzióra?

Korábban a Red Hat felépítése a következőképpen nézett ki. Ami bevált a Fedorában, az bekerült a Red Hat-be majd abból készült a CentOS. Most arra szeretnének átállni, hogy ami beválik a Fedorában, az bekerül a CentOS-be majd onnan a Red Hat-be. Akkor vegyünk egy mély levegőt és gondoljuk át ezt az egészet egy kicsit.

Nos! Vegyük figyelembe a következőket! (A teljesség igénye nélkül) A CentOS most már a Red Hat tulajdona. A Red Hat fejlesztői készítik ugyanazon irányelvek és minőségellenőrzés alapján mint a RHEL-t. A Stream verzió után nem szeretnének két külön verziót karban tartani. A fejlesztők azt ígérik, hogy pontosan ugyanazok a javítások, programok, komponensek fognak bekerülni a CentOS-be mint a RHEL-be, annyi különbséggel, hogy mostantól előbb a Fedorrában bevállt komponensek először CentOS-be kerülnek be és csak aztán a RHEL-be.

Persze a CentOS régi fejlesztői berágtak és nekiestek a Rocky Linux projektnek ami elmondásuk alapján ugyanolyan lesz mint a korábbi CentOS kiadások, tehát a komponensek a RHEL-ben való megjelenés után lesznek belerakva. Egyenlőre ez a kezdeményezés még gyerekcipőben jár, mindazonáltal ha kész lesz, akkor érdemes lehet vele megpróbálkozni, viszont évek kellenek hozzá, hogy a vállalatok megbízzanak benne. Mondjuk én várom a megjelenését és már szívesen tesztelném, de addig mit csináljunk?

Mitől is félnek a rendszergazdák? Attól, hogy a régi atomstabil CentOS egy fejlesztői változattá avanzsál ami már nem fogja hozni a kívánt stabilitást. Ennek némiképpen ellentmondanak a Red Hat közleményei és a fentebb leírt dolgok.

Ne feledkezzünk meg a következőkről: A piaci trendek a rolling update felé mennek. A Fedorában és más termékcsaládoknál ez jól működik. Lassan közeleg a korszak amikor már nem a hagyományos OS-ek fogják jelenteni az infrastruktúrák alapját, hanem a rendszerek alapja egy platform operációs rendszer lesz ami platformot, életciklust és teljeskörű automatizációt, üzemeltetést biztosít egy közös felületen. Lásd! Red Hat termékek: OpenStack Platform vagy a konténer technológiás OpenCloud és a további Red Hat komponensek mint az Ansible Tower, Satellite és még sorolhatnám.

Szóval eljön az idő amikor nem telepítésben, hanem életciklusokban kell gondolkodjunk. A többit a platform fogja végezni. Ebbe a trendbe beleillik a rolling update modell. Például konténereknél nincs is sok értelme a különböző verzióknak, hiszen frissítés-váltás esetén teljesen új konténert kell készíts.

Na de hogy lesz stabil egy Stream verzió? Ne feledkezzünk meg róla, hogy a RHEL8-ban debütáltak a yum modulok! Ez nagy vonalakban arról szól, hogy nem egy rpm-et telepítünk, hanem egy összetartozó programcsoportot, úgynevezett modult a yum modulinstall <modulnév> paranccsal. Az így telepített modulok a szokásos napi upgrade során nem lesznek felülírva, mert a modul biztosítja, hogy az összetartozó stabil verziók együtt maradjanak. Nem írom le most a modulok működését, mert másról akarok írni. Nézz utána! Ami biztos, hogy ha van egy szervered és azon szolgáltatást akarsz telepíteni, akkor amennyiben létezik rá modul, akkor abból telepítsd és a rendszered sokkal stabilabb lesz.

Azt akarom ezzel mondani, hogy a modul stream-ek segítségével elérhető az a stabilitás amire vágyunk még egy rolling update esetén is. Amikor kiadod a yum update parancsot, akkor mi is történik? Gyakorlatilag verziót is frissítesz mint egy rolling update-et végeznél el.

Szóval szerintem ettől nem kell félni. Várjuk ki a végét, mert 2021 még messze van. Na de mit csináljunk 2021 decembere után? A jó hír, hogy már ez is meg van oldva. Na most értünk oda, amiért belekezdtem ebbe a cikkbe. Át kell váltsál CentOS 8 verzióról CentOS Stream verzióra az alábbi módon.

Lépjünk be root-ként vagy sudóval adjuk ki az alábbi parancsokat:

Ellenőrizzük a release verziót!

[root@centos8-migrate ~]# cat /etc/redhat-release 
CentOS Linux release 8.2.2004 (Core)

Ez elég öreg. Frissítsük a rendszert a legújabb verzióra! Ha kernelt is frissítettünk, akkor indítsuk újra a gépet.

[root@centos8-migrate ~]# dnf update -y

Ellenőrizzük újra a release verziót!

[root@centos8-migrate ~]# cat /etc/redhat-release 
CentOS Linux release 8.3.2011

Nézzük csak meg milyen repók vannak most engedélyezve!

[root@centos8-migrate ~]# yum repolist all
tároló azonosító tároló neve állapot
appstream CentOS Linux 8 - AppStream engedélyezett
appstream-source CentOS Linux 8 - AppStream - Source tiltott
baseos CentOS Linux 8 - BaseOS engedélyezett
baseos-source CentOS Linux 8 - BaseOS - Source tiltott
cr CentOS Linux 8 - ContinuousRelease tiltott
debuginfo CentOS Linux 8 - Debuginfo tiltott
devel CentOS Linux 8 - Devel WARNING! FOR BUILDROOT USE ONLY! tiltott
extras CentOS Linux 8 - Extras engedélyezett
extras-source CentOS Linux 8 - Extras - Source tiltott
fasttrack CentOS Linux 8 - FastTrack tiltott
ha CentOS Linux 8 - HighAvailability tiltott
media-appstream CentOS Linux 8 - Media - AppStream tiltott
media-baseos CentOS Linux 8 - Media - BaseOS tiltott
plus CentOS Linux 8 - Plus tiltott
plus-source CentOS Linux 8 - Plus - Source tiltott
powertools CentOS Linux 8 - PowerTools tiltott

Rakjuk fel a Stream repókat!

dnf install centos-release-stream -y

Meg is jelentek a repók a helyükön.

[root@centos8-migrate ~]# ll /etc/yum.repos.d/
összesen 84
-rw-r--r--. 1 root root 719 nov 10 01.32 CentOS-Linux-AppStream.repo
-rw-r--r--. 1 root root 704 nov 10 01.32 CentOS-Linux-BaseOS.repo
-rw-r--r--. 1 root root 1130 nov 10 01.32 CentOS-Linux-ContinuousRelease.repo
-rw-r--r--. 1 root root 318 nov 10 01.32 CentOS-Linux-Debuginfo.repo
-rw-r--r--. 1 root root 732 nov 10 01.32 CentOS-Linux-Devel.repo
-rw-r--r--. 1 root root 704 nov 10 01.32 CentOS-Linux-Extras.repo
-rw-r--r--. 1 root root 719 nov 10 01.32 CentOS-Linux-FastTrack.repo
-rw-r--r--. 1 root root 740 nov 10 01.32 CentOS-Linux-HighAvailability.repo
-rw-r--r--. 1 root root 693 nov 10 01.32 CentOS-Linux-Media.repo
-rw-r--r--. 1 root root 706 nov 10 01.32 CentOS-Linux-Plus.repo
-rw-r--r--. 1 root root 724 nov 10 01.32 CentOS-Linux-PowerTools.repo
-rw-r--r--. 1 root root 898 nov 10 01.32 CentOS-Linux-Sources.repo
-rw-r--r--. 1 root root 725 2019 dec 19 CentOS-Stream-AppStream.repo
-rw-r--r--. 1 root root 706 2019 dec 19 CentOS-Stream-Base.repo
-rw-r--r--. 1 root root 796 2019 dec 19 CentOS-Stream-centosplus.repo
-rw-r--r--. 1 root root 666 2019 dec 19 CentOS-Stream-Debuginfo.repo
-rw-r--r--. 1 root root 750 2019 dec 19 CentOS-Stream-Extras.repo
-rw-r--r--. 1 root root 932 2019 dec 19 CentOS-Stream-Media.repo
-rw-r--r--. 1 root root 730 2019 dec 19 CentOS-Stream-PowerTools.repo
-rw-r--r--. 1 root root 1374 2019 dec 19 CentOS-Stream-Sources.repo
-rw-r--r--. 1 root root 74 2019 dec 19 CentOS-Stream-Vault.rep

Láthatjuk, hogy már engedélyezve is vannak:

[root@centos8-migrate ~]# yum repolist all
tároló azonosító tároló neve állapot
Stream-AppStream CentOS-Stream - AppStream engedélyezett
Stream-AppStream-source CentOS-Stream - AppStream Sources tiltott
Stream-BaseOS CentOS-Stream - Base engedélyezett
Stream-BaseOS-source CentOS-Stream - BaseOS Sources tiltott
Stream-PowerTools CentOS-Stream - PowerTools tiltott
Stream-base-debuginfo CentOS-Stream - Debuginfo tiltott
Stream-centosplus CentOS-Stream - Plus tiltott
Stream-centosplus-source CentOS-Stream - Plus Sources tiltott
Stream-extras CentOS-Stream - Extras engedélyezett
Stream-extras-source CentOS-Stream - Extras Sources tiltott
appstream CentOS Linux 8 - AppStream engedélyezett
appstream-source CentOS Linux 8 - AppStream - Source tiltott
baseos CentOS Linux 8 - BaseOS engedélyezett
baseos-source CentOS Linux 8 - BaseOS - Source tiltott
c8-Stream-media-AppStream CentOS-Stream-AppStream - Media tiltott
c8-Stream-media-BaseOS CentOS-Stream-BaseOS - Media tiltott
cr CentOS Linux 8 - ContinuousRelease tiltott
debuginfo CentOS Linux 8 - Debuginfo tiltott
devel CentOS Linux 8 - Devel WARNING! FOR BUILDROOT USE ONLY! tiltott
extras CentOS Linux 8 - Extras engedélyezett
extras-source CentOS Linux 8 - Extras - Source tiltott
fasttrack CentOS Linux 8 - FastTrack tiltott
ha CentOS Linux 8 - HighAvailability tiltott
media-appstream CentOS Linux 8 - Media - AppStream tiltott
media-baseos CentOS Linux 8 - Media - BaseOS tiltott
plus CentOS Linux 8 - Plus tiltott
plus-source CentOS Linux 8 - Plus - Source tiltott
powertools CentOS Linux 8 - PowerTools tiltott

Itt az ideje elindítani a rendszerünk migrálását Stream verzióra.

[root@centos8-migrate ~]# dnf distro-sync -y

Indítsunk újra!

[root@centos8-migrate ~]# reboot

Ellenőrizzük újra a verziót!

[root@centos8-migrate ~]# cat /etc/redhat-release 
CentOS Stream release 8

Tádáááám! Sikerült átállni Stream verzióra. Ennyi volt az átállás és máris működik tovább a szervered, csak már Stream verzióként.

Ettől függetlenül a szolgáltatások üzemeltetésénél maradnék a modulok használatánál és a frissítésekből csak azokat raknám fel amik a szolgáltatáshoz nélkülözhetetlenek. Mint bármely más éles rendszer esetén.