Dopo sei mesi di sviluppo, è stato rilasciato FreeBSD 14.1. Le immagini di installazione sono state preparate per le architetture amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 e riscv64. Sono state inoltre preparate compilazioni per sistemi di virtualizzazione (QCOW2, VHD, VMDK, raw) e ambienti cloud come Amazon EC2, Google Compute Engine e Vagrant.
Variazioni principali:
- È stato lavorato per migliorare lo stack audio. È stata realizzata la possibilità di scollegare i dispositivi audio in modalità asincrona, necessaria ad esempio per lo scollegamento a caldo delle schede audio con interfaccia USB. Il framework snd_clone e i relativi parametri sysctl sono stati rimossi, semplificando così il sotto-sistema audio. Invece di file di dispositivo separati per ogni canale audio (/dev/dspX.Y), ora viene creato solo il file di dispositivo principale (/dev/dspX).
- Le funzioni di gestione delle stringhe e della memoria in libc sono state ottimizzate utilizzando istruzioni SIMD su sistemi con architettura AMD64. Sono state proposte 17 funzioni ottimizzate con SIMD, oltre a 9 funzioni convertite per richiamare funzioni ottimizzate tramite SIMD. Durante i test, le prestazioni delle nuove funzioni nel trattamento di stringhe di 64 caratteri sono aumentate di 5.54 volte.
- È stato aggiunto il supporto integrato per la configurazione tramite cloud-init, uno strumento per la configurazione del sistema durante il processo di avvio. Tra le altre cose, supporta la creazione di utenti/gruppi, l'aggiunta di chiavi ssh, la configurazione dei parametri di connessione di rete, la definizione dello script di avvio nuageinit e la configurazione delle partizioni del disco (config-drive). La realizzazione è compatibile con OpenStack e molti hosting-provider.
- Per i nuovi file system UFS2, creati dall'utilità newfs, il journaling (soft updates) è abilitato per impostazione predefinita.
- È stata fornita la possibilità di compilare il kernel solo con supporto IPv6 (INET6), senza IPv4 (INET).
- Nell'utilità adduser, utilizzata in bsdinstall, è garantita la creazione di un dataset ZFS separato (partizione, snapshot o clone) per la home directory dell'utente, se il dataset ZFS è già utilizzato per la directory parent. È stata inoltre aggiunta la possibilità di utilizzare la crittografia delle home directory tramite ZFS. Per gestire l'attivazione di queste funzionalità, nel file adduser.conf sono stati aggiunti i parametri "Zcreate" e "Zencrypt".
- Nella libreria «libutil» è stata aggiunta la supporto per impostare la priorità dei processi in base alle impostazioni del file «.login.conf», posizionato nella home directory. È stata aggiunta la supporto per il valore «inherit» nell'impostazione della priorità o umask, in cui la priorità e umask sono impostati come quelli del processo padre.
- Nell'utilità «date» è stata aggiunta la supporto per la precisione in nanosecondi, ad esempio, «date -Ins» restituirà «2024-06-04T10:20:28,763742224+05:00», mentre «date +%N» darà «415050400».
- Nell'utilità «dtrace» è stata implementata la possibilità di generare output in formati utili per l'analisi automatica e la visualizzazione, come JSON, XML e HTML.
- Nell'utilità «usbconfig» è stata integrata la possibilità di visualizzare informazioni aggiuntive sui dispositivi USB e sui produttori, corrispondenti alle descrizioni contenute nel file /usr/share/misc/usb_vendors.
- Nel driver «ice» è stata aggiunta la supporto per i controller Ethernet Intel E800 con una capacità di 100 Gb/s.
- Nel driver Ethernet «msc» è stata aggiunta la supporto per impostare l'indirizzo MAC basato sul parametro «smsc95xx.macaddr», fornito da alcuni modelli di schede Raspberry Pi.
- Sono stati effettuati lavori per migliorare la stabilità del driver «iwlwifi» per i chip wireless Intel.
- È stata aggiunta la possibilità di utilizzare diverse aree PCI MCFG sui sistemi amd64 e i386 per segmentare lo spazio degli indirizzi dei dispositivi PCI.
- È stata ampliata la supporto per l'hardware.
- Nel gestore NFS «mountd» è stata utilizzata la libreria «strunvis» per decodificare i nomi delle directory nel file «exports», consentendo l'uso di caratteri speciali nei nomi delle directory, come gli spazi. Sono state aggiunte nuove variabili sysctl kern.rpc.unenc e kern.rpc.tls per la configurazione di NFS-over-TLS.
- Nel bootloader è stato garantito il caricamento dei file di configurazione elencati nella variabile local_loader_conf_files, dopo i file di configurazione definiti nel file /boot/loader.conf.local. È stata inoltre aggiunta la possibilità di estrarre impostazioni da SMBIOS in relazione agli identificatori di produttore e prodotto. È stato migliorato il riconoscimento della console sui sistemi con EFI. L'implementazione del framebuffer nel bootloader può ora utilizzare driver video della console.
- È stata implementata la possibilità di utilizzare il bootloader LinuxBoot (loader.kboot) per avviare FreeBSD da ambienti basati su Linux sui sistemi aarch64 e amd64.
- In rc.conf è stata aggiunta la supporto per il parametro kdc_restart, che abilita il riavvio automatico di kdc (server Kerberos 5) in caso di crash. È disponibile anche il parametro kdc_restart_delay, tramite il quale è possibile impostare un ritardo prima del riavvio.
- Per impostazione predefinita, al fine di ridurre la dimensione dei rapporti inviati via email, sono state ridotte le informazioni sulle modifiche durante l'esecuzione di lavori e script programmati che controllano la sicurezza. Per configurare il livello di output si possono utilizzare i parametri daily_diff_flags e security_status_diff_flags in periodic.conf.
- Aggiornate le versioni dei componenti di terze parti: Clang/LLVM 18.1.5, OpenZFS 2.2.4, OpenSSH 9.7p1, awk 2024-01-22 (con supporto UTF-8 e modalità «-csv»), libarchive 3.7.4, sendmail 8.18.1, unbound 1.20.0.
Fonte: opennet.ru
