Más másfél évvel a legutolsó frissítés megjelenése után megjelent a NetBSD 10 operációs rendszer kiadása. A letöltéshez 630 MB méretű telepítő képek állnak rendelkezésre, 57 rendszerarchitektúrára és 16 különböző CPU családra készítve. Az új ág számos jelentős fejlesztést tartalmaz, például a hozzáférési vezérlő listák támogatását az FFS fájlrendszerben, jelentős teljesítményoptimalizálást, a lemezek titkosítását Adiantum algoritmus használatával, és a WireGuard VPN illesztőprogram megvalósítását a kernelben.
A projekt 8 elsődleges portot támogat, amelyek a NetBSD fejlesztési stratégia alapját képezik: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 és xen, valamint 49 másodlagos portot, amelyek különböző CPU-kkal kapcsolatosak, mint alpha, hppa, m68010, m68k, sh3, sparc és vax. A másodlagos portok még mindig támogatottak, de már elavultak vagy nincs elég fejlesztő, aki érdeklődne a fejlesztésük iránt. Egy port (acorn26) a harmadik kategóriába került, ahol a nem működőképes portok találhatók, amelyek törlésre kerülhetnek, ha nem található érdeklődő a fejlesztésükre.
A NetBSD 10 fő fejlesztései:
- A POSIX.1e ACL hozzáférési vezérlő lista támogatás bekerült az FFS fájlrendszerbe, amelyet a fájlok kiterjesztett attribútumain keresztül valósítottak meg, és a FreeBSD-ből átkerült. Az ACL használatához egy új FFSv2ea fájlrendszer típus javasolt, amely nem használatos alapértelmezés szerint, és amelyre a meglévő fájlrendszerek átvihetők az fsck_ffs segédprogram segítségével.
- Hozzáadva a wg hálózati interfész megvalósítása VPN, amely kompatibilis a WireGuard-dal.
- A teljesítmény optimalizálása megtörtént. Növelték a fájlútvonalak cache hatékonyságát a kernelben. Növelték a feladatütemező teljesítményét, amely az big.LITTLE Arm rendszerekhez lett optimalizálva, amelyek gyors és lassú CPU magokat kombinálnak. A select és poll rendszerhívások teljesítménye is növekedett. A tmpfs fájlrendszer teljesítménye is nőtt. Felgyorsult a betöltési folyamat. Az x86 és AArch64 architektúrákra specifikus optimalizációk kerültek hozzáadásra. Növelték a bemeneti-kimeneti és hálózati műveletek sávszélességét AArch64 rendszereken.
- Optimalizálások történtek a virtuális memória rendszerében: a memóriaoldalak kereséséhez egy gyorsabb radix fa algoritmus került alkalmazásra, javult a tiszta és piszkos memóriaoldalak nyomon követésének sebessége, jelentősen felgyorsult a fsync nagy fájlok esetén, javult a zárolások kezelése és nőtt a párhuzamos műveletek végrehajtásának hatékonysága.
- Hozzáadva a lemezek titkosításának támogatása Adiantum algoritmus alkalmazásával, amely lehetővé teszi a magas hatékonyságot AES hardveres titkosítási gyorsítás nélküli rendszereken. A cgdconfig segédprogramhoz hozzáadva a megosztott kulcsok támogatása, amelyek több tároló titkosítására használhatók. Az alapértelmezett jelszó hash algoritmus módosítva lett Argon2id-ra. Bekapcsolva az automatikus swap particiók titkosítása (vm.swap_encrypt=1). Hozzáadva a titkosítási gyorsítás hardveres mechanizmusainak támogatása, amelyeket az x86 és Arm processzorok nyújtanak, például az AES és ChaCha gyorsításához szükséges utasítások. Az AES szoftveres megvalósítása, amelyet a kernel biztosít, folyamatos végrehajtási időt biztosít minden architektúrára.
- Hozzáadva a biztonsággal kapcsolatos kiterjesztések támogatása, amelyeket az Armv8-A processzorok biztosítanak: PAN (Privileged Access Never), PA (Pointer Authentication), BTI (Branch Target Identification).
- A kernel biztonsági problémáinak azonosítására a Kernel Concurrency Sanitizer és a Kernel Memory Sanitizer mechanizmusokat használták.
- A hálózati veremben megvalósult az RFC 7048 támogatása, amely javítja az IPv6 Szomszéd Felfedező mechanizmus működését, függetlenné téve azt a címektől.
- Új lagg hálózati interfész került hozzáadásra a hálózati linkek aggregálására és a megbízhatóság biztosítására (a lagg az agr interfész helyébe lépett).
- Hozzáadva a vether illesztőprogram virtuális Ethernet interfészek megvalósításával, amelyeket a hálózati hídakban és a tap interfészek helyett lehet használni.
- Az ipsec implementációjába hozzáadva a sysctl net.key.allow_different_idtype a más VPN-ekkel való kompatibilitás javítása érdekében.
- Javítva a UDF (Universal Disk Format, optikai lemezek fájlrendszere) támogatása, amely most már kompatibilis a Windows 10-ből származó megvalósítással hibaszinten. A newfs_udf segédprogramban lehetőség nyílt UDF 2.50 formátumban történő létrehozásra, elkülönített metaadat-partícióval. Hozzáadva a fsck_udf segédprogram a UDF formátumban lévő hibás fájlrendszerek ellenőrzésére és helyreállítására.
- A fstat segédprogramhoz hozzáadva a ZFS támogatása.
- Kiterjesztették a FUSE (Filesystem in Userspace) mechanizmus támogatását, a refuse meghajtóban teljes mértékben támogatják a FUSE 1.1-től 3.10-ig terjedő API változatait.
- A szoftveres RAID megvalósításába beépítették a byte-order cseréjét (swapped-endian) támogató konfigurációkat. A raidctl segédprogramhoz hozzáadták a "-t" opciót a konfigurációs fájlok helyességének ellenőrzésére.
- Új blkdiscard segédprogram került hozzáadásra a TRIM műveletek manuális végrehajtására a lemezeken a fel nem használt blokkok jelzésére.
- A scan_ffs segédprogramba beépítették a jelenlegi statisztikák megjelenítésének lehetőségét a SIGINFO (Ctrl+T) jelzés érkezésekor.
- Új programok kerültek be a rendszerbe:
- aiomixer — hangkeverő
- realpath — az abszolút fájlútvonal visszaadása a relatív útvonal alapján.
- tradcpp — K&R C stílusú makróprocesszor.
- ioctlprint — ioctl értékek megjelenítése.
- testpat — tesztelési táblázat megjelenítése a képernyő színvisszaadásának értékelésére.
- warp — klasszikus BSD játék.
- A Spleen raszteres betűtípusok, amelyek BSD licenccel rendelkeznek és alacsony felbontású, valamint magas pixel sűrűségű kijelzők számára is elérhetők, bekerültek a ctwm-be. Továbbá a Terminus konzol betűtípusok is szerepelnek az összetevők között.
- A Linux kompatibilitási réteghez (compat_linux) hozzáadták az eventfd, timerfd, POSIX időzítők, preadv és pwritev mechanizmusok támogatását.
- Javították a virtualizáció támogatását. Hozzáadták a Xen PVH támogatását, lehetővé téve a Xen PV meghajtók használatát a HVM alapú vendég rendszerekben, javították a paravirualizált hálózati interfészek megvalósítását. A Xen gazda kernél (Dom0) támogatják a többprocesszoros rendszereket. A Xen kernelben a szabványos kernelhez közös modulok használatára van lehetőség. A hálózati (xennet) és blokk (xbd) eszközök többprocesszoros rendszerekhez lettek adaptálva (MPSAFE státuszt kaptak). Jelentősen javították a HyperV hypervisor támogatását, és bővült az nvmm (NetBSD Virtual Machine Monitor) hypervisor lehetőségei. Lehetőség van alvó módba áttérésre. virtuális gépekhez az nvmm-ben.
- Javították a VirtIO meghajtókat, amelyek most már támogatják a VirtIO 1.0 specifikációt. Hozzáadták a vio9p meghajtót a VirtIO 9P fájlrendszer vendég rendszerekben való csatolására, amelyeket a gazda környezet exportál. Hozzáadták a viocon meghajtót a virtuális soros port számára.
- Megvalósultak az eventfd és timerfd rendszerhívások, amelyek kompatibilisek a Linux-szal és a compat_linux-ban vannak alkalmazva. Hozzáadva a fexecve rendszerhívás a fájl fájlrendszer-besorolás szerinti végrehajtásához.
- Elavult összetevők eltávolítva, például a HIPPI, FDDI és TokenRing technológiák támogatásának megszüntetése, az nsmb és mount_smbfs driverek eltávolítva a SMBFS számára (nem támogatják az SMB protokoll újabb verzióit), az IPv6 Router Advertisement támogatása a felhasználói térbe került, az libXTrap, libXevie és libglut könyvtárak eltávolítva, és rengeteg elavult eszköz illesztőprogramja eltávolítva.
- Jelentősen bővült a hardver támogatás. Támogatást nyújt az új Intel és AMD processzorok lehetőségeihez. Új ARM platformok (Raspberry Pi 4, Orange Pi 5, Lichee Pi Zero, ODROID-N2+, M1 Mac Mini, HummingBoard Pulse, UDOO Neo Full, PINE64 Quartz64, Asus Tinker stb.) támogatása is hozzáadva. Tágabb támogatás a MIPS architektúrához.
- 17 új eszközillesztő került hozzáadásra, például Wacom táblagépek, Realtek 8125 2.5 Gigabit Ethernet, Motorcomm YT8511C / YT8511H Gigabit Ethernet, Intel Ethernet 700, Broadcom GENETv5 Ethernet, Intel QuickAssist kripto-gyorsítók és Intel XMM7360 LTE-modemek.
- Frissítve a grafikus illesztőprogramok az Intel, NVIDIA és AMD GPU-k számára x86 rendszerekhez. A DRM/KMS alrendszer összehangolva a Linux 5.6 kernelével.
- Frissítve a külső összetevők verziói, beleértve a ctwm 4.0.3 ablakkezelőt, gcc 10.5, lua 5.4.6, OpenSSL 3.0.12, postfix 3.8.4, tmux 3.2a, OpenSSH 9.6, X.org Server 21.1.7, BIND 9.18.24, Heimdal kerberos 7.8.0, unbound 1.19.1, wpa_supplicant 2.9, OpenLDAP 2.5.6, binutils 2.34, libfido2 1.13.0, pam-u2f 1.2.0, zlib 1.2.13.
Forrás: opennet.ru
