Rilascio di FreeBSD 15.0

Dopo due anni dalla pubblicazione della versione 14.0, è stato rilasciato FreeBSD 15.0. Le build di installazione sono state preparate per le architetture amd64, aarch64, armv7, powerpc64, powerpc64le e riscv64. Sono disponibili anche build per sistemi di virtualizzazione (QCOW2, VHD, VMDK, raw) e per ambienti cloud come Amazon EC2, Google Compute Engine e Vagrant.

A partire dalla versione FreeBSD 15, il tempo di supporto per le versioni principali dopo il rilascio della prima versione (15.0) è stato ridotto da 5 a 4 anni, e nuove versioni principali saranno create ogni due anni. Le versioni intermedie (15.1, 15.2, 15.3) saranno sviluppate all'interno di un ciclo di sviluppo fisso, previsto per la pubblicazione di nuove versioni all'interno della stessa versione circa ogni 6 mesi, anziché una volta all'anno come prima. Considerando il supporto simultaneo di due versioni principali diverse, una nuova versione intermedia sarà pubblicata ogni 3 mesi (15.4, 16.1, 15.5, 16.2, ecc.), ad eccezione della preparazione dei primi rilasci delle nuove versioni principali, per le quali ci sarà una pausa di 6 mesi nei rilasci (ad esempio, la versione 15.3 sarà rilasciata a giugno 2027, 16.0 a dicembre 2027, 15.4 a marzo 2028, 16.1 a giugno 2028).

