A desktop használatra készült MidnightBSD 4.0 verziója megjelent FreeBSD 13 alapokon – Frissítési útmutató!

6/10
A 4.0 valódi, kézzelfogható fejlesztéseket hoz, új kernelképességekkel, biztonsági hardeninggel, frissített csomagkezelővel, modernizált hardvertámogatással és jelentősen kibővített bhyve funkcionalitással.

Bár a FreeBSD 15 stable már hivatalosan is megjelent, a MidnightBSD továbbra sem kíván azonnal váltani az újabb kiadásokra. A projekt következetesen a FreeBSD 13-as ágra épít, és ezen az úton halad tovább a most megjelent MidnightBSD 4.0 kiadással is. Ez az irány nem véletlen, hanem tudatos választás eredménye. A fejlesztők abból indultak ki, hogy a rendszernek hosszú távon is kiszámíthatónak kell maradnia. Nem az számított, hogy minden újdonság azonnal bekerüljön, hanem az, hogy egy olyan BSD kerüljön a felhasználóhoz, amelyre nyugodtan lehet építeni, és amely asztali használat mellett sem okoz kellemetlen meglepetéseket. Az új kiadás ezért sok elemet átemelt a FreeBSD 13.x vonalból, miközben számos külső összetevőt is frissítettek. A cél végig az volt, hogy a rendszer egésze összeszedettebben és megbízhatóbban működjön, még akkor is, ha ez néhány régebbi csomagnál kompatibilitási gondokat eredményezett.

A desktop használatra készült MidnightBSD 4.0 verziója megjelent FreeBSD 13 alapokon – Frissítési útmutató!

Az mport fejlődése és a rendszer alapjainak tisztítása

A MidnightBSD központi eleme továbbra is az mport csomagkezelő, amely jelentős fejlesztéseken esett át az új verzióban, javított terminálos megjelenéssel és megbízhatóbb ellenőrzési mechanizmussal, de több korábbi összeomlást okozó hiba is megszűnt. A csomagkezelési logika átgondoltabb lett, mely főleg a függőség kezelés és az ellenőrzési folyamatok terén érződik.

Az elavult vagy nehezen karbantartható komponenseket eltávolították a base rendszerből, az indítási folyamatok illetve a szolgáltatáskezelés pedig modernebbé vált.

Kernel, biztonság és skálázhatóság

A MidnightBSD 4.0 egyik legnagyobb technikai változása a rendszer legmélyebb rétegét érinti. A kernel most már támogatja a W^X elv alkalmazását a felhasználói folyamatoknál, vagyis azt, hogy egy memóriaterület egyszerre ne lehessen írható és futtatható. Ez érezhetően szűkíti egyes támadások mozgásterét. A funkció egyelőre nem aktív alapból, de azok számára, akik tudatosan szigorítanák a biztonsági beállításokat, már rendelkezésre áll.

A kernel emellett megkapta a Safe Memory Reclamation támogatást is, amely főleg sokmagos rendszereken javítja a skálázhatóságot és a teljesítményt.

A 4.0 verziótól a ZFS fájlrendszer meghajtó kódbázisát már az OpenZFS projekt biztosítja, ami egységesebb fejlesztési irányt, gyors és hatékony hibajavításokat tesz lehetővé. A Hálózati alrendszer és az NFS korszerűbbé vált, a kriptográfiai keretrendszer fejlesztései pedig garantálják a rendszer biztonsági színvonalának fenntartását.

Hardvertámogatás és virtualizáció

A MidnightBSD 4.0 verzióban alapértelmezetté vált egy új USB HID meghajtó, amely korszerű felépítésének köszönhetően jobban kezeli a beviteli perifériákat. Bővült az Intel és a Realtek hardverek támogatottsága, mely főleg az újabb WiFi kátyák és a processzorok területén mutatkozik meg. Több már elavultnak számító meghajtóprogram került eltávolításra, melynek köszönhetően a rendszer kódja letisztultabb és átláthatóbb lett.

A virtualizáció területén a bhyve hypervizor jelentős fejlődésen ment keresztül, javult a stabilitás, bővült az emulált eszközök köre, illetve a rendszer képes nagyobb számú virtuális processzor kezelni egyetlen vendégen belül.

Frissítés MidnightBSD 4.0-ra

Kezdő lépésként ellenőrizzük, hogy a git csomag telepítve van-e a rendszeren. Amennyiben nincs, telepítsük az mport segítségével.

$ mport install git

A következő lépés a MidnightBSD forráskódjának letöltése a hivatalos GitHub tárolóból, a stable/4.0 ágról. Ez a művelet abból indul ki, hogy a /usr/src könyvtár még nem tartalmaz forrásfát.

$ git clone -b stable/4.0 https://github.com/MidnightBSD/src.git

A forráskód letöltése után a rendszer és a kernel lefordítása következik. A párhuzamos fordítás mértéke a -j kapcsolóval szabályozható, amelyet a rendelkezésre álló processzormagok számához érdemes igazítani.

$ cd /usr/src

make -j4 clean buildworld buildkernel

A fordítás befejezése után szükséges a konfigurációs állományok előkészítése. Ehhez a rendszeradminisztrátor választhat az etcupdate vagy a mergemaster eszközök közül.

$ etcupdate -p

vagy

$ mergemaster -p

Ezt követően telepíthető az új kernel, majd a rendszer újraindítása következik.

$ make installkernel

$ reboot

A sikeres újraindítást követően a userspace, frissítése következik, melyhez lépjünk be a /usr/src könyvtárba, majd telepítsük az új base rendszert.

$ cd /usr/src

make installworld

A telepítés után újra szükséges a konfigurációs fájlok összehangolása, ismét az etcupdate vagy a mergemaster egyikével.

$ etcupdate -iU

vagy

$ mergemaster -iU

Amikor az alap rendszer frissítése befejeződött, a telepített csomagok frissítése következik az mport csomagkezelővel. Elsőként az index frissítése szükséges.

$ mport index

Ezután az ideiglenes fájlok eltávolítása következik.

$ mport clean

Végül a csomagok frissítése futtatható.

$ mport upgrade

A frissítés lezárásaként érdemes eltávolítani a már nem használt régi könyvtárakat és programokat az alap rendszerből.

$ cd /usr/src

make check-old

make delete-old

make delete-old-libs

make installworld

Ezzel a folyamat lezárul, a rendszer MidnightBSD 4.0 állapotra frissül, miközben a konfigurációk és a telepített csomagok is összhangba kerülnek az új kiadással.