FreeBSD mint desktop OS - tapasztalatok

2018. október 21. 8:57, hup.hu

Néhány hónapja CentOS-ről FreeBSD-re váltottam otthon, így most egy 11.2-RELEASE fut az otthoni desktop gépemen, az alábbiakban összefoglalnám az eddigi tapasztalataimat. Összességében nem bántam meg az átállást, de azért van pár kényelmetlenség, amit a mai napig nem sikerült orvosolni, és ami miatt még mindig "visszasírom" a Linuxot néha... Ami tetszik: A rendszer elképesztően profi módon van összerakva - minden a helyén van, és nem is változtatnak indokolatlanul a konvenciókon a fejlesztők. Az eddigiek alapján úgy látom, egyébként sem túl nyitottak a változásokra, ez nyilván előny és hátrány is lehet, nézőpont kérdése. Nekem tetszik, mivel elég makacsul tudok ragaszkodni a régi, jól bevált dolgokhoz, de tudom, hogy ezzel nem mindenki van így. A release-ek kiadása egy alaposan átgondolt (és kicsit bonyolult) rendszer szerint történik, nekem kifejezetten tetszik a CURRENT/STABLE/RELEASE ágak különválasztása, így az ember mindig tudja, mire számíthat egy upgrade után. Ahol a stabilitás kell, oda jöhet a RELEASE, ahol a legújabb feature-ök kellenek, és nem baj, ha a rendszer kevésbé kiforrott, ott a STABLE-t lehet használni, fejlesztőknek és tesztelőknek pedig ott vannak a CURRENT release-ek. Tiszta, világos elvek mentén adják ki a frissítéseket, illetve mindig készül release notes és errata dokumentum is, ami a frissítés előtt álló usereknek és rendszergazdáknak gyakorlatilag kötelező olvasmány. Mivel FreeBSD-ben a kernel és az OS többi része (library, shell, alkalmazások) egységet alkot, így sokkal kevesebb buggal és stabilitási problémával lehet találkozni mint bármelyik Linux disztró alatt. Kifejezetten jó megbízhatóság szempontjából, hogy a kernel eléggé konzisztens módon működik, nincs meg az a kellemetlenség, hogy egy kernel frissítésnél egy csomó minden nem működik vagy másképp működik mint korábban. Ez Linux alatt tipikus probléma, az például a halálom, hogy a Debiant futtató HTPC-men a tunerkártya driverét minden alkalommal újra kell fordítani, ha változik a kernel verziója. Tudom, erre találták ki a DKMS-t, meg is próbálom majd belehegeszteni a tuner kártya driverét, ha lesz hozzá affinitásom egyszer. :) Egészen korrekt a hardvertámogatás x86 architektúrán. Tény, hogy a Linux jobban áll ezen a téren, de szerintem ha nem bleeding-edge hardvereken akar valaki FreeBSD-t használni, igen kicsi az esélye, hogy lesz olyan vas, ami ne működne FreeBSD alatt. Az otthoni gépem már igencsak elavultnak számít (2012-es évjárat), így ez nem feltétlenül jó referenciának, de ki fogom majd próbálni a FreeBSD-t HP szervergépeken is és a szintén itthon használt Dell E5440-es gépemen is. Mindenképp említésre méltó, hogy van hivatalos, karbantartott NVIDIA driver, az AMD kártyákkal viszont kifejezetten problémás a driver támogatás. Zárt forrású driver tudtommal sosem készült FreeBSD-hez, a nyílt forrású pedig sokéves lemaradásban van a linuxos radeon/amdgpu driver-ekhez képest... konkrétan emiatt voltam kénytelen lecserélni a videokártyát, mivel mindenképp szükségem volt a hardveres gyorsításra (leginkább a window manager és a szaggatásmentes FullHD videólejátszás miatt). Ami nem tetszik, avagy mi az, ami kisebb-nagyobb kellemetlenségeket okozott eddig: Alapvetően segítőkész a közösség, de az amatőr hozzáállást és a figyelmetlenséget nem tolerálják, sok olyan posztot látni a fórumon, ahol a "vén rókák" kiosztják az odatévedő tapasztalatlan és/vagy esetlenül kérdező usereket. Ebbe én magam is belefutottam az elején, de gyorsan túltettem magam rajta, ez egy ilyen világ és kész. :) Baromi komplex a rendszer, többszáz tunable finomhangolására van lehetőség, viszont ezek nem minden esetben vannak korrektül dokumentálva. Igaz, a dokumentációra alapvetően nem lehet panasz, az általam eddig használt FOSS projektek közül messze a FreeBSD-nek a legjobb/legátfogóbb a dokumentációja, ami mindenképp dicséretes. Kompatibilitási problémák bőven vannak, egy csomó szoftver (jellemzően a Linuxból jól ismert, GNU-s cuccok) kiforratlanabbak FreeBSD alatt mint Linuxon, arról nem is beszélve, hogy sok tool paraméterezése és működése nagyban eltér a Linuxon megszokotthoz képest. Többször volt már olyan, hogy valamelyik gyakran használt toolnál hiányoltam egy olyan kapcsolót, ami Linuxon van, viszont a BSD-s variánsban nincs implementálva. Az előző ponthoz kapcsolódan, tudtommal nincs GUI-s megoldás GNOME alatt a diszkek kezeléséhez, a Disk Utility itt nem működik, tekintve, hogy erősen kernelhez és fájlrendszerhez kötött a tool, és sajnos még nem portolták FreeBSD-re. Parancssorból persze bármit el lehet intézni, de sokszor jól jönne egy grafikus tool, amivel két kattintással újra lehet partícionálni és formázni egy pendrive-ot. A legutóbbi minor frissítés után (11.1 -> 11.2) valamelyik virtualbox kernel modul kernel panic-et okozott bootoláskor, ami miatt boot loop-ba került a gép. Nyilván ez a saját rutintalanságomnak köszönhető, de nem volt könnyű orvosolni a problémát. A megoldás az volt, hogy le kellett tiltani a problémás modulokat az előző (frissítés előtti) kernel alatt, majd reboot után manuálisan újra kellett forgatni őket az új, 11.2-es release-hez. Pozitívum, hogy amint fény derült a problémára, a fejlesztők beraktak egy figyelmeztetést a 11.2-es release-hez készült errata dokumentumba ezzel kapcsolatban. Ez kicsit szubjektív, de security téren azért bőven van elmaradása a FreeBSD-nek, a HardenedBSD és az OpenBSD is elhúzott mellette az utóbbi években. Tekintve, hogy a FreeBSD-t elsősorban szerveres/hálózatos környezetbe szánták, ez szerintem kiemelt szempont kellene, hogy legyen, de valamiért mégsem az, ahogy itt a HUP-on is volt már erről szó pár hónapja. Igazából ez csak apró kényelmetlenség, de nekem először nem esett le (tudom, RTFM), hogy a csomagokat és a disztrót magát külön kell frissíteni, a csomagkezelő (pkg) nem frissíti az OS központi részeit, csak a ports collection-ből származó csomagokat. Szerintem logikusabb és praktikusabb lenne a kettőt együtt kezelni, én azt vártam volna, hogy a pkg az OS-t is frissíti (vagy legalább legyen olyan kapcsolója, amivel ez megoldható). A rendszer ZFS támogatása és integrációja kiemelkedően jó, viszont a cache beállítások default értékei nem éppen ideálisak, a ZFS cache megeszi a RAM-ot egy idő után (8GB van a gépben, ami azért elég kéne, hogy legyen sima irodai/multimédiás felhasználás mellett). Mivel nem lapozható memóriaként foglalja le a kernel a ZFS cache részére fenntartott memóriát, így a RAM telítődése esetén veszettül swappelni kezdi a rendszer a futó processek által használt memóriát, ami komoly lassulásokat tud okozni. Ez gyakorlatilag azt jelenti, hogy ha csak 1-2 program is fut, azok brutálisan belassulnak és csak reboot után szűnik meg a probléma. Alapbeállítás szerint az ARC mérete a teljes RAM méretének 90%-a, ami 8 GB RAM mellett túl sok. A megoldás a "vfs.zfs.arc_max" sysctl változó finomhangolása volt, ezt belőttem 2 GB-ra, azóta nem tapasztalok swappelésből fakadó lassulásokat. A gépben két HDD van, ezeket a GELI+ZFS kombóval összevontam egy titkosított ZFS kötetté. Ez kiválóan működik, mindkét disk bootolható, és a hardveres AES titkosításnak köszönhetően a teljesítmény sem romlik észrevehetően a titkosítás használata miatt. Rendhagyó módon a FreeBSD-ben tényleg komolyan van véve a "full disk encryption" koncepció, mivel kizárólag az első fázisú boot code van titkosítás nélkül tárolva a diszkeken, minden, ami utána jön, már csak a titkosítás feloldása után férhető hozzá. Ennek egyetlen hátránya, hogy a jelszó prompt fixen angol kiosztás szerint kéri be a jelszót. Ez annyit jelent a gyakorlatban, hogy memorizálnom kellett a jelszóban lévő speciális karakterek angol kiosztás szerinti helyét, persze, nem nagy áldozat, de elvártam volna, hogy be lehessen állítani a korrekt layout-ot. CentOS alatt ezzel nem volt gond, ott a kernel paraméterben beállított kiosztás szerint lehetett begépelni a jelszót. Ez inkább GNOME-specifikus probléma, de azért megemlékezem róla: a GDM összekapcsolja a locale beállítást a bill. kiosztással, ez is problémát okozott, mivel ezer éve úgy használom az otthoni gépeimet, hogy angolul beszél az OS, de magyar a bill. kiosztás. Ez a felállás, úgy tudom, a GDM-ben nem lehetséges, ha angol a locale, akkor en-us a kiosztás fixen, magyar kiosztást csak úgy lehet használni, ha a locale-t magyarra állítom, viszont az utána globálisan vonatkozik a user session-re is és valamiért nem lehet felülbírálni a session-ön belül. Update 2018-10-21: A GUI-ra nem tértem ki elég részletesen, holott ez lett volna a posztom fő témája. :) Egy alap GNOME3 interfészt használok, ami tökéletesen stabilan működik, a GUI animációk gyárilag hibátlanul működnek, a videolejátszás teljesen akadásmentes FullHD felbontásban is a zárt forrású NVIDIA driverrel. Abszolút semmi panasz nincs, bátran ki merem jelenteni, hogy tökéletesen megállja a helyét a FreeBSD desktopos felhasználás mellett is. A Gnome jelenlegi, Ports Collection-ben lévő verziója 3.28.2, ami nem a legfrissebb verzió, de csak két minor verzióval van elmaradva a legfrissebb stabil release-hez képest. KDE és más WM-ek kapcsán nincs tapasztalatom, de gyanítom, hogy ezeknél is hasonló a helyzet.

Tovább a teljes cikkre...

Keresés