Dopo nove mesi di sviluppo, è stata rilasciata la versione FreeBSD 14.4. Le immagini di installazione sono state preparate per le architetture amd64, i386, aarch64, armv7, powerpc, powerpc64 e riscv64. Inoltre, sono state preparate versioni per i sistemi di virtualizzazione (QCOW2, VHD, VMDK, raw) e per gli ambienti cloud Amazon EC2, Google Compute Engine e Vagrant.
Il prossimo aggiornamento FreeBSD 14.5 è previsto per settembre 2026. Il supporto per l'attuale rilascio di FreeBSD 14.4 sarà garantito fino al 31 dicembre 2026, mentre per il rilascio precedente FreeBSD 14.3 sarà fino al 30 giugno 2026. In generale, il ramo FreeBSD 14 sarà mantenuto fino al 30 novembre 2028, mentre il ramo FreeBSD 13.x fino al 30 aprile 2026. Parallelamente, è in corso lo sviluppo del ramo FreeBSD 15, il prossimo rilascio (15.1) è previsto per il 2 giugno 2026.
Principali modifiche in FreeBSD 14.4:
- Aggiunto lo strumento sndctl per gestire le impostazioni delle schede audio.
- È stata aggiunta al comando swapon il supporto per file di paging crittografati, per i quali è possibile utilizzare dispositivi md con suffisso “.eli” tramite fstab.
- Nello strumento nuageinit, che esegue l'inizializzazione macchine virtuali, è stato aggiunto il supporto per cloud-init, la configurazione di rete e la gestione dei pacchetti. Sono stati aggiunti comandi per la compatibilità con cloud-init: ‘runcmd’, ‘packages’, ‘fqdn’, ‘hostname’, ‘sudo’, ‘write_files’, ‘nameservers’, ‘tzsetup’ e ‘doas’. È stata implementata una complete parsers per il formato YAML. È stata inclusa la registrazione dei log. Sono stati implementati i 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, segno meno, parentesi angolari, quadrato bianco, croce e doppia croce). È stato migliorato l'allineamento dei simboli sugli schermi ad alta densità di pixel. Nel font della console gallant, che ora include più di 4300 glifi, è stato aggiunto il supporto per il cirillico e per set di simboli matematici, frecce, valute e cornici.
- È stata inclusa la filesystem 9P (p9fs), che può essere utilizzata con dispositivi virtio-9p e il hypervisor Bhyve per consentire l'accesso delle macchine virtuali al contenuto del filesystem dell'ambiente host. Per caricare il driver in loader.conf è necessario utilizzare la configurazione “virtio_p9fs_load=YES”.
- Nel filesystem tarfs è stata messa a punto la possibilità di lavorare con file di dimensioni superiori a 4 GB.
- Nel filesystem, unionfs e nullfs hanno rafforzato il controllo dei vnode radice durante l'elaborazione dei percorsi con «..» per bloccare potenziali vulnerabilità che consentono di uscire oltre la radice della directory jail.
- Nel sottosistema Jail è stato limitato l'accesso degli utenti non privilegiati dal Jail padre all'esecuzione del debug, alla configurazione dello scheduler e all'invio di segnali ai processi in esecuzione nei Jail figli. Per l'esecuzione di tali operazioni sono state proposte privilegio separati: PRIV_SCHED_DIFFJAIL, PRIV_DEBUG_DIFFJAIL e PRIV_SIGNAL_DIFFJAIL. Per ripristinare il comportamento precedente nella gestione dei processi nel Jail è stata aggiunta l'impostazione «allow.nounprivileged_parent_tampering».
- Nel sottosistema Jail è stata aggiunta la supporto ai parametri «met» e «env», grazie ai quali è possibile associare metadati e dati ambientali arbitrari agli ambienti Jail. I parametri possono essere impostati durante la creazione del 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 dell'ambiente Jail specificato. Il flag aggiunto consente di manipolare i nodi netgraph in ambienti isolati in cui non è installata l'utilità ngctl.
- L'utilità mdo ha ampliato le sue capacità, consentendo di eseguire comandi con un altro utente in modo simile all'utilità «su», ma utilizzando il modulo del kernel mac_do e la chiamata di sistema setcred anziché setuid. Nella nuova versione sono state implementate opzioni per gestire gli identificatori di utenti e gruppi nei processi lanciati: «-k» per mantenere l'utente corrente; «-g» e «-G» per impostare il gruppo principale e quello aggiuntivo; «-s» per modificare i gruppi aggiuntivi; «—euid», «—ruid», «—svuid», «—egid», «—rgid» e «—svgid» per ridefinire 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, il che consente di eseguire la migrazione da Heimdal Kerberos a MIT Kerberos senza dover ricreare completamente il database.
- Nella versione ridotta del gestore di pacchetti pkg(7) fornita nel sistema di base, l'analisi delle opzioni è uniformata con la versione completa degli strumenti pkg(8). L'ordine delle opzioni per i comandi in pkg(7) deve ora corrispondere al comportamento di pkg(8), ad esempio, invece di "pkg -f bootstrap" si deve indicare "pkg bootstrap -f".
- Nell'installer bsdinstall è stata interrotta la supporto per l'installazione utilizzando il filesystem ZFS su dischi con MBR (ZFS può essere utilizzato solo su dischi con GPT). È garantita la copia del bootloader loader.efi in tutte le ESP (EFI System Partition) create su dischi con ZFS, nel caso in cui il disco principale si guasti.
- Nell'utilità freebsd-update è stato garantito un rigoroso ordine di installazione delle librerie condivise: libsys, libc, libthr e poi le altre, il che esclude l'insorgere di problemi durante l'aggiornamento da FreeBSD 14.x al ramo 15.x.
- Nell'utilità newfs è stato aggiunto il flag "-u" per disabilitare per impostazione predefinita il meccanismo delle "soft updates" e il logging per il filesystem UFS2.
- Nelle librerie PAM (Pluggable Authentication Modules) è stato garantito il supporto alla ricerca dei moduli nella directory "${LOCALBASE}/lib/security" oltre alla directory "${LOCALBASE}/lib".
- Nel protocollo wireless net80211 è stato aggiunto il supporto ai 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 è stato aggiunto il supporto per la famiglia 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.
- Nelle immagini generate per le schede SD è stato aggiunto il supporto per le schede Raspberry Pi Zero 2W.
- Il processo in background blacklistd, che garantisce il blocco dinamico delle porte di rete per proteggere da attacchi DoS, è stato aggiornato e rinominato in blocklistd.
- Nel sistema di base è stato incluso un pacchetto con binding Lua per libyaml.
- OpenSSH è stato aggiornato dalla versione 9.9p2 alla 10.0p2, inclusa per impostazione predefinita l'algoritmo ibrido mlkem768x25519-sha256, resistente agli attacchi su computer quantistici.
- Aggiornate le versioni dei componenti di terze parti: OpenZFS 2.2.9 (prima era 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 di base (bootonly) sono stati aggiunti pacchetti con firmware per dispositivi wireless, che consentono di utilizzare una connessione wireless per il recupero tramite rete dei file di installazione.
- Aggiunto il file eseguibile sbin/ipfw15, compilato con un nuovo KBI (Kernel Binary Interface) per la compatibilità con il kernel FreeBSD 15. L'utility originale ipfw determina automaticamente la presenza del nuovo KBI e avvia ipfw15 quando necessario per caricare correttamente le regole del filtro pacchetti durante l'aggiornamento a FreeBSD 15.
- È stata dichiarata obsoleta e programmata per la rimozione la supporto al protocollo di routing RIP (routed, rtquery, route6d, rip6query). Si raccomanda di utilizzare i pacchetti ‘bird’ o ‘quagga’ dalla collezione dei porti al posto di routed.
- È stata dichiarata obsoleta l'implementazione MIDI-sequencer integrata nel kernel.
- Rimosso il codice per la compatibilità con le versioni del filtro pacchetti ipfw fornite prima del rilascio di FreeBSD 8.
Fonte: opennet.ru
