Lansarea FreeBSD 15.0

După doi ani de la publicarea ramurii 14.0, a fost formată lansarea FreeBSD 15.0. Pachetele de instalare sunt pregătite pentru arhitecturile amd64, aarch64, armv7, powerpc64, powerpc64le și riscv64. De asemenea, sunt disponibile pachete pentru sisteme de virtualizare (QCOW2, VHD, VMDK, raw) și medii cloud Amazon EC2, Google Compute Engine și Vagrant.

Începând cu ramura FreeBSD 15, perioada de suport pentru ramurile semnificative după formarea primei lansări (15.0) a fost redusă de la 5 la 4 ani, iar noi ramuri semnificative vor fi formate o dată la doi ani. Versiunile intermediare (15.1, 15.2, 15.3) vor fi dezvoltate în cadrul unui ciclu fix de dezvoltare, presupunând publicarea de noi versiuni într-o ramură aproximativ la fiecare 6 luni, în loc de o dată pe an, cum a fost până acum. Având în vedere suportul simultan pentru două ramuri semnificative diferite, noul release intermediar va fi publicat la fiecare 3 luni (15.4, 16.1, 15.5, 16.2 etc.), cu excepția pregătirii primelor lansări ale noilor ramuri semnificative, înainte de care va exista o pauză de 6 luni în lansări (de exemplu, lansarea 15.3 va fi formată în iunie 2027, 16.0 în decembrie 2027, 15.4 în martie 2028, 16.1 în iunie 2028).

