După nouă luni de dezvoltare, a fost lansată versiunea FreeBSD 14.4. Imaginile de instalare au fost pregătite pentru arhitecturile amd64, i386, aarch64, armv7, powerpc, powerpc64 și riscv64. De asemenea, au fost pregătite compilări pentru sistemele de virtualizare (QCOW2, VHD, VMDK, raw) și pentru mediile cloud Amazon EC2, Google Compute Engine și Vagrant.
Următoarea actualizare FreeBSD 14.5 este planificată pentru septembrie 2026. Suportul pentru versiunea curentă FreeBSD 14.4 va fi asigurat până pe 31 decembrie 2026, iar pentru versiunea anterioară FreeBSD 14.3 va dura până pe 30 iunie 2026. În general, ramura FreeBSD 14 va fi întreținută până pe 30 noiembrie 2028, iar ramura FreeBSD 13.x până pe 30 aprilie 2026. În paralel, se dezvoltă ramura FreeBSD 15, iar următoarea versiune (15.1) este programată pentru 2 iunie 2026.
Modificările principale în FreeBSD 14.4:
- A fost adăugată utilitarul sndctl pentru gestionarea setărilor plăcilor de sunet.
- Utilitarul swapon a primit suport pentru fișiere de swap criptate, care pot fi definite prin fstab folosind dispozitive md cu sufixul „.eli”.
- Utilitarul nuageinit, care efectuează inițializarea mașini virtuale, a primit suport pentru cloud-init, configurarea în rețea și gestionarea pachetelor. Au fost adăugate comenzi pentru compatibilitate cu cloud-init: ‘runcmd’, ‘packages’, ‘fqdn’, ‘hostname’, ‘sudo’, ‘write_files’, ‘nameservers’, ‘tzsetup’ și ‘doas’. A fost implementat un parser complet pentru formatul YAML. Este inclus un jurnal de logare. Au fost implementate comenzi precum „chpasswd”, ‘wakeonlan’, ‘set-name’ și ‘match.driver’.
- Fontul consolei spleen a fost actualizat la versiunea 2.2.0 și extins cu simboluri suplimentare (tire cu lungime mare, tire scurtă, defis, unghiuri, pătrat alb, cruce și cruce dublă). A fost îmbunătățită alinierea simbolurilor pe ecranele cu o densitate mare de pixeli. Fontul consolei gallant, care acum include peste 4300 de glyph-uri, a primit suport pentru caracterele chirilice și seturi de simboluri matematice, săgeți, monede și rame.
- A fost inclusă sistemul de fișiere 9P (p9fs), care poate fi utilizat cu dispozitive virtio-9p și hipervizorul Bhyve pentru a organiza accesul din mașinile virtuale la conținutul sistemului de fișiere al mediului gazdă. Pentru a încărca driverul în loader.conf, trebuie folosită setarea „virtio_p9fs_load=YES”.
- În sistemul de fișiere tarfs a fost stabilită posibilitatea de a lucra cu fișiere mai mari de 4 GB.
- În FS unionfs și nullfs, a fost întărită verificarea vnode-urilor rădăcină la procesarea căilor cu „..” pentru a bloca potențialele vulnerabilități care permit ieșirea din directorul rădăcină al mediului jail.
- În subsistemul Jail, accesul utilizatorilor neprivilegiați din Jail-ul părinte a fost restricționat la execuția de depanare, configurarea planificatorului și trimiterea semnalelor proceselor care rulează în Jail-urile copil. Pentru a efectua astfel de operațiuni, sunt sugerate privilegii separate PRIV_SCHED_DIFFJAIL, PRIV_DEBUG_DIFFJAIL și PRIV_SIGNAL_DIFFJAIL. Pentru a recupera comportamentul anterior în gestionarea proceselor în Jail, a fost adăugată configurația „allow.nounprivileged_parent_tampering”.
- În subsistemul Jail a fost adăugată suportul pentru parametrii „met” și „env”, care permit asocierea de metadate string arbitrare și date de mediu cu Jail-urile. Parametrii pot fi specificați la crearea Jail-ului, modificați cu comanda „jail -cm” și vizualizați cu comanda jls. De exemplu, ‘jail -cm … meta=„tag1=value1 tag2=value2” env=„configuration”’. Pentru a limita dimensiunea maximă a datelor în parametrii, a fost propusă configurarea sysctl „security.jail.meta_maxbufsize”.
- Utilitarul ngctl a fost extins cu flag-ul „-j” pentru a rula comenzi în interiorul Jail-ului specificat. Flag-ul adăugat permite manipularea nodurilor netgraph în medii izolate, în care utilitarul ngctl nu este instalat.
- Capabilitățile utilitarului mdo au fost extinse, permițând rularea comenzilor sub un alt utilizator, similar utilitarului „su”, dar folosind în loc de setuid modulul kernel mac_do și apelul de sistem setcred. În noua versiune sunt implementate opțiuni pentru gestionarea identificatorilor de utilizatori și grupuri în procesele lansate: „-k” pentru păstrarea utilizatorilor actuali; „-g” și „-G” pentru stabilirea grupului principal și celor suplimentare; „-s” pentru modificarea grupurilor suplimentare; „—euid”, „—ruid”, „—svuid”, „—egid”, „—rgid” și „—svgid” pentru redefinirea identificatorilor specificați.
- În utilitarul kadmin, destinat gestionării Kerberos, a fost adăugată opțiunea „-f” pentru dump-ul bazei de date Heimdal KDC în format compatibil cu MIT KDC, ceea ce permite migrarea de la Heimdal Kerberos la MIT Kerberos fără a recrea complet baza de date.
- În sistemul de bază livrat, versiunea limitată a managerului de pachete pkg(7) are opțiunile de analiză unificate cu versiunea completă a instrumentarului pkg(8). Ordinea opțiunilor pentru comenzile din pkg(7) trebuie acum să fie conform comportamentului pkg(8); de exemplu, în loc de „pkg -f bootstrap” ar trebui să se specifice „pkg bootstrap -f”.
- În installerul bsdinstall a fost oprit suportul pentru instalarea utilizând sistemul de fișiere ZFS pe discuri cu MBR (ZFS poate fi utilizat doar pe discuri cu GPT). S-a asigurat copierea încărcătorului loader.efi în toate ESP (partițiile de sistem EFI) create pe discurile cu ZFS, în cazul în care discul principal eșuează.
- În utilitarul freebsd-update s-a asigurat o ordine strictă de instalare a bibliotecilor partajate: libsys, libc, libthr și apoi celelalte, ceea ce exclude apariția problemelor la actualizarea de la FreeBSD 14.x la ramura 15.x.
- În utilitarul newfs a fost adăugat un flag „-u” pentru a dezactiva prin default mecanismul „soft updates” și jurnalizarea pentru FS UFS2.
- În bibliotecile PAM (Pluggable Authentication Modules) s-a realizat căutarea modulelor în directorul „${LOCALBASE}/lib/security” pe lângă directorul „${LOCALBASE}/lib”.
- În stiva wireless net80211 a fost adăugat suport pentru canalele VHT160 și VHT80P80, folosite în punctele de acces moderne.
- Suportul hardware a fost extins. În driverul iwlwifi pentru adaptoarele wireless Intel a fost adăugat suport pentru ACPI. În driverele ix și ixv a fost adăugat suport pentru gama de plăci de rețea Intel Ethernet E610 2.5G/5G/10G. În driverele mfi și mrsas a fost adăugat suport pentru controlerele RAID Fujitsu SAS 6Gbit/s 1GB (D3116), utilizate pe servere Fujitsu PRIMERGY.
- În imaginile generate pentru cardurile SD a fost adăugat suport pentru plăcile Raspberry Pi Zero 2W.
- Procesul în fundal blacklistd, care asigură blocarea dinamică a porturilor de rețea pentru protecție împotriva atacurilor DoS, a fost actualizat și redenumit în blocklistd.
- Un pachet cu legături Lua pentru libyaml a fost inclus în compunerea sistemului de bază.
- OpenSSH a fost actualizat de la versiunea 9.9p2 la 10.0p2, incluzând implicit algoritmul hibrid mlkem768x25519-sha256, rezistent la atacuri cu calculatoare cuantice.
- Versiunile componentelor terțe au fost actualizate: OpenZFS 2.2.9 (a fost 2.2.7), OpenSSL 3.0.16, SQLite 3.50.4, unbound 1.24.1, libucl 0.9.2, expat 2.7.3, libyaml 0.2.5, libarchive 3.8.5, xz 5.8.2, less 685, bmake 20251111, bc 7.1.0.
- În suporturile de instalare de bază (bootonly) au fost adăugate pachete cu firmware pentru dispozitivele wireless, permițând utilizarea unei conexiuni wireless pentru extragerea fișierelor de instalare prin rețea.
- A fost adăugat fișierul executabil sbin/ipfw15, compilat cu noul KBI (Kernel Binary Interface) pentru compatibilitate cu nucleul FreeBSD 15. Instrumentul original ipfw determină singur prezența noului KBI și rulează ipfw15 la nevoie pentru a încărca corect regulile filtrului de pachete la actualizarea la FreeBSD 15.
- A fost declarat învechit și este planificat pentru eliminare suportul pentru protocolul de rutare RIP (routed, rtquery, route6d, rip6query). În loc de routed, este recomandat să se utilizeze pachetele 'bird' sau 'quagga' din colecția de porturi.
- A fost declarat învechit implementarea încorporată în nucleu a secvențorului MIDI.
- A fost eliminat codul pentru compatibilitatea cu versiunile filtrului de pachete ipfw livrate înainte de lansarea FreeBSD 8.
Sursa: opennet.ro