Le principali modifiche in FreeBSD 15.0 (nelle note ufficiali di rilascio, oltre alle modifiche specifiche per il rilascio 15.0, sono state menzionate molte funzionalità precedentemente aggiunte alle versioni 14.1, 14.2 e 14.3):

  • È stata fornita la possibilità di utilizzare il gestore pacchetti pkg per installare e aggiornare i componenti del sistema di base. I pacchetti pkgbase possono essere forniti su supporto di installazione per installazione offline o scaricati dal repository pkg.freebsd.org. Nella configurazione pkg (/etc/pkg/FreeBSD.conf), il repository FreeBSD-base non è incluso per impostazione predefinita. L'installatore bsdinstall offre due modalità di installazione: tradizionale e con pacchetti (pkgbase). Il supporto per il metodo tradizionale, in cui il sistema di base viene considerato un ambiente monolitico, aggiornato tramite l'utility freebsd-update, è previsto per essere rimosso nella versione FreeBSD 16. Il nuovo metodo, che prevede l'installazione del sistema di base come un insieme di pacchetti dal repository FreeBSD-base, è proposto per impostazione predefinita nelle build per macchine virtuali e immagini per ambienti cloud, ma è attualmente considerato sperimentale per i sistemi normali.
  • È stata aggiunta la supporto per la compilazione di FreeBSD in ambienti non privilegiati, che non richiedono diritti di root. Senza diritti di root è anche possibile creare immagini iso di installazione e immagini di sistema per macchine virtuali. Durante il processo di compilazione, i diritti di root erano necessari per la creazione di file dispositivi, la definizione dei diritti di accesso e il montaggio di file system aggiuntivi (ad esempio, durante la creazione di immagini disco).
  • È stata implementata la supporto per compilazioni riproducibili, che consentono di verificare che i file binari distribuiti siano stati compilati dal codice sorgente fornito e non contengano modifiche nascoste. Le compilazioni riproducibili garantiscono l'identità dei file binari generati dal codice sorgente in diversi ambienti di compilazione.
  • È stata interrotta la creazione di immagini di installazione e di pacchetti binari per architetture a 32 bit i386, armv6 e powerpc. Delle piattaforme a 32 bit rimane solo armv7. La possibilità di compilare programmi a 32 bit e di utilizzare la modalità COMPAT_FREEBSD32 per eseguire file eseguibili a 32 bit in un ambiente basato su kernel a 64 bit rimarrà disponibile almeno fino alla fine del ciclo di vita della versione FreeBSD 16.
  • Sono state aggiunte chiamate di sistema con l'implementazione del meccanismo inotify per monitorare le modifiche nei file system.
  • È stata aggiunta la supporto per gli attributi file nominati (attributi estesi in stile Solaris), che si prevede saranno supportati come un meccanismo alternativo di gestione degli attributi estesi, disponibile per ZFS e NFSv4. Le differenze rispetto ai metodi tradizionali di FreeBSD e Linux per il lavoro con atributos estesi riguardano la rappresentazione degli attributi in una directory di servizio, non visibile nello spazio di nomi principale del FS e associata al file. Gli attributi sono trattati come file normali, ad esempio, per determinare l'elenco degli attributi è possibile eseguire la funzione readdir().
  • È stato dichiarato pronto per l'uso il modulo mac_do, che consente di impostare politiche che consentono agli utenti non privilegiati di modificare le credenziali dei processi. Per eseguire comandi come un altro utente è stata preparata l'utilità mdo, simile all'utilità su, ma che non richiede i privilegi suid root.
  • Lo stato dei driver DRM i915 e amdgpu è sincronizzato con il kernel Linux 6.9. I driver dei dispositivi wireless rtw88 (Realtek 802.11n/ac), rtw89 (Realtek 802.11ax) e iwlwifi (Intel 02.11a/b/g/n/ac/ax/be) sono sincronizzati con il kernel Linux 6.17.
  • L'implementazione del protocollo TLS a livello di kernel (KTLS) è abilitata per impostazione predefinita.
  • È stato aggiunto lo strumento sndctl per gestire le impostazioni delle schede audio.
  • È stato aggiunto lo strumento mididump per il dump degli eventi MIDI 1.0 in tempo reale.
  • Nel hypervisor bhyve è stato aggiunto un nuovo backend di rete 'slirp', che utilizza la libreria libslirp con un'implementazione dello stack di rete nello spazio utente. Il backend 'slirp' consente di organizzare l'accesso alla rete del sistema guest dall'ambiente host senza una configurazione di rete separata sul lato host.
  • L'implementazione di Kerberos nel mainline di FreeBSD è stata sostituita da Heimdal Kerberos a MIT Kerberos. Per ripristinare Heimdal Kerberos durante la compilazione, è possibile utilizzare l'opzione WITHOUT_MITKRB5. In FreeBSD 16, il supporto per la compilazione di Heimdal Kerberos sarà rimosso.
  • Il comportamento delle chiamate di sistema setgroups, getgroups e initgroups nella gestione dei gruppi utenti è stato avvicinato ad altre piattaforme (la differenza di implementazione in FreeBSD riguardava la memorizzazione dell'identificatore efficace del gruppo di processi nel primo elemento dell'array con l'elenco dei gruppi).
  • Nelle impostazioni del gestore pacchetti pkg è stato abilitato per impostazione predefinita un nuovo repository FreeBSD-kmods, che ospita pacchetti con moduli kernel compilati per specifiche versioni del ramo 15.x-RELEASE, invece del ramo sempre aggiornato 15-STABLE. Il repository FreeBSD-kmods risolve il problema dell'installazione dei driver legati a interfacce kernel instabili (ad esempio, driver grafici). I repository 'FreeBSD' e 'FreeBSD-kmods' precedentemente presenti in /etc/pkg/FreeBSD.conf sono stati rinominati in 'FreeBSD-ports' e 'FreeBSD-ports-kmods'.
  • In NFS è stata aggiunta la supporto all'operazione CLONE, definita nella specifica NFSv4.2, che consente la copia rapida di file tramite clonazione di blocchi sul server. Questa modalità attualmente funziona solo quando viene esportato tramite NFS sezioni ZFS.
  • Nei sistemi amd64 è stata aggiunta la possibilità di utilizzare più di 4TB di RAM.
  • È stato aggiunto il driver ufshci per supportare i controller di archiviazione di sistema con interfaccia UFSHCI (Universal Flash Storage Host Controller Interface).
  • Il sysctl net.link.bridge.member_ifaddrs è impostato su 0 di default, quindi è possibile aggiungere interfacce ai bridge di rete senza indirizzi IP.
  • L'affidabilità delle partizioni con il filesystem UFS è aumentata per quelle contenenti oltre 2.000.000.000 inode. Nella realizzazione del filesystem UFS1 è stata risolta la problematica del 2038, permettendo l'uso di date fino al 2106.
  • Aggiunta l'opzione dei socket di rete SO_SPLICE per combinare le connessioni TCP (simile a un proxy che funziona senza copiare i dati nello spazio utente).
  • Nell'utility grep, per impostazione predefinita è disabilitato il bypass dei collegamenti simbolici durante la ricerca ricorsiva.
  • Aggiunto il modulo del kernel nvmft per supportare i controller NVMe over Fabric e l'utility nvmecontrol per connettersi a un controller NVMe over Fabric esterno.
  • Nell'utility date è stata aggiunta la possibilità di visualizzare l'ora con precisione al nanosecondo; ad esempio, "date -Ins" mostrerà "2024-04-22T12:20:28,763742224+02:00".
  • Nell'ambiente jail è stata aggiunta la supporto per l'opzione zfs.dataset, che permette di includere una partizione, uno snapshot o un clone ZFS nell'ambiente jail isolato. Il comando jail ora supporta i parametri "meta" e "env", che consentono di legare metadati o trasmettere variabili d'ambiente. È stata aggiunta la possibilità di indirizzare gli ambienti jail tramite i descrittori jail, per i quali sono state proposte le funzioni jail_set e jail_get, insieme alle chiamate di sistema jail_attach_jd e jail_remove_jd. È stata introdotta la possibilità di utilizzare i filtri kevent per monitorare le operazioni di creazione, eliminazione, modifica e allegamento di Jail.
  • Nell'utility newsyslog è stato implementato un parametro per impostare il metodo di compressione predefinito utilizzato (bzip2, xz, zstd, gzip), eliminando la necessità di specificare flag separati (J, X, Y, Z) in ogni riga di newsyslog.conf.
  • Nella libreria C standard sono state introdotte ottimizzazioni basate su istruzioni SIMD in molte funzioni che operano su stringhe e memoria.
  • Nel carattere Gallant, utilizzato nei terminali virtuali, sono stati aggiunti oltre 4300 nuovi glifi, inclusi glifi con caratteri cirillici e simboli matematici.
  • Nel tty, per impostazione predefinita, è stato impostato il flag IUTF8, che consente la corretta eliminazione dei caratteri UTF-8 quando si preme Backspace.
  • L'utility dialog, utilizzata nel configuratore bsdconfig e nell'installatore bsdinstall, è stata sostituita da bsddialog.
  • 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 principale. È stata anche aggiunta la possibilità di utilizzare la crittografia delle home directory tramite ZFS. Per gestire l'attivazione di queste funzionalità, sono stati aggiunti i parametri "Zcreate" e "Zencrypt" in adduser.conf.
  • È garantita la creazione di immagini di container compatibili con OCI e immagini di sistema per Oracle Cloud.
  • È stato aggiunto un nuovo tipo di immagini "small" per ambienti cloud compatibili con AWS EC2. A differenza delle immagini di base, queste escludono informazioni di debug, test, librerie a 32 bit, il debugger LLDB, Amazon SSM Agent e AWS CLI. Il caricamento delle immagini "base" per EC2 è stato accelerato del 76%.
  • Per impostazione predefinita, è stata disabilitata e dichiarata obsoleta l'impostazione net.inet.tcp.nolocaltimewait, ovvero è stato ripristinato il comportamento di default nella creazione delle voci TIME_WAIT per le connessioni TCP terminate dal lato del sistema locale. È stato aggiunto un nuovo sysctl net.inet.tcp.msl_local per configurare il tempo di permanenza della connessione nello stato TIME_WAIT.
  • Per impostazione predefinita, è stato disabilitato il supporto per la creazione di connessioni di rete a localhost specificando INADDR_ANY. Per ripristinare il supporto, è possibile impostare il sysctl net.inet.ip.connect_inaddr_wild su 1.
  • È stato rimosso il gestore dei volumi logici gvinum, utilizzato per RAID software. Lo sviluppo di Gvinum è fermo da circa 15 anni, mentre nel codice sono presenti diversi problemi noti che non sono stati mai risolti. Si raccomanda di utilizzare gconcat, gmirror, gstripe, graid o zfs al posto di gvinum.
  • È previsto la rimozione del driver agp (Accelerated Graphics Port) in FreeBSD 16, necessario per il funzionamento di molti driver per schede video obsolete. Sono stati dichiarati obsoleti e programmati per la rimozione anche i driver: fdc (IBM PC Floppy Disk Controller), firewire (IEEE1394 Serial Bus), le (AMD Am7900 LANCE e Am79C9xx Ethernet) e upgt (USB 802.11g).
  • È stata dichiarata obsoleta la funzione readdir_r.
  • Nel server SNMP bsnmpd è stato interrotto il supporto per il trasporto UDP.
  • È stata interrotta la generazione di chiavi host RSA per SSH e EC2 AMI. Il supporto per DSA è stato rimosso da OpenSSH. È stato rimosso il database publickey legato all'algoritmo DES.
  • Sono stati rimossi dalla base di sistema ftpd e shar, per i quali si devono utilizzare i porti ftp/freebsd-ftpd e sysutils/freebsd-shar.
  • È stata dichiarata obsoleta l'utilità fdisk, per la quale si deve usare gpart.
  • Nella categoria dei driver obsoleti è stato incluso il driver syscons, che è incompatibile con UEFI, non supporta UTF-8 ed è legato al blocco globale.
  • Aggiornate le versioni di 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 (con supporto per 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.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster