Ritkán veszem rá magam a disztró blogolásra, amelynek egyik oka, hogy jó ideje nem volt szükségem a váltásra, remekül megvoltam Fedorán, így nem voltak új tapasztalataim, illetve akárhányszor leírja valaki a véleményét bármilyen platformon egy-egy disztróval kapcsolatban, általában a kommentekben elindul egymás savazása, hogy melyik disztró a legjobb és miért. Ezt a felesleges flamet szeretném elkerülni azzal, hogy már most leszögezem: minden, ami a továbbiakban olvasható, csupán személyes vélemény és kizárólag az én személyes preferenciáimat tükrözik. Szerintem nincs olyan, hogy tökéletes disztró, mindenkinek más igényei vannak és mindenki azt használ, ami jól esik neki.
Az igazat megvallva, eddig nem használtam olyan sok disztrót. Annak idején a Debiannal kezdtem szerveren és nagyon szimpatikus volt az, hogy a csomagkezelő (apt-get) automatikusan telepíti a programok függőségeit, nekem ez új dolog volt. Jól elvoltam a rendszerrel szerveren, de valamiért az a hiedelem volt meg bennem, hogy a grafikus felület nem egy igazán moduláris dolog a rendszerben és nem nagyon lehet váltani egyszerűen valami számomra szimpatikusabb felületre. A Debianból pedig egy tipikus XFCE GUI-ra asszociáltam, ami annak idején nem igazán volt szimpatikus. Ezért teljesen kezdőként az Ubuntu felé kezdtem el kacsintgatni desktopon, amit utána több évig használtam dual bootos Windows-zal. Az Ubuntunak voltak érdekességei, például az alap repositorykban sehol nem volt ffmpeg anno, illetve például a midnight commander sem, mindenféle PPA-kat, meg universe repót kellett engedélyezni ahhoz, hogy ezek a szerintem alap programok felmenjenek. Ezt leszámítva egészen stabil volt a rendszer és akkor magaménak éreztem, egészen addig, amíg a sok hozzáadott PPA meg a universe repó összeakadt a gyári repók csomagjaival és egyik pillanatról a másikra azon kaptam magam, hogy az apt teljesen össze van kavarodva, jó pár csomag conflicting egymással és valahogy eljutott odáig a rendszer, hogy le akarta töröltetni a teljes grafikus felületet a frissítések telepítésére. Természetesen ez részben az én hibám, nem kellett volna annyi repót innen-onnan összeszedni, azonban úgy gondolom, hogy pár alapvető csomag (pl mc) elfért volna a hivatalos repókban. Azóta egyébként nagyon sokat fejlődött az Ubuntu, már elérhető nagyjából minden alapból, amit eddig hiányoltam, de amikor ez a jelenség fennállt, messze nem voltam hozzáértő, próbáltam megoldani a dolgokat és csak még jobban elbarmoltam a helyzetet. Szóval egy ideig kényszerből használtam még az Ubuntut frissítések nélkül, aztán egyszer, amikor volt időm, letúrtam az egész rendszert és elkönyveltem egy nem egészen olyan stabil disztrónak, mint amilyennek mondják.
Úgy gondolom, hogy a mai tapasztalataimmal, illetve a frissebb Ubuntu kiadásokkal nem futnék hasonló dolgokba, de azért nem bántam volna egy kicsivel több útmutatást anno, ha már eleve egy kezdőbarát rendszernek van elkönyvelve. Ugyanakkor a mai napig nem szimpatikus az, hogy SSH-n belépve egy ubuntu szerverre, ott vár egy kilóméter hosszú Canonical hirdetés (nyilván kikapcsolható, de akkor is) motd formában, illetve a snapes irányzat sem tetszik, hogyha az ember fel akar rakni egy mezei böngészőt, az GB-okat akar behúzni magának.
Végül szerveren is lecseréltem majdnem mindenütt a Debiant, mert ugyan jó szolgálatot tett, marhára nem volt szimpatikus, hogy minden csomagból ezeréves fut a rendszeremen funkcionalitás tekintetében. Nyilván voltak security patch backportok, de új funkciókra néha éveket kellett várni. Például a tor már rég támogatta a v3-as, sokkal jövőbiztosabb domaineket, míg a Debianra ha jó emlékszem egy évet kellett várni, mire az alap Debianos tor csomag végre támogatta. Értem én, hogy ennek is van létjogosultsága olyan rendszereken, ahol nem fér bele, hogy pl pár havonta újra legyen indítva a szerver, és ezeknek is van kitalálva a live patch. Node ha eleve frissül a csomag már csak egy security patch kedvéért is, akkor is újra kell indítani legalább az adott programot, ami eleve downtime (hacsak nincs valami load balancer megoldás). De ennyi erővel lehetne minden rolling release is. Maximum azt tudom elképzelni, hogy egy-egy frissítéssel ténylegesen megváltozik a program konfigja és időt kell tölteni a konfigolással, de erre nagyon kevés precedenst láttam, illetve nem hiszem, hogy olyan különösen nagy effort lenne frissíteni néhány nagyon speciális esettől eltekintve. Ajánlották sokan, míg Debiant használtam, hogy ha friss szoftver kell, használjak containereket, illetve fordítsak magamnak forrásból, de utóbbi időigényes volt és sokszor rengeteg függőséget kellett mindig frissen tartani, előbbi pedig rendelkezik némi plusz erőforrásigénnyel, meg miért futtatnék rolling release disztrót a containerben, ha eleve futhat az a hoszton is.
Nyilván van oka a Debian és Ubuntu töretlen népszerűségének, amit én csak nem igazán látok át, így más disztró után néztem. Ekkor jött képbe a Fedora, amit sokan leszólnak, mert:
1.) Red Hat termék (a fizetős Red Hat Enterprise Linux tesztelői melegágya)
2.) jócskán bloated a telepítője
3.) a megjelenési ciklusuk túl rövid (6 hónap), így folyamatosan frissíteni kell a főverziókat, ha az ember támogatást szeretne
4.) a csomagkezelő lassú, mert python alapú (ez elméletileg változni fog a jövőben)
5.) túlságosan makacs, ha a fejlesztők elhatározzák, hogy ne legyen többet swap, hanem zram legyen helyette, akkor az lesz és nem biztosítanak alternatívát. Az embernek magának kell hekkelnie, hogy úgy menjen minden, ahogy szeretné.
Nagyjából ezeket a negatív tapasztalatokat hallottam a Fedoráról, amikkel részben egyet is értek, azonban nekem speciel nem volt gondom a csomagkezelő sebességével. Lehetne gyorsabb és optimálisabb, de nagyon sokoldalú. Egyedül az nem volt nekem szimpatikus, hogy a mindenféle zárt forrású appok nyilvánvalóan nem kerülhetnek fel a Fedora repókba, így kénytelen az ember rpm fusion, vagy flatpak után nézni, hogy mehessen a gépén egy Discord kliens, vagy egy Teams stb. Illetve a SELinux volt az elején nagyon idegen, nagyjából mindenféle próbálkozásom letiltotta, amikor pl webszervert akartam futtatni, de mára teljesen hozzászoktam és megértettem, hogy jobb vele, mint nélküle sok szempontból.
Hallottam olyan kritikákat is a Fedoráról, hogy "nem kihívás telepíteni és használni". Hogy egy SecureBootot nehezen összeszenved az ember Arch alatt például, míg Fedorán gyakorlatilag majdnem alapból tudja a rendszer. Ezt az érvet azonban én személyesen nem látom negatívumnak. Nyilván, akit ez zavar, annak aláírom, nem biztos, hogy a Fedora lesz a megfelelő választás.
A Fedora is jó ideig futott a gépeimen, mígnem kicsit elegem lett a flatpak és az rpm fusion kombinációval, valahányszor egy zárt forrású (proprietary) alkalmazásra lett volna szükségem. Illetve szerettem volna kipróbálni ezt a projektet, nomeg a tapasztalat kedvéért is át akartam állni.
A választásom az Arch felé esett, sok ismerősöm használja megelégedéssel, és első ránézésre nagyon szimpatikusnak tűnt, hogy a telepítés gyakorlatilag a minimum felrakásával kezdődik, aztán azt legózik össze rajta az ember, amire csak szükség van. Az AUR valami eszméletlen, kb mindenre van csomag. Itt biztos nem lesz szükség flatpakozni. Nomeg a dokumentáció részletessége, a mémkultúra, illetve a grafikus telepítő helyetti parancsoros telepítés után azt vártam, hogy ezt a disztrót biztosan csak a nagyon hozzáértők használják. Hát meglepődtem, mert IRC-n napokat eltöltve főként kezdő linuxosok kérdéseit olvasgattam, haladóbb kérdésekre általában nem is jött válasz.
Ennek ellenére felraktam a rendszert. A dokumentáció alapján nagyon egyszerű volt a telepítés, de anélkül is valószínűleg ment volna, mivel szerencsére nem sokban tér el egy átlagos disztró telepítéstől. Amin egyedül meglepődtem a telepítés során, az az arch-chroot parancs. Nem egészen értem, hogy ha önmagában a telepítő nem éppen kezdőbarát, akkor miért kellett egy chroot wrapper szkriptet fabrikálni, ami csak felcsatolja a /dev, /proc, /sys partíciókat, illetve a /etc/resolv.conf-ot intézi, miért nem fért bele ez a pár extra parancs szimplán a leírásba... De ez legyen a legkevesebb. Az installerbe telepített zsh konfiguráció azonban lenyűgözött, meg a pacstrap és a dokumentáció részletessége is.
A telepítést követően lenyűgözött, hogy gyakorlatilag egyetlen gyűjtő parancsot kiadva feltelepül egy komplett grafikus felület, amire épp szükségünk van, de nem bánom. Bár eleinte ellentmondásosnak éreztem egy ilyen egyszerű és csináld magad telepítést követően, de később megszoktam, hogy ha egyszer fut a rendszer és szükség van egy csomagra, tényleg gyerekjáték telepíteni.
Összességében megelégedéssel használtam a rendszert, szinte semmit nem is kellett konfigurálni, minden ment úgy, ahogy kellett neki, leszámítva a hardveres gyorsítást. Ezzel kellett menni pár kört, mert sajnos elég sokszor tapasztaltam, hogy kijött egy electron frissítés és például az összes electron app lefagyott scrollozásnál, vagy egy hétig nem ment a hardveres gyorsítás, mert elbaltáztak valamit, de többnyire legalább jött hamar a fix. Csak sokszor volt, hogy "magától" elromlottak már működő dolgok. Egyszer a kernellel is jártam hasonlóan, hogy nem működött rendesen a gdb debugger, miközben alkalmazást fejlesztettem és kiderült, hogy a legfrissebb kernel az oka. Szerencsére 3 nap alatt érkezett is a fix, de addig nem igazán tudtam dolgozgatni...
Szóval törődést igényelt a rendszer, de összességében nem volt annyira vállalhatatlan feladat a karbantartása. Viszont nagyon szerettem volna SELinuxot a rendszeremre. Fedora alatt megtanultam, hogy igen hasznos tud lenni. Nagyon megörültem, mert volt már wiki cikk, láthatóan igen részletesen is. Illetve sehol nem olvastam sárga keretes figyelmeztetésben, hogy a támogatás még fejlesztői fázisban lenne, illetve volt külön arch refpolicy, így be is ugrottam a mélyvízbe. Bár picit negatívnak hatott, hogy minden selinuxos csomag csak az AUR-ből elérhető, ez legyen a legkevesebb, ha működik mind. Szépen egyesével felraktam az összes leírásban említett csomagot, majd átraktam a kernelt enforcingra. Na ekkor szépen meghalt az összes electron app, a firefox is crashelt, a networkmanager nem indult többet és gyakorlatilag tégla lett a rendszerből. Szerencsére a live telepítőből vissza tudtam hozni a rendszert az életbe és ki tudtam gyomlálni a selinuxos próbálkozások maradványait.
Kiderült számomra, hogy sajnos az Arch is messze van még a teljeskörű SELinux támogatástól és bár az alap csomagokra már van egy működő setup, kb minden egyéb csomaghoz kézzel kellene policyket írni. Amihez kevés vagyok sajnos és azt mondják, hogy az ilyen utólagosan portolt policykkel sosem lesz olyan biztonságos egy disztró, mint egy olyan, ami eleve selinux támogatással lett készítve.
Tettem fel AppArmort, mint alternatíva, ami meglepően egyszerű volt, de ezzel a megoldással sem vagyok megelégedve, mert messze nem szól bele annyit a rendszerbe, mint a SELinux és a file contexteket is hiányolom.
És bár megértem, hogy sokan leidiótáznak, hogy képes vagyok "bízni" a SELinux-ban, ami köztüdottan NSA fejlesztés, én azon a véleményen vagyok, hogyha az NSA képes lenne bejutni egy SELinux-szal védett gépre, akkor minden bizonnyal egy SELinux mentesre is seperc alatt bejutnának. Viszont sok más támadási faktortól megvéd. inkább fusson ez a gépemen, mint semmi. Illetve ott a tor, az is egy katonai kezdeményezésként indult és valahogy mégsem kapta meg a stigmát, hogy biztosan kémkedésre használt backdoorokkal teli projekt. Így számomra a SELinux hiánya Archon egy kicsit meglepő volt. Valahogy arra számítottam, hogy a közösség nagy és valakinek csak hiányzik a támogatása, de meglepően sok visszautasítást kaptam a témában. Szóval ez volt az első csepp a pohárban, ami nem igazán volt szimpatikus. De ezt még meg tudtam érteni, hiszen az Arch egy közösségi kezdeményezés, senki nem kap fizetést azért, hogy a rendszert fejlessze, vagy a refpolicyket írja, mint a Fedora és a Red Hat esetében...
Azonban igazán kiábrándított, az az a pillanat volt, amikor belefutottam ebbe a reddit cikkbe: [link]. Gyakorlatilag arról van szó, hogy jelenleg senki nem foglalkozik a glibc frissítésével, mert az eredeti fejlesztők leléptek. Így gyakorlatilag az egész rendszer ki van téve sebezhetőségeknek. Valamilyen szinten azt is megértem, hogy senki nem akarja felkarolni a projektet, mivel a glibc frissítésével jár egyben a legtöbb rá épülő csomag párhuzamos frissítése is, de nagyon fontos lenne ezt frissen tartani és valahogy ez egy váratlan lépés egy olyan disztrótól, ami a közösség erejével igyekszik "eladatni" magát.
Később egyébként megtudtam, hogy az Arch telepítő is hasonló sorsra jutott. Eredetileg grafikus telepítővel terveztek, de a projekt kabantartója rég otthagyta a dolgot, ezért ez a pár szkript és a fapados telepítő maradt kényszermegoldásnak. Így érthető az arch-chroot parancs, meg a többi ellentmondás.
Bevallom, ezek után kicsit tanácstalan vagyok, hogy mit válasszak, mert mindegyik eddig általam használt/ismert disztrónak van valami hátránya, de úgy vélem vissza fogok térni Fedorára, hiszen az igényeimet kiszolgálja, stabil, friss, friss a glibc-je és a SELinux támogatás remek.
Köszönöm, hogy elolvastad!