Rilascio di OpenBSD 7.2

Viene presentata la versione gratuita del sistema operativo UNIX-like OpenBSD 7.2. Il progetto OpenBSD è stato fondato da Theo de Raadt nel 1995 dopo un conflitto con gli sviluppatori NetBSD, a seguito del quale a Theo è stato negato l'accesso al repository CVS di NetBSD. Successivamente, Theo de Raadt e un gruppo di persone affini hanno creato un nuovo sistema operativo aperto basato sull'albero dei sorgenti NetBSD, i cui principali obiettivi di sviluppo erano la portabilità (sono supportate 13 piattaforme hardware), la standardizzazione, il corretto funzionamento, la sicurezza proattiva e strumenti crittografici integrati. L'immagine ISO di installazione completa del sistema base OpenBSD 7.2 è di 556 MB.

Oltre al sistema operativo stesso, il progetto OpenBSD è noto per i suoi componenti, che si sono diffusi in altri sistemi e si sono dimostrati una delle soluzioni più sicure e di alta qualità. Tra questi: LibreSSL (fork di OpenSSL), OpenSSH, filtro pacchetti PF, demoni di routing OpenBGPD e OpenOSPFD, server NTP OpenNTPD, server di posta OpenSMTPD, multiplexer terminale di testo (analogo allo schermo GNU) tmux, demone identd con implementazione del protocollo IDENT, alternativa BSDL Pacchetto GNU groff - mandoc, protocollo per l'organizzazione di sistemi tolleranti agli errori CARP (Common Address Redundancy Protocol), server http leggero, utilità di sincronizzazione file OpenRSYNC.

Principali miglioramenti:

  • Supporto migliorato per i sistemi basati sull'architettura ARM, incluso il supporto aggiunto per i chip Apple M2 e Ampere Altra ARM. Aggiunto supporto per il laptop Lenovo ThinkPad x13s e altri dispositivi basati sul SoC Qualcomm Snapdragon 8cx Gen 3 (SC8280XP).
  • Aggiunta la possibilità di caricare il kernel per ram disk (bsd.rd) e il kernel per sistemi multiprocesso (bsd.mp) in ambienti Oracle Cloud.
  • Il dispositivo kstat è abilitato, esportando le statistiche sulle prestazioni del kernel che possono essere visualizzate dall'utilità kstat.
  • Per ogni core del processore con supporto MPERF/APERF, sono implementati sensori di frequenza della CPU. Quando si utilizza l'alimentazione a batteria, il ridimensionamento della frequenza della CPU è abilitato in base al carico.
  • Aggiunto il supporto iniziale per la modalità di sospensione sui sistemi ARM64. Il limite al numero di CPU supportate è stato aumentato a 256. È stata implementata la possibilità di passare da una console basata su framebuffer (console in vetro) a una console basata su seriale.
  • Rimosso il codice per rilevare CPU 386sx/386dx, NexGen, Rise e processori Cyrix precedenti rilasciati prima del chip Cyrix M2.
  • Supporto migliorato per i sistemi multiprocessore (SMP). Le funzioni per la limitazione della larghezza di banda (rate limit), la ricerca dei record ARP e il timer del percorso sono state trasferite nella categoria mp-safe. È stata implementata la capacità di eseguire operazioni parallele come il riassemblaggio dei pacchetti IPv4 e il reindirizzamento dei pacchetti IP. Aggiunto il blocco dei socket utilizzando mutex all'elaborazione dei pacchetti UDP e IP in entrata. Le chiamate di sistema kbind e pledge sono state rimosse dal blocco. Implementato il blocco dei socket UNIX che opera a livello dei singoli socket.
  • L'implementazione del framework drm (Direct Rendering Manager) è sincronizzata con il kernel Linux 5.15.69 (ultima versione - 5.15.26). Il driver inteldrm ha aggiunto il supporto per i chip Intel basati sulle microarchitetture Alder Lake e Raptor Lake. È stato implementato il supporto per i framebuffer che non sono allineati al limite della pagina di memoria (utilizzati, ad esempio, nei MacBook Pro 2021 14″ e 16″).
  • Sono stati apportati miglioramenti all'hypervisor VMM. Aggiunto il supporto per i gestori dello spazio utente basati su MMIO a vmd. In vmm, l'emulazione della porta I/O è stata spostata nello spazio utente. Le strutture interne e le interfacce in vmd, vmctl e vmm sono state unificate. Aggiunta la possibilità di monitorare le macchine virtuali utilizzando SNMP AgentX utilizzando i parametri VM-MIB (RFC7666).
  • La variabile $rcexec negli script di inizializzazione rc.d è stata sostituita con la funzione rc_exec. Aggiunta una nuova variabile daemon_execdir, che consente di modificare la directory prima di eseguire la funzione rc_exec. Una nuova azione configtest è stata aggiunta a rc.d e rcctl per verificare la sintassi della configurazione.
  • È inclusa l'utilità ts, che aggiunge un tempo alle linee ricevute tramite input standard, riflettendo il momento di arrivo di ciascuna linea.
  • L'opzione "-f" è stata aggiunta all'utilità ps per un raggruppamento di processi ad albero, riflettendo la relazione tra processi genitore e figlio.
  • L'utilità openrsync implementa l'opzione "--contimeout" per determinare il timeout della configurazione della connessione.
  • Nell'utilità pkg_add, la memorizzazione nella cache è abilitata per impostazione predefinita, il lavoro con i pacchetti è ottimizzato e durante il trasferimento dei dati viene visualizzato un indicatore di avanzamento dell'operazione.
  • fdisk ha migliorato il lavoro con le tabelle GPT e MBR e ha aggiunto avvisi quando le partizioni MBR e GPT vengono posizionate in modo errato.
  • L'utilità disklabel ha aggiunto il supporto per la parola chiave raid nei modelli per posizionare automaticamente le partizioni RAID. Il supporto per la modifica delle informazioni sulla geometria del disco è stato interrotto. Il supporto per gli attributi 'bs' (dimensione del blocco di avvio), 'sb' (dimensione del superblocco) e d[0-4] (dati del disco) è stato interrotto.
  • La directory /usr/share/btrace contiene una selezione di script btrace utili per la traccia dinamica e l'ispezione delle applicazioni.
  • Aggiunta la funzione sio_flush alla libreria audio sndio per interrompere immediatamente la riproduzione.
  • L'utilità llvm-profdata è inclusa per lavorare con i dati di profilazione.
  • Il conteggio delle parole è stato accelerato nell'utilità wc.
  • Aggiunto supporto per il nuovo hardware, inclusi nuovi driver:
    • aplaudio (sottosistema audio Apple).
    • aplmca (controller MCA di Apple).
    • aplsart (Apple SART).
    • alpdc, apldchidev, apldckbd, apldcms, aplrtk (tastiera e trackpad Apple M2).
    • qcgpio, qciic (controller GPIO e GENI I2C per Qualcomm Snapdragon).
    • sfgpio, stfclock, stfpinctrl, stftemp (driver per GPIO, timer e sensori delle schede SiFive).
    • sxirintc (controller di interruzione per chip Allwinner).
    • gpiorestart (driver per il ripristino tramite GPIO).
    • ipmi ha ampliato il supporto per i sensori di potenza.
    • ehci aggiunge il supporto per il controller utilizzato nelle schede Marvell 3720.
  • Il driver igc per le schede Intel I225 Gigabit Ethernet include l'accelerazione hardware dei calcoli del checksum per IPv4, TCP e UDP. Il driver ix per gli adattatori Ethernet Intel 82598/82599/X540/X550 supporta l'accelerazione hardware dell'elaborazione dei segmenti TCP (Large Receive Offloading), abilitata utilizzando l'opzione tso in ifconfig.
  • Il driver iwx implementa il supporto per i chip Intel AX210/AX211 ed espande la gamma di dispositivi wireless rilevati.
  • Aggiunta la possibilità di eseguire l'avvio da partizioni software RAID 1 (softraid) sui sistemi amd64, sparc64 e arm64.
  • Snmpd e xlock implementano la separazione dei privilegi.
  • Le funzioni di associazione e connessione per i socket UNIX forniscono l'isolamento basato sulla chiamata di sistema unveil.
  • Aggiunta una nuova chiamata di sistema ypconnect per creare un socket per connettersi a un server YP utilizzando l'indirizzo IP dal file ypbinding bloccato. Una modalità 'bind locale' è stata aggiunta a ypldap, che collega un socket RPC a un'interfaccia di loopback per eliminare le connessioni esterne al server.
  • I programmi hcpleased, mountd, nfsd, pflogd, resolvd, slaacd e unwind situati nella directory /sbin sono stati convertiti per utilizzare il collegamento dinamico per abilitare protezioni aggiuntive che si applicano agli eseguibili collegati dinamicamente.
  • Lo stack di rete implementa le chiamate di sistema sendmmsg e recvmmsg, che consentono di inviare e leggere più messaggi contemporaneamente all'interno di una singola chiamata di sistema, che in precedenza avrebbe richiesto chiamate sendmsg e recvmsg separate.
  • Nel filtro dei pacchetti pf è stata modificata l'elaborazione dei pacchetti IGMP e ICMP6 MLD (Multicast Listener Discovery), il che ha consentito di lavorare con pacchetti di controllo multicast nella configurazione predefinita. Implementato un controllo più rigoroso dei messaggi IGMP/MLD.
  • IPsec ha migliorato la gestione dei certificati. iked ha migliorato la compatibilità con OpenIKED. Aggiunto output statistico sulle connessioni riuscite e non riuscite a ike al comando ikectl show stats.
  • È stato aggiunto un filtro max-communities a bgpd per limitare il numero di comunità consentite, è stato implementato RFC 9234 (Route Leak Prevention and Detection Using Roles in UPDATE e OPEN Messages), supporto completo per RFC 7911 (Advertisement of Multiple Paths in BGP ), gli hash statici sono stati sostituiti con alberi RB per migliorare le prestazioni dei sistemi di grandi dimensioni. Aggiunto il processo bgplgd con un'implementazione del server FastCGI che fornisce un'API REST per i comandi bgpctl.
  • rpki-client consente l'uso di più di un URI CRL nei certificati, implementato il parametro skiplist per ignorare i domini, aggiunta la possibilità di controllare ASPA (Autonomous System Provider Authorization) e file sig, implementata la decodifica TAL (RFC 8630), rafforzata la verifica di certificati EE, migliorato Conforme alle specifiche HTTP.
  • Snmpd consente l'uso di nomi di oggetti diversi dagli OID in snmpd.conf. Implementata la possibilità di impostare una lista nera per escludere i sottoalberi dall'output. All'implementazione del protocollo AgentX è stato aggiunto il supporto per l'agente master.
  • httpd offre nuove definizioni di tipo MIME.
  • L'utilità ftp è stata spostata per utilizzare le connessioni elaborate in modalità non bloccante utilizzando ppoll.
  • In tmux ("terminal multiplexer") è stata aggiunta la possibilità di utilizzare ACL per organizzare la connessione di più utenti tramite un socket.
  • Pacchetti LibreSSL e OpenSSH aggiornati. Per una panoramica dettagliata dei miglioramenti, vedere le recensioni di LibreSSL 3.6.0 e OpenSSH 9.1.
  • Il numero di porte per l'architettura AMD64 era 11451 (da 11301), per aarch64 - 11261 (da 11081), per i386 - 10225 (da 10136). Tra le versioni dell'applicazione nei porti:
    • Asterisco 16.28.0, 18.14.0 e 19.6.0
    • Audacity 2.4.2
    • CRendere 3.24.2
    • Chromium 105.0.5195.125
    • Emacs 28.2
    • FFmpeg 4.4.2
    • GCC 8.4.0 e 11.2.0
    • GHC 9.2.4
    • GNOME 42.4
    • Andare 1.19.1
    • JDK 8u342, 11.0.16 e 17.0.4
    • Attrezzatura di KDE 22.08.1
    • KDE Frameworks 5.98.0
    • Krita 5.1.1
    • LLVM/Clang 13.0.0
    • LibreOffice 7.4.1.2
    • Lua 5.1.5, 5.2.4 e 5.3.6
    • Maria DB 10.9.3
    • Scimmia 6.12.0.182
    • Mozilla Firefox 105.0.1 e ESR 102.3.0
    • Mozilla Thunderbird 102.3.0
    • Mutt 2.2.7 e NeoMutt 20220429
    • Nodo.js 16.17.1
    • OCaml 4.12.1
    • OpenLDAP 2.6.3
    • PHP 7.4.30, 8.0.23 e 8.1.10
    • Postfisso 3.7.2
    • PostgreSQL 14.5
    • Python 2.7.18, 3.9.14 e 3.10.7
    • Qt 5.15.6 e 6.3.1
    • R 4.2.1
    • Ruby 2.7.6, 3.0.4 e 3.1.2
    • Ruggine 1.63.0
    • SQLite 3.39.3
    • Shotcut 22.06.23
    • Sudo 1.9.11.2
    • Meerkat 6.0.6
    • Tcl/Tk 8.5.19 e 8.6.12
    • TeX Live 2021
    • Vim 9.0.0192 e Neovim 0.7.2
    • Xfce 4.16
  • Componenti di terze parti aggiornati inclusi con OpenBSD 7.2:
    • Stack grafico Xenocara basato su X.Org 7.7 con xserver 1.21.4 + patch, freetype 2.12.1, fontconfig 2.13.94, Mesa 22.1.7, xterm 372, xkeyboard-config 2.20, fonttosfnt 1.2.2.
    • LLVM/Clang 13.0.0 (+ patch)
    • GCC 4.2.1 (+ patch) e 3.3.6 (+ patch)
    • Perl 5.32.1 (+ patch)
    • NSD4.6.0
    • Non legato 1.16.3
    • Ncurses 5.7
    • Binutils 2.17 (+ patch)
    • Gdb 6.3 (+patch)
    • Awk 12.9.2022/XNUMX/XNUMX
    • Espatriato 2.4.9

Fonte: opennet.ru

Aggiungi un commento