Este prezentată lansarea sistemului de operare gratuit asemănător UNIX OpenBSD 7.2. Proiectul OpenBSD a fost fondat de Theo de Raadt în 1995, după un conflict cu dezvoltatorii NetBSD, în urma căruia lui Theo i-a fost interzis accesul la depozitul NetBSD CVS. După aceasta, Theo de Raadt și un grup de oameni cu idei similare au creat un nou sistem de operare deschis bazat pe arborele sursă NetBSD, ale cărui principale obiective de dezvoltare au fost portabilitatea (sunt acceptate 13 platforme hardware), standardizarea, funcționarea corectă, securitatea proactivă. și instrumente criptografice integrate. Imaginea ISO de instalare completă a sistemului de bază OpenBSD 7.2 este de 556 MB.
Pe lângă sistemul de operare în sine, proiectul OpenBSD este cunoscut pentru componentele sale, care s-au răspândit în alte sisteme și s-au dovedit a fi una dintre cele mai sigure și de înaltă calitate soluții. Printre acestea: LibreSSL (furk of OpenSSL), OpenSSH, filtru de pachete PF, demoni de rutare OpenBGPD și OpenOSPFD, server OpenNTPD NTP, server de e-mail OpenSMTPD, multiplexor de terminal de text (analog cu ecranul GNU) tmux, daemon identd cu implementare protocol IDENT, alternativă BSDL Pachetul GNU groff - mandoc, protocol pentru organizarea sistemelor tolerante la erori CARP (Common Address Redundancy Protocol), server http ușor, utilitar de sincronizare a fișierelor OpenRSYNC.
Principalele îmbunătățiri:
- Suport îmbunătățit pentru sistemele bazate pe arhitectura ARM, inclusiv suport adăugat pentru cipurile Apple M2 și Ampere Altra ARM. S-a adăugat suport pentru laptopul Lenovo ThinkPad x13s și alte dispozitive bazate pe SoC Qualcomm Snapdragon 8cx Gen 3 (SC8280XP).
- S-a adăugat capacitatea de a încărca nucleul pentru disc ram (bsd.rd) și kernel-ul pentru sisteme multiproces (bsd.mp) în mediile Oracle Cloud.
- Dispozitivul kstat este activat, exportând statistici despre performanța nucleului care pot fi vizualizate de utilitarul kstat.
- Pentru fiecare nucleu de procesor cu suport MPERF/APERF, sunt implementați senzori de frecvență CPU. Când rulează pe baterie, scalarea frecvenței CPU este activată în funcție de sarcină.
- S-a adăugat suport inițial pentru modul de repaus pe sistemele ARM64. Limita numărului de procesoare acceptate a fost mărită la 256. A fost implementată capacitatea de a comuta de la o consolă bazată pe framebuffer (consola de sticlă) la o consolă serială.
- Cod eliminat pentru a detecta procesoarele 386sx/386dx, NexGen, Rise și procesoare Cyrix mai vechi, lansate înainte de cipul Cyrix M2.
- Suport îmbunătățit pentru sistemele multiprocesor (SMP). Funcțiile pentru limitarea lățimii de bandă (limită de viteză), căutarea înregistrărilor ARP și cronometrul rutei au fost transferate în categoria mp-safe. A fost implementată capacitatea de a efectua operațiuni paralele, cum ar fi reasamblarea pachetelor IPv4 și redirecționarea pachetelor IP. S-a adăugat blocarea socket-ului folosind mutex la procesarea pachetelor UDP și IP primite. Apelurile de sistem kbind și pledge au fost eliminate de la blocare. S-a implementat blocarea socket-urilor UNIX care operează la nivelul socket-urilor individuale.
- Implementarea framework-ului drm (Direct Rendering Manager) este sincronizată cu kernelul Linux 5.15.69 (versiunea anterioară: 5.15.26). Driverul inteldrm acceptă acum cipuri Intel bazate pe microarhitecturile Alder Lake și Raptor Lake. A fost implementat suport pentru framebuffer-e nealiniate la pagină (utilizate, de exemplu, în MacBook Pro 14" și 16") din 2021.
- Au fost aduse îmbunătățiri hipervizorului VMM. În vmd a fost adăugat suport pentru rutine de gestionare a spațiului utilizator bazate pe MMIO. În vmm, emularea porturilor I/O a fost mutată în spațiul utilizator. Structurile și interfețele interne au fost unificate în vmd, vmctl și vmm. A fost adăugată capacitatea de monitorizare. mașini virtuale folosind SNMP AgentX, folosind parametrii VM-MIB (RFC7666).
- Variabila $rcexec din scripturile de inițializare rc.d a fost înlocuită cu funcția rc_exec. S-a adăugat o nouă variabilă daemon_execdir, permițându-vă să schimbați directorul înainte de a executa funcția rc_exec. O nouă acțiune de configtest a fost adăugată la rc.d și rcctl pentru a verifica sintaxa configurației.
- Este inclusă utilitatea ts, care adaugă un timp la liniile primite prin intrare standard, reflectând momentul sosirii fiecărei linii.
- Opțiunea „-f” a fost adăugată la utilitarul ps pentru o grupare de procese în formă de arbore, reflectând relația dintre procesele părinte și cele secundare.
- Utilitarul openrsync implementează opțiunea „--contimeout” pentru a determina expirarea timpului de configurare a conexiunii.
- În utilitarul pkg_add, stocarea în cache este activată în mod implicit, lucrul cu pachetele este optimizat și un indicator de progres al operațiunii este afișat în timpul transferului de date.
- fdisk a îmbunătățit funcționarea cu tabelele GPT și MBR și a adăugat avertismente atunci când partițiile MBR și GPT sunt plasate incorect.
- Utilitarul disklabel a adăugat suport pentru cuvântul cheie raid în șabloane pentru plasarea automată a partițiilor RAID. Suportul pentru editarea informațiilor despre geometria discului a fost întrerupt. Suportul pentru atributele „bs” (dimensiunea blocului de pornire), „sb” (dimensiunea superblocului) și d[0-4] (datele discului) a fost întrerupt.
- Directorul /usr/share/btrace conține o selecție de scripturi btrace utile pentru urmărirea dinamică și inspecția aplicațiilor.
- S-a adăugat funcția sio_flush la biblioteca de sunet sndio pentru a opri imediat redarea.
- Utilitarul llvm-profdata este inclus pentru lucrul cu datele de profilare.
- Numărarea cuvintelor a fost accelerată în utilitarul wc.
- S-a adăugat suport pentru hardware nou, inclusiv drivere noi:
- aplaudio (subsistem audio Apple).
- aplmca (controler Apple MCA).
- aplsart (Apple SART).
- alpdc, apldchidev, apldckbd, apldcms, aplrtk (tastatură și trackpad Apple M2).
- qcgpio, qciic (controlere GPIO și GENI I2C pentru Qualcomm Snapdragon).
- sfgpio, stfclock, stfpinctrl, stftemp (drivere pentru GPIO, temporizator și senzori ai plăcilor SiFive).
- sxirintc (controler de întrerupere pentru jetoanele Allwinner).
- gpiorestart (driver pentru resetare prin GPIO).
- ipmi a extins suportul pentru senzorii de putere.
- ehci adaugă suport pentru controlerul utilizat în plăcile Marvell 3720.
- Driverul igc pentru adaptoarele Intel I225 Gigabit Ethernet include accelerarea hardware a calculelor sumei de verificare pentru IPv4, TCP și UDP. Driver ix pentru adaptoarele Ethernet Intel 82598/82599/X540/X550 acceptă accelerarea hardware a procesării segmentelor TCP (Large Receive Offloading), activată folosind opțiunea tso din ifconfig.
- Driverul iwx implementează suport pentru cipurile Intel AX210/AX211 și extinde gama de dispozitive wireless detectate.
- S-a adăugat posibilitatea de a porni din partițiile software RAID 1 (softraid) pe sistemele amd64, sparc64 și arm64.
- Snmpd și xlock implementează separarea privilegiilor.
- Funcțiile de legare și conectare pentru socket-urile UNIX asigură izolarea pe baza apelului de sistem unveil.
- Adăugat un nou apel sistem ypconnect pentru a crea un socket pentru conectarea la Server YP, folosind adresa IP din fișierul ypbinding blocat. Un mod de „legare locală” a fost adăugat la ypldap, care leagă socketul RPC de interfața loopback pentru a preveni conexiunile externe la server.
- Programele hcpleased, mountd, nfsd, pflogd, resolvd, slaacd și unwind situate în directorul /sbin au fost convertite pentru a utiliza legătura dinamică pentru a activa protecții suplimentare care se aplică executabilelor conectate dinamic.
- Stiva de rețea implementează apelurile de sistem sendmmsg și recvmmsg, care vă permit să trimiteți și să citiți mai multe mesaje simultan într-un singur apel de sistem, care anterior ar fi necesitat apeluri separate sendmsg și recvmsg.
- În filtrul de pachete pf, procesarea pachetelor IGMP și ICMP6 MLD (Multicast Listener Discovery) a fost modificată, ceea ce a făcut posibilă lucrul cu pachete de control multicast în configurația implicită. S-a implementat o verificare mai strictă a mesajelor IGMP/MLD.
- IPsec a îmbunătățit gestionarea certificatelor. iked a îmbunătățit compatibilitatea cu OpenIKED. S-au adăugat statistici despre conexiunile reușite și eșuate la iked la comanda ikectl show stats.
- Un filtru de comunități maxime a fost adăugat la bgpd pentru a limita numărul de comunități permise, a fost implementat RFC 9234 (Prevenirea scurgerilor de rută și detectarea utilizării rolurilor în mesajele UPDATE și OPEN), suport complet pentru RFC 7911 (Reclamă pentru căi multiple în BGP ) a fost furnizat, hashurile statice au fost înlocuite cu arbori RB pentru a îmbunătăți performanța sistemelor mari. S-a adăugat procesul bgplgd cu o implementare de server FastCGI care oferă un API REST pentru comenzile bgpctl.
- rpki-client permite utilizarea a mai mult de un URI CRL în certificate, a implementat parametrul skiplist pentru a ignora domeniile, a adăugat posibilitatea de a verifica fișierele ASPA (Autonomous System Provider Authorization) și sig, a implementat decodarea TAL (RFC 8630), a înăsprit verificarea de certificate EE, îmbunătățite Conform specificațiilor HTTP.
- Snmpd permite utilizarea altor nume de obiecte decât OID-urile în snmpd.conf. S-a implementat capacitatea de a seta o listă neagră pentru a exclude subarborii din ieșire. Suport pentru agentul principal a fost adăugat la implementarea protocolului AgentX.
- httpd oferă noi definiții de tip MIME.
- Utilitarul ftp a fost mutat pentru a utiliza conexiunile procesate în modul neblocant folosind ppoll.
- În tmux („multiplexor terminal”), a fost adăugată capacitatea de a utiliza ACL-uri pentru a organiza conexiunea mai multor utilizatori printr-o singură priză.
- Pachetele LibreSSL și OpenSSH actualizate. Pentru o prezentare detaliată a îmbunătățirilor, consultați recenziile despre LibreSSL 3.6.0 și OpenSSH 9.1.
- Numărul de porturi pentru arhitectura AMD64 a fost 11451 (de la 11301), pentru aarch64 - 11261 (de la 11081), pentru i386 - 10225 (de la 10136). Printre versiunile de aplicație din porturi:
- Asterisk 16.28.0, 18.14.0 și 19.6.0
- Audacity 2.4.2
- CMake 3.24.2
- Chromium 105.0.5195.125
- Emacs 28.2
- ffmpeg 4.4.2
- GCC 8.4.0 și 11.2.0
- GHC 9.2.4
- GNOME 42.4
- Du-te 1.19.1
- JDK 8u342, 11.0.16 și 17.0.4
- KDE Gear 22.08.1
- Cadrele KDE 5.98.0
- Krita 5.1.1
- LLVM/Clang 13.0.0
- LibreOffice 7.4.1.2
- Lua 5.1.5, 5.2.4 și 5.3.6
- MariaDB 10.9.3
- Maimuță 6.12.0.182
- Mozilla Firefox 105.0.1 și ESR 102.3.0
- Mozilla Thunderbird 102.3.0
- Mutt 2.2.7 și NeoMutt 20220429
- Node.js 16.17.1
- OCaml 4.12.1
- OpenLDAP 2.6.3
- PHP 7.4.30, 8.0.23 și 8.1.10
- Postfix 3.7.2
- PostgreSQL 14.5
- Python 2.7.18, 3.9.14 și 3.10.7
- Qt 5.15.6 și 6.3.1
- R 4.2.1
- Ruby 2.7.6, 3.0.4 și 3.1.2
- Rugina 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 și 8.6.12
- TeX Live 2021
- Vim 9.0.0192 și Neovim 0.7.2
- Xfce 4.16
- Componente terțe actualizate incluse în OpenBSD 7.2:
- Stiva grafică Xenocara bazată pe X.Org 7.7 cu xserver 1.21.4 + patch-uri, 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-uri)
- GCC 4.2.1 (+ patch-uri) și 3.3.6 (+ patch-uri)
- Perl 5.32.1 (+ patch-uri)
- NSD 4.6.0
- Neconsolidat 1.16.3
- Ncurses 5.7
- Binutils 2.17 (+ patch-uri)
- Gdb 6.3 (+ patch)
- Awk 12.9.2022
- Expat 2.4.9
Sursa: opennet.ru
