Dopo un anno di sviluppo, è stata rilasciata la versione FreeBSD 13.1. Le immagini di installazione sono disponibili per le architetture amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 e riscv64. Sono state inoltre preparate build per ambienti di virtualizzazione (QCOW2, VHD, VMDK, raw) e per i cloud di Amazon EC2, Google Compute Engine e Vagrant.
Nella nuova versione:
- È stato proposto un driver iwlwifi per schede di rete wireless Intel con supporto per i nuovi chip e lo standard 802.11ac. Il driver è basato sul driver Linux e sul codice del sottosistema Linux net80211, il cui funzionamento su FreeBSD è garantito tramite un layer di astrazione chiamato linuxkpi.
- L'implementazione del file system ZFS è stata aggiornata alla versione OpenZFS 2.1, con supporto per la tecnologia dRAID (Distributed Spare RAID) e significative ottimizzazioni delle prestazioni.
- È stato aggiunto un nuovo script rc chiamato zfskeys, che permette di organizzare la decrittazione automatica delle partizioni ZFS criptate durante la fase di avvio.
- Nello stack di rete è stato modificato il comportamento per gli indirizzi IPv4 con l'ultimo numero nullo (x.x.x.0), che ora può essere utilizzato come host e a cui non viene applicata per impostazione predefinita l'invio in modalità broadcast. È possibile ripristinare il comportamento precedente tramite il comando sysctl net.inet.ip.broadcast_lowest.
- Per le architetture a 64 bit è inclusa di default la build del sistema di base utilizzando la modalità PIE (Position Independent Executable). È prevista un'impostazione per disabilitarla: WITHOUT_PIE.
- È stata aggiunta la possibilità di chiamare chroot da un processo non privilegiato, per il quale è stato impostato il flag NO_NEW_PRIVS. La modalità può essere attivata tramite sysctl security.bsd.unprivileged_chroot. È stata aggiunta all'utility chroot l'opzione "-n", che imposta il flag NO_NEW_PRIVS per il processo prima della sua isolazione.
- Nel programma di installazione bsdinstall è stata aggiunta la modalità di editing automatizzato delle partizioni dei dischi, che consente di collegare script di partizione per diversi nomi di dischi, funzionando senza l'intervento dell'utente. Questa possibilità semplifica la creazione di supporti di installazione completamente automatici per sistemi e di macchine virtuali con dischi diversi.
- Migliorato il supporto per l'avvio su sistemi con UEFI. Nel bootloader è stata inclusa l'impostazione automatica del parametro copy_staging, a seconda delle capacità del kernel avviato.
- Sono stati svolti lavori per migliorare le prestazioni del bootloader, nvme, rtsold, l'inizializzazione del generatore di numeri pseudo-casuali e la calibrazione del timer, riducendo il tempo di avvio.
- È stata aggiunta la supporto per l'utilizzo di NFS su un canale di comunicazione crittografato basato su TLS 1.3. La nuova implementazione utilizza lo stack TLS fornito dal kernel, consentendo di sfruttare le risorse di accelerazione hardware. La configurazione dei processi rpc.tlsclntd e rpc.tlsservd con l'implementazione del client e del server NFS-over-TLS è abilitata di default per le architetture amd64 e arm64.
- Per NFSv4.1 e 4.2, è stata implementata l'opzione di montaggio nconnect, che definisce il numero di connessioni TCP stabilite. server La prima connessione viene utilizzata per piccoli messaggi RPC, mentre le altre servono per il bilanciamento del traffico e dei dati trasmessi.
- Per il server NFS è stato aggiunto il sysctl vfs.nfsd.srvmaxio, che consente di modificare la dimensione massima del blocco di input/output (di default 128Kb).
- È stato migliorato il supporto hardware. Nel driver igc è stata aggiunta la supporto per il controller Ethernet Intel I225. Migliorato il supporto per i sistemi Big-endian. È stato aggiunto il driver mgb per il controller Ethernet Microchip devices LAN7430 PCIe Gigabit Ethernet.
- Il driver ice, utilizzato per i controller Ethernet Intel E800, è stato aggiornato alla versione 1.34.2-k, che introduce il supporto per il logging degli eventi di firmware e aggiunge una prima implementazione delle estensioni del protocollo DCB (Data Center Bridging).
- Nelle immagini per Amazon EC2, il boot avviene per impostazione predefinita utilizzando UEFI invece del BIOS.
- Nel hypervisor bhyve, sono stati aggiornati i componenti per emulare i dischi NVMe, con supporto per la specifica NVMe 1.4. Sono stati risolti problemi con NVMe iovec durante operazioni di I/O intensive.
- La libreria CAM è stata adattata per utilizzare la chiamata realpath nella gestione dei nomi dei dispositivi, consentendo l'uso di link simbolici ai dispositivi nelle utility camcontrol e smartctl. In camcontrol, sono stati risolti problemi con il caricamento del firmware sui dispositivi.
- È stata interrotta la costruzione dell'utility svnlite nel sistema di base.
- Aggiunti varianti Linux delle utility per il calcolo delle somme di controllo (md5sum, sha1sum, ecc.) implementate tramite la chiamata delle utility BSD esistenti (md5, sha1, ecc.) con l'opzione '-r'.
- All'utility mpsutil è stato aggiunto il supporto per la gestione di NCQ e ora mostra informazioni sull'adattatore.
- Nel file /etc/defaults/rc.conf è abilitata di default l'opzione «-i» per l'invocazione dei processi rtsol e rtsold, responsabili dell'invio dei messaggi ICMPv6 RS (Router Solicitation). Questa opzione disabilita il ritardo casuale prima dell'invio del messaggio.
- Per le architetture riscv64 e riscv64sf è inclusa la compilazione delle librerie con ASAN (address sanitizer), UBSAN (Undefined Behavior Sanitizer), OpenMP e OFED (Open Fabrics Enterprise Distribution).
- Sono stati risolti i problemi di identificazione delle funzionalità hardware di accelerazione crittografica supportate dai processori ARMv7 e ARM64, il che ha consentito di accelerare significativamente le operazioni degli algoritmi aes-256-gcm e sha256 sui sistemi ARM.
- Per l'architettura powerpc, è stato incluso il debugger LLDB, sviluppato dal progetto LLVM.
- La libreria OpenSSL è stata aggiornata alla versione 1.1.1o e ampliata con ottimizzazioni in assembly per le architetture powerpc, powerpc64 e powerpc64le.
- Il server e client SSH sono stati aggiornati a OpenSSH 8.8p1, disabilitando il supporto per le firme digitali rsa-sha e aggiungendo la supporto per l'autenticazione a due fattori tramite dispositivi basati sul protocollo FIDO/U2F. Per l'interazione con i dispositivi FIDO/U2F sono stati aggiunti nuovi tipi di chiavi «ecdsa-sk» ed «ed25519-sk», che utilizzano gli algoritmi di firma digitale ECDSA ed Ed25519, insieme all'hash SHA-256.
- Aggiornate le versioni delle applicazioni di terze parti incluse nel sistema di base: awk 20210215 (con patch che disabilitano l'uso delle località per gli intervalli e migliorano la compatibilità con gawk e mawk), zlib 1.2.12, libarchive 3.6.0.
Fonte: opennet.ru