Modificările principale în FreeBSD 15.0 (în nota oficială de lansare, pe lângă modificările specifice pentru versiunea 15.0, sunt menționate multe funcționalități adăugate anterior în ramurile 14.1, 14.2 și 14.3):

  • A fost oferită posibilitatea utilizării managerului de pachete pkg pentru instalarea și actualizarea componentelor sistemului de bază. Pachetele pkgbase pot fi livrate pe suportul de instalare pentru instalare offline sau pot fi descărcate din repository-ul pkg.freebsd.org. În configurația pkg (/etc/pkg/FreeBSD.conf), repository-ul FreeBSD-base nu este inclus implicit. Instalatorul bsdinstall oferă două opțiuni de instalare: tradițională și utilizând pachete (pkgbase). Se preconizează eliminarea suportului pentru metoda tradițională, în care sistemul de bază este considerat un mediu monolitic, actualizat cu ajutorul utilitarului freebsd-update, în ramura FreeBSD 16. Noua metodă, care presupune instalarea sistemului de bază ca un set de pachete din repository-ul FreeBSD-base, este propusă implicit în pachetele pentru mașini virtuale și imaginile pentru medii cloud, dar deocamdată este considerată experimentală pentru sistemele obișnuite.
  • A fost adătat suport pentru compilarea FreeBSD în medii neprivilegiate, care nu necesită drepturi de root. Fără drepturi de root, pot fi de asemenea create imagini iso pentru instalare și imagini de sistem pentru maşini virtuale. În timpul compilării, drepturile de root erau necesare pentru a crea fișiere de dispozitive, a stabili permisiuni și a monta sisteme de fișiere suplimentare (de exemplu, la crearea imaginilor de disc).
  • A fost implementat suportul pentru compilările reproducibile, care permit verificarea faptului că fișierele binare distribuite sunt compilate din codul sursă furnizat și nu conțin modificări ascunse. Compilările reproducibile asigură identitatea fișierelor binare generate din codul sursă în medii de compilare diferite.
  • S-a întrerupt generarea imaginilor de instalare și a compilărilor de pachete binare pentru arhitecturile pe 32 de biți i386, armv6 și powerpc. Dintre platformele pe 32 de biți, a fost păstrată doar armv7. Capacitatea de a compila programe pe 32 de biți și de a utiliza modul COMPAT_FREEBSD32 pentru a rula fișiere executabile pe 32 de biți într-un mediu bazat pe un nucleu pe 64 de biți va fi menținută cel puțin până la sfârșitul ciclului de viață al versiunii FreeBSD 16.
  • Au fost adăugate apeluri de sistem cu implementarea mecanismului inotify pentru monitorizarea modificărilor în sistemele de fișiere.
  • A fost adăugat suport pentru atributele de fișier numite (atribute extinse în stil Solaris), care sunt planificate să fie susținute ca un mecanism alternativ de gestionare a atributelor extinse, disponibil pentru ZFS și NFSv4. Diferențele față de metodele tradiționale de lucru cu atributele extinse în FreeBSD și Linux se reduc la prezentarea atributelor într-un director de serviciu, care nu este vizibil în spațiul de nume FS principal și asociat cu fișierul. Lucrul cu atributele se face ca și cu fișierele obișnuite, de exemplu, pentru a determina lista atributelor se poate executa funcția readdir().
  • A fost declarat gata de utilizare modulul mac_do, care permite stabilirea de politici ce permit utilizatorilor neprivilegiați să modifice datele de autentificare ale proceselor. Pentru a rula comenzi sub un alt utilizator, a fost pregătită utilitarul mdo, similar cu utilitarul su, dar care nu necesită suid root.
  • Starea driverelor DRM i915 și amdgpu este sincronizată cu nucleul Linux 6.9. Driverii dispozitivelor wireless rtw88 (Realtek 802.11n/ac), rtw89 (Realtek 802.11ax) și iwlwifi (Intel 02.11a/b/g/n/ac/ax/be) sunt sincronizați cu nucleul Linux 6.17.
  • Implementarea protocolului TLS pe partea nucleului (KTLS) este activată în mod implicit.
  • Utilitarul sndctl a fost adăugat pentru gestionarea setărilor plăcilor de sunet.
  • Utilitarul mididump a fost adăugat pentru a face dump de evenimente MIDI 1.0 în timp real.
  • Un nou backend de rețea "slirp" a fost adăugat în hipervizorul bhyve, utilizând biblioteca libslirp cu implementarea stivei de rețea în spațiul utilizatorului. Backendul "slirp" permite accesul la rețea pentru sistemul gazdă din mediu fără o configurare suplimentară a rețelei pe partea gazdei.
  • Implementarea Kerberos în compunerea principală a FreeBSD a fost înlocuită de Heimdal Kerberos cu MIT Kerberos. Pentru a reveni la Heimdal Kerberos la compilare, se poate utiliza opțiunea WITHOUT_MITKRB5. În FreeBSD 16, suportul pentru compilarea Heimdal Kerberos va fi eliminat.
  • Comportamentul apelurilor de sistem setgroups, getgroups și initgroups la gestionarea grupurilor de utilizatori este aliniat la alte platforme (diferența implementării în FreeBSD era păstrarea identificatorului eficient al grupului de procese în primul element al matricei cu lista grupurilor).
  • În setările managerului de pachete pkg, un nou depozit FreeBSD-kmods a fost activat în mod implicit, în care se află pachete cu module kernel compilate pentru ramuri de lansare specifice 15.x-RELEASE, mai degrabă decât ramura 15-STABLE care este actualizată constant. Depozitul FreeBSD-kmods rezolvă problema instalării driverelor legate de interfețe instabile ale nucleului (de exemplu, drivere grafice). Depozitele „FreeBSD” și „FreeBSD-kmods” prezente anterior în /etc/pkg/FreeBSD.conf au fost redenumite în „FreeBSD-ports” și „FreeBSD-ports-kmods”.
  • În NFS a fost adăugată suportul pentru operația CLONE, definită în specificația NFSv4.2, care permite copierea rapidă a fișierelor prin clonarea blocurilor pe server. Modificarea funcționează deocamdată doar prin exportul secțiunilor ZFS prin NFS.
  • Pe sistemele amd64 a fost adăugată posibilitatea utilizării a mai mult de 4TB de RAM.
  • A fost adăugat driverul ufshci pentru a suporta controlerele sistemelor de stocare cu interfața UFSHCI (Universal Flash Storage Host Controller Interface).
  • Sysctl net.link.bridge.member_ifaddrs este setat implicit la 0, adică se pot adăuga interfețe la punțile de rețea fără restricții. adreselor IP.
  • Fiabilitatea funcționării secțiunilor cu FS UFS, care conțin mai mult de 2.000.000.000 inode, a fost crescută. Problema din anul 2038 a fost rezolvată în implementarea FS UFS1 (se pot folosi date până în anul 2106).
  • A fost adăugată opțiunea de socketuri de rețea SO_SPLICE pentru combinarea conexiunilor TCP (similar cu un proxy, care funcționează fără copierea datelor în spațiul utilizatorului).
  • Utilitarul grep are acum dezactivată traversarea legăturilor simbolice în căutarea recursivă.
  • A fost adăugat modulul de kernel nvmfta pentru suportul controllerelor NVMe over Fabric și utilitarul nvmecontrol pentru conectarea la un controller NVMe over Fabric extern.
  • Utilitarul date a fost actualizat pentru a suporta outputul timpului cu precizie la nanosecunde, de exemplu, „date -Ins” va afișa „2024-04-22T12:20:28,763742224+02:00”.
  • În jail a fost adăugată suportul opțiunii zfs.dataset pentru a include în mediu isolat jail o partiție, un snapshot sau un clon ZFS. Comanda jail a primit suport pentru parametrii „meta” și „env”, prin care pot fi legate metadate sau transmise variabile de mediu. A fost adăugată capacitatea de a adresa mediile jail prin descriitorii jail, pentru care au fost propuse funcțiile jail_set și jail_get, precum și apeluri de sistem jail_attach_jd și jail_remove_jd. Posibilitatea utilizării filtrelor kevent pentru urmărirea operațiunilor de creare, ștergere, modificare și atașare a Jail a fost adăugată.
  • În utilitarul newsyslog a fost implementat un parametru pentru a seta metoda de compresie utilizată în mod implicit (bzip2, xz, zstd, gzip), eliminând necesitatea de a specifica flagurile separate (J, X, Y, Z) în fiecare rând din newsyslog.conf.
  • În biblioteca standard C, multe funcții pentru manipularea șirurilor de caractere și memorie au fost optimizate utilizând instrucțiuni SIMD.
  • În fontul Gallant, utilizat în terminalele virtuale, au fost adăugate peste 4300 de glife noi, inclusiv glife cu simboluri chirilice și semne matematice.
  • În tty, flagul IUTF8 este activat în mod implicit, permițând funcționarea corectă a ștergerii caracterelor UTF-8 la apăsarea Backspace.
  • Utilitarul dialog, folosit în configuratorul bsdconfig și în installerul bsdinstall, a fost înlocuit cu bsddialog.
  • În utilitarul adduser, folosit în bsdinstall, este asigurată crearea unui dataset ZFS separat (partiție, snapshot sau clonă) pentru directorul de acasă al utilizatorului, dacă dataset-ul ZFS este deja utilizat pentru directorul părinte. De asemenea, a fost adăugată posibilitatea de a utiliza criptarea directoriilor de acasă prin intermediul ZFS. Pentru gestionarea activării acestor funcționalități, în adduser.conf au fost adăugate parametrii „Zcreate” și „Zencrypt”.
  • Sunt generate imagini de containere și imagini de sistem compatibile OCI pentru Oracle Cloud.
  • A fost adăugat un nou tip de imagini „small” pentru medii cloud compatibile cu AWS EC2. Spre deosebire de imaginile de bază, acestea nu includ date de depanare, teste, biblioteci pe 32 de biți, debugger-ul LLDB, agentul Amazon SSM și AWS CLI. Încărcarea imaginilor „base” pentru EC2 a fost accelerată cu 76%.
  • Configurația net.inet.tcp.nolocaltimewait este dezactivată în mod implicit și declarată învechită, adică crearea în mod implicit a înregistrărilor TIME_WAIT pentru conexiunile TCP închise pe partea sistemului local a fost restabilită. A fost adăugată o nouă sysctl net.inet.tcp.msl_local pentru a configura timpul în care o conexiune se află în stare TIME_WAIT.
  • Suportul pentru crearea de conexiuni rețea către localhost, în care se specifică INADDR_ANY, este dezactivat în mod implicit. Pentru a restabili suportul, se poate seta sysctl net.inet.ip.connect_inaddr_wild la valoarea 1.
  • Managerul de volume logice gvinum, folosit pentru RAID software, a fost eliminat. Dezvoltarea Gvinum s-a oprit acum aproximativ 15 ani, deși în cod există mai multe probleme cunoscute care nu au fost rezolvate niciodată. În loc de gvinum, se recomandă utilizarea gconcat, gmirror, gstripe, graid sau zfs.
  • Driverul agp (Accelerated Graphics Port), necesar pentru funcționarea multor drivere pentru plăci video mai vechi, este programat pentru a fi eliminat în FreeBSD 16. De asemenea, au fost declarate învechite și sunt planificate pentru eliminare driverele: fdc (IBM PC Floppy Disk Controller), firewire (IEEE1394 Serial Bus), le (AMD Am7900 LANCE și Am79C9xx Ethernet) și upgt (USB 802.11g).
  • Funcția readdir_r a fost declarată învechită.
  • Suportul pentru transportul UDP a fost oprit în serverul SNMP bsnmpd.
  • Generarea cheilor gazdelor RSA pentru SSH și EC2 AMI a fost oprită. Suportul pentru DSA a fost eliminat din OpenSSH. Baza de date publickey, legată de algoritmul DES, a fost eliminată.
  • ftpd și shar au fost eliminate din sistemul de bază, în locul lor urmând să se utilizeze porturile ftp/freebsd-ftpd și sysutils/freebsd-shar.
  • Utilitarul fdisk a fost declarat învechit, în locul lui recomandându-se utilizarea gpart.
  • În categoria de drivere învechite a fost transformat driverul syscons, care este incompatibil cu UEFI, nu suportă UTF-8 și este legat de blocarea globală.
  • Versiunile LLVM 19.1.7, OpenSSH 10.0p2, OpenSSL 3.5.4, OpenZFS 2.4.0rc4, Lua 5.4.8, jemalloc 5.3.0, Awk 20250804 (cu suport pentru UTF-8), bc 7.1.0, unicode 16.0.0, ncurses 6.5, libarchive 3.8.2, tcpdump 4.99.5, unbound 1.24.1, less 679, file 5.46, GoogleTest 1.15.2 au fost actualizate.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster