Dopo nove mesi di sviluppo, è stato rilasciato FreeBSD 14.4. Sono stati preparati i file immagine di installazione per le architetture amd64, i386, aarch64, armv7, powerpc, powerpc64 e riscv64. Sono disponibili anche build per sistemi di virtualizzazione (QCOW2, VHD, VMDK, raw) e ambienti cloud come Amazon EC2, Google Compute Engine e Vagrant.
Il prossimo aggiornamento di FreeBSD 14.5 è programmato per settembre 2026. Il supporto per l'attuale versione FreeBSD 14.4 sarà fornito fino al 31 dicembre 2026, mentre quello per la precedente versione FreeBSD 14.3 durerà fino al 30 giugno 2026. In generale, la branch FreeBSD 14 sarà supportata fino al 30 novembre 2028, e la branch FreeBSD 13.x fino al 30 aprile 2026. Parallelamente, è in sviluppo la branch FreeBSD 15, con il prossimo rilascio (15.1) previsto per il 2 giugno 2026.
Le principali novità di FreeBSD 14.4:
- È stata aggiunta l'utilità sndctl per la gestione delle impostazioni delle schede audio.
- L'utilità swapon ha ricevuto supporto per file di swap criptati, per i quali è possibile utilizzare dispositivi md con suffisso «.eli» attraverso fstab.
- Nell'utilità nuageinit, che esegue l'inizializzazione di macchine virtuali, è stato aggiunto il supporto per cloud-init, configurazione di rete e gestione dei pacchetti. Per garantire la compatibilità con cloud-init, sono stati aggiunti i comandi ‘runcmd’, ‘packages’, ‘fqdn’, ‘hostname’, ‘sudo’, ‘write_files’, ‘nameservers’, ‘tzsetup’ e ‘doas’. È stato implementato un parser completo per il formato YAML. È stata inoltre inclusa la registrazione delle attività. Sono state implementate le seguenti comandi: «chpasswd», ‘wakeonlan’, ‘set-name’ e ‘match.driver’.
- Il font della console spleen è stato aggiornato alla versione 2.2.0 ed è stato ampliato con simboli aggiuntivi (trattino lungo, trattino corto, trattino, parentesi angolare, quadrato bianco, croce e doppia croce). È stato migliorato l'allineamento dei caratteri su schermi ad alta densità di pixel. Il font di console gallant, che ora include oltre 4300 glifi, ha ricevuto supporto per il cirillico e set di simboli matematici, frecce, valute e cornici.
- È stato incluso il filesystem 9P (p9fs), che può essere utilizzato con dispositivi virtio-9p e l'hypervisor Bhyve per consentire l'accesso delle macchine virtuali al contenuto del filesystem dell'ambiente host. Per caricare il driver, è necessario utilizzare l'impostazione «virtio_p9fs_load=YES» in loader.conf.
- Nel filesystem tarfs è stata implementata la gestione di file di dimensioni superiori a 4 GB.
- Nel filesystem unionfs e nullfs è stato potenziato il controllo dei vnode radice durante l'elaborazione dei percorsi con «..» per bloccare potenziali vulnerabilità che permetterebbero di uscire al di fuori della directory radice dell'ambiente jail.
- Nel sottosistema Jail è stato limitato l'accesso degli utenti non privilegiati dal Jail padre per operazioni come il debug, la configurazione dello scheduler e l'invio di segnali ai processi che operano nei Jail figli. Per effettuare tali operazioni sono state introdotte singole autorizzazioni PRIV_SCHED_DIFFJAIL, PRIV_DEBUG_DIFFJAIL e PRIV_SIGNAL_DIFFJAIL. È stata aggiunta l'impostazione «allow.nounprivileged_parent_tampering» per ripristinare il comportamento precedente nella gestione dei processi nei Jail.
- Nel sottosistema Jail è stato aggiunto il supporto per i parametri «met» e «env», che consentono di associare metadati di stringa arbitrari e dati ambientali agli ambienti Jail. I parametri possono essere specificati durante la creazione di un Jail, modificati con il comando «jail -cm» e visualizzati con il comando jls. Ad esempio, ‘jail -cm … meta=»tag1=value1 tag2=value2″ env=»configuration»‘. Per limitare la dimensione massima dei dati nei parametri, è stata proposta l'impostazione sysctl «security.jail.meta_maxbufsize».
- Nell'utilità ngctl è stato aggiunto il flag «-j» per eseguire comandi all'interno di uno specifico ambiente Jail. Questo flag consente di manipolare i nodi netgraph in ambienti isolati, in cui l'utilità ngctl non è installata.
- Sono state ampliate le funzionalità dell'utilità mdo, che consente di eseguire comandi sotto un altro utente in modo simile all'utilità «su», ma utilizzando invece il modulo del kernel mac_do e la chiamata di sistema setcred. Nella nuova versione sono state realizzate opzioni per gestire gli identificatori di utenti e gruppi nei processi avviati: «-k» per mantenere gli utenti attuali; «-g» e «-G» per impostare il gruppo principale e quello secondario; «-s» per modificare i gruppi secondari; «—euid», «—ruid», «—svuid», «—egid», «—rgid» e «—svgid» per sovrascrivere gli identificatori specificati.
- Nell'utilità kadmin, destinata alla gestione di Kerberos, è stata aggiunta l'opzione «-f» per il dump del database Heimdal KDC in un formato compatibile con MIT KDC, permettendo una migrazione da Heimdal Kerberos a MIT Kerberos senza la necessità di ricreare completamente il database.
- Nella versione ridotta del gestore di pacchetti pkg(7) inclusa nel sistema di base, l'analisi delle opzioni è stata uniformata con la versione completa dello strumento pkg(8). L'ordine delle opzioni per i comandi in pkg(7) ora deve corrispondere al comportamento di pkg(8), ad esempio, anziché «pkg -f bootstrap» si deve indicare «pkg bootstrap -f».
- Nell'installer bsdinstall è stata interrotta la supporto per l'installazione utilizzando ZFS su dischi con MBR (ZFS può essere utilizzato solo su dischi con GPT). È garantita la copia del bootloader loader.efi in tutte le partizioni ESP (EFI System Partition) create su dischi ZFS, nel caso in cui il disco principale fallisca.
- Nell'utilità freebsd-update è stato introdotto un rigoroso ordine di installazione delle librerie condivise: libsys, libc, libthr e poi le altre, per evitare problemi durante l'aggiornamento da FreeBSD 14.x alla branch 15.x.
- Nell'utilità newfs è stato aggiunto il flag «-u» per disabilitare per impostazione predefinita il meccanismo delle «soft updates» e il journaling per il filesystem UFS2.
- Nelle librerie PAM (Pluggable Authentication Modules) è garantita la ricerca dei moduli nella directory «${LOCALBASE}/lib/security» oltre che nella directory «${LOCALBASE}/lib».
- Nel stack wireless net80211 è stato aggiunto il supporto per i canali VHT160 e VHT80P80, utilizzati nei moderni punti di accesso.
- È stato ampliato il supporto hardware. Nel driver iwlwifi per adattatori wireless Intel è stato aggiunto il supporto per ACPI. Nei driver ix e ixv è stata aggiunta la supporto per la serie di schede di rete Intel Ethernet E610 2.5G/5G/10G. Nei driver mfi e mrsas è stato aggiunto il supporto per i controller RAID Fujitsu SAS 6Gbit/s 1GB (D3116), utilizzati su server Fujitsu PRIMERGY.
- Nei sistemi di immagini per schede SD è stato aggiunto il supporto per le schede Raspberry Pi Zero 2W.
- Il processo in background blacklistd, che fornisce il blocco dinamico delle porte di rete per proteggere contro attacchi DoS, è stato aggiornato e rinominato in blocklistd.
- Nel sistema base è stato incluso un pacchetto con binding Lua per libyaml.
- OpenSSH è stato aggiornato dalla versione 9.9p2 alla 10.0p2 includendo di default l'algoritmo ibrido mlkem768x25519-sha256, resistente agli attacchi sui computer quantistici.
- Le versioni dei componenti di terze parti sono state aggiornate: OpenZFS 2.2.9 (erano 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.
- Nei supporti di installazione base (bootonly) sono stati aggiunti pacchetti con i firmwares per dispositivi wireless, che permettono di utilizzare una connessione wireless per il recupero dei file di installazione dalla rete.
- È stato aggiunto il file eseguibile sbin/ipfw15, compilato con il nuovo KBI (Kernel Binary Interface) per la compatibilità con il kernel FreeBSD 15. L'utility originale ipfw determina da sola la presenza del nuovo KBI ed esegue ipfw15 se necessario, per caricare correttamente le regole del filtro dei pacchetti durante l'aggiornamento a FreeBSD 15.
- Il supporto per il protocollo di routing RIP (routed, rtquery, route6d, rip6query) è stato dichiarato obsoleto e programmato per la rimozione. Si consiglia di utilizzare i pacchetti ‘bird’ o ‘quagga’ dalla collezione ports al posto di routed.
- È stata dichiarata obsoleta l'implementazione integrata nel kernel del sequencer MIDI.
- È stato rimosso il codice per la compatibilità con le versioni del filtro dei pacchetti ipfw fornite prima del rilascio di FreeBSD 8.
Fonte: opennet.ru
