După șase luni de dezvoltare, a fost lansată versiunea FreeBSD 14.1. Imaginile de instalare au fost pregătite pentru arhitecturile amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 și riscv64. De asemenea, au fost pregătite versiuni pentru sistemele de virtualizare (QCOW2, VHD, VMDK, raw) și medii cloud precum Amazon EC2, Google Compute Engine și Vagrant.
Modificări principale:
- S-au realizat îmbunătățiri ale stivei audio. A fost implementată posibilitatea de deconectare a dispozitivelor audio în modul asincron, ceea ce este necesar, de exemplu, pentru deconectarea la cald a plăcilor de sunet cu interfață USB. Framework-ul snd_clone și parametrii sysctl asociați au fost eliminați, ceea ce a simplificat subsistemul audio. În loc de fișiere separate pentru fiecare canal audio (/dev/dspX.Y), acum se creează doar fișierul principal al dispozitivului (/dev/dspX).
- Funcțiile de lucru cu șiruri și memorie din libc au fost optimizate folosind instrucțiuni SIMD pe sistemele cu arhitectură AMD64. Au fost propuse 17 funcții optimizate cu SIMD, precum și 9 funcții care au fost traduse în apeluri de funcții optimizate prin SIMD. În timpul testelor, performanța noilor funcții în procesarea șirurilor de 64 de caractere a crescut de 5.54 ori.
- A fost adăugată suport încorporat pentru configurare prin cloud-init, un instrument pentru configurarea sistemului în timpul încărcării. Printre altele, se susține crearea de utilizatori/grupuri, adăugarea de chei ssh, configurarea parametrilor de conectare la rețea, definirea scriptului de pornire nuageinit și configurarea partițiilor de disc (config-drive). Implementarea este compatibilă cu OpenStack și mulți hosting-furnizori.
- Pentru noile sisteme de fișiere UFS2 create de utilitarul newfs, jurnalizarea (soft updates) este activată implicit.
- A fost oferită posibilitatea de a construi kernelul doar cu suport pentru IPv6 (INET6), fără IPv4 (INET).
- În utilitarul adduser, utilizat în bsdinstall, s-a asigurat crearea unui dataset ZFS separat (partiție, snapshot sau clonă) pentru directorul home al utilizatorului, dacă datasetul ZFS este deja utilizat pentru directorul părinte. De asemenea, a fost adăugată posibilitatea de a folosi criptarea directorilor home prin intermediul ZFS. Pentru gestionarea activării acestor funcții, au fost adăugate în adduser.conf parametrii „Zcreate” și „Zencrypt”.
- În «libutil», funcția «setusercontext» a fost extinsă pentru a susține setarea priorității proceselor pe baza configurațiilor din fișierul «.login.conf», situat în directorul home. La setarea priorității sau umask, a fost adăugată susținerea valorii «inherit», care face ca prioritatea și umask să fie setate la fel ca cele ale procesului părinte.
- Utilitarul «date» a fost extins pentru a susține precizia în nanosecunde; de exemplu, «date -Ins» va afișa «2024-06-04T10:20:28,763742224+05:00», iar «date +%N» va afișa «415050400».
- Utilitarul «dtrace» a implementat posibilitatea de a genera ieșiri în formate convenabile pentru analiză automată și vizualizare, cum ar fi JSON, XML și HTML.
- În utilitarul «usbconfig» a fost integrată posibilitatea de a oferi informații suplimentare despre dispozitivele USB și producători, conform descrierilor din fișierul /usr/share/misc/usb_vendors.
- Driverul «ice» a fost extins pentru a susține controllere Ethernet Intel E800 cu lățimea de bandă de 100 Gb/s.
- Driverul Ethernet «msc» a încorporat suport pentru stabilirea adresei MAC bazate pe parametrul «smsc95xx.macaddr», transmis de unele modele de plăci Raspberry Pi.
- Au fost efectuate lucrări pentru a îmbunătăți stabilitatea driverului «iwlwifi» pentru cipurile wireless Intel.
- A fost adăugată posibilitatea de a utiliza mai multe zone PCI MCFG pe sistemele amd64 și i386 pentru a segmenta spațiul de adresă al dispozitivelor PCI.
- Suportul pentru echipamente a fost extins.
- În handlerul NFS «mountd», pentru decodarea numelui directoarelor din fișierul «exports», a fost folosită biblioteca «strunvis», ceea ce a permis utilizarea caracterelor speciale, cum ar fi spațiile, în numele directoarelor. Au fost adăugate variabilele sysctl kern.rpc.unenc și kern.rpc.tls pentru configurarea NFS-over-TLS.
- În bootloader a fost asigurată citirea fișierelor de configurare enumerate în variabila local_loader_conf_files, după fișierele de configurare definite în fișierul /boot/loader.conf.local. De asemenea, a fost adăugată posibilitatea extragerii configurațiilor din SMBIOS legate de identificatorii producătorului și produsului. A fost îmbunătățită determinarea consolei pe sistemele cu EFI. Implementarea framebufferului în bootloader poate acum utiliza driverele video pentru consolă.
- A fost implementată posibilitatea utilizării bootloader-ului LinuxBoot (loader.kboot) pentru a porni FreeBSD din medii bazate pe Linux pe sistemele aarch64 și amd64.
- În rc.conf a fost adăugată suportul pentru parametrul kdc_restart, care activează repornirea automată a kdc (serverul Kerberos 5) în cazul unei întreruperi neașteptate. De asemenea, este disponibil parametrul kdc_restart_delay, prin care se poate stabili o întârziere înainte de repornire.
- Pentru a reduce dimensiunea rapoartelor trimise pe email, au fost reduse informațiile despre modificările efectuate în timpul lucrărilor și scripturilor programate periodic care verifică securitatea. Nivelul de ieșire poate fi configurat folosind parametrii daily_diff_flags și security_status_diff_flags din periodic.conf.
- Versiunile componentelor externe au fost actualizate: Clang/LLVM 18.1.5, OpenZFS 2.2.4, OpenSSH 9.7p1, awk 2024-01-22 (cu suport pentru UTF-8 și modul „-csv”), libarchive 3.7.4, sendmail 8.18.1, unbound 1.20.0.
Sursa: opennet.ro
