Veröffentlichung von OpenBSD 6.9

Die Veröffentlichung des kostenlosen plattformübergreifenden UNIX-ähnlichen Betriebssystems OpenBSD 6.9 wird vorgestellt. Es wird darauf hingewiesen, dass dies die 50. Veröffentlichung des Projekts ist, das in diesem Jahr 26 Jahre alt wird. Das OpenBSD-Projekt wurde 1995 von Theo de Raadt nach einem Konflikt mit den NetBSD-Entwicklern gegründet, in dessen Folge Theo der Zugriff auf das NetBSD-CVS-Repository verweigert wurde. Danach erstellten Theo de Raadt und eine Gruppe Gleichgesinnter ein neues offenes Betriebssystem auf Basis des NetBSD-Quellbaums, dessen Hauptentwicklungsziele Portabilität (13 Hardwareplattformen werden unterstützt), Standardisierung, korrekter Betrieb und aktive Sicherheit waren und integrierte kryptografische Tools. Das vollständige Installations-ISO-Image des OpenBSD 6.9-Basissystems ist 544 MB groß.

Neben dem Betriebssystem selbst ist das OpenBSD-Projekt für seine Komponenten bekannt, die in anderen Systemen weit verbreitet sind und sich als eine der sichersten und hochwertigsten Lösungen erwiesen haben. Darunter: LibreSSL (Fork von OpenSSL), OpenSSH, PF-Paketfilter, OpenBGPD- und OpenOSPFD-Routing-Daemons, OpenNTPD-NTP-Server, OpenSMTPD-Mailserver, Text-Terminal-Multiplexer (analog zu GNU Screen) tmux, identd-Daemon mit IDENT-Protokollimplementierung, BSDL-Alternative GNU-Groff-Paket – Mandoc, Protokoll zum Organisieren fehlertoleranter Systeme CARP (Common Address Redundancy Protocol), leichter HTTP-Server, OpenRSYNC-Dienstprogramm zur Dateisynchronisierung.

Wichtigste Verbesserungen:

  • Der Softraid-Treiber hat den RAID1C-Modus mit der Implementierung von Software-RAID1 mit Datenverschlüsselung hinzugefügt.
  • Zwei neue Hintergrundprozesse sind enthalten – dhcpleased und resolvd, die zusammen mit slaacd und unwind Netzwerkschnittstellen automatisch konfigurieren und Namen im DNS auflösen. dhcpleased implementiert DHCP, um IP-Adressen zu erhalten, und resolvd verwaltet den Inhalt von resolv.conf basierend auf Nameserver-Informationen, die von dhcpleased, slaacd und Treibern wie umb erhalten werden.
  • Erste Unterstützung für Apple-Geräte mit M1-Prozessor hinzugefügt. Dazu gehört die Erkennung von Apple Icestorm/Firestorm arm64-Kernen und zusätzliche Unterstützung für die BCM4378-Wireless-Chips, die im Apple M1 SoC verwendet werden.
  • Verbesserte Unterstützung für die Powerpc64-Plattform, entwickelt für 64-Bit-Systeme basierend auf POWER8- und POWER9-Prozessoren. Im Vergleich zur Vorgängerversion für powerpc64 wurde die Unterstützung des RETGUARD-Schutzmechanismus implementiert, ein astfb-Treiber für den Aspeed BMC-Framebuffer hinzugefügt, Probleme mit dem Betrieb der radeondrm- und amdgpu-Treiber auf Systemen mit AMD-GPUs behoben, die Den Kernel-Assemblys für die RAM-Disk wurde die Möglichkeit zum Netzwerkstart hinzugefügt, Unterstützung für CPU POWER9-Energiesparmodi wurde hinzugefügt, Unterstützung für Ausnahmen hinzugefügt, die bei Gleitkommaoperationen generiert werden, IPMI-Unterstützung für PowerNV-Systeme implementiert.
  • Für ARM64-Plattformen wurde Unterstützung für Cortex-A78AE-, Cortex-X1- und Neoverse V1-CPUs bereitgestellt, ARM64-optimierte Copyin-, Copyout- und Kcopy-Aufrufoptionen implementiert, der Cryptox-Treiber wurde hinzugefügt, um ARMv8-Kryptoerweiterungen zu unterstützen, sowie der smmu-Treiber für RM System MMU mit Guard Page-Unterstützung. Verbesserte Unterstützung für Raspberry Pi, Rock Pi N10, NanoPi und Pinebook Pro-Geräte.
  • Dem Videotreiber wurde der sysctl-Parameter kern.video.record hinzugefügt, der analog zu kern.audio.record steuert, ob beim Versuch, ein Video aufzunehmen, ein leeres Bild ausgegeben wird (um die Aufnahme zu aktivieren, müssen Sie den Wert ändern). bis 1). Prozesse dürfen das Videogerät mehrmals öffnen (behebt Probleme bei der Verwendung der Webcam in Firefox und BigBlueButton).
  • Trace-Punkte für Malloc- und Free-Aufrufe hinzugefügt, sodass dt und btrace Aktivitäten im Zusammenhang mit der Speicherzuweisung verfolgen können. Option „-n“ zu Btrace hinzugefügt, um ein Programm zu analysieren, ohne eine Aktion auszuführen.
  • Verbesserte Unterstützung für Multiprozessor-Systeme (SMP). Die Implementierung von UNIX-Sockets wurde aus der allgemeinen Kernel-Blockierung entfernt, ein gemeinsamer Mutex für Serialisierungsvorgänge mit msgbuf wurde hinzugefügt, der Aufruf uvm_pagealloc wurde in die Kategorie mp-safe übertragen und die Aufrufe getppid und sendsyslog wurden von der Blockierung befreit.
  • Behobene Probleme in DRM-Komponenten (Direct Rendering Manager), einschließlich behobener Abstürze im radeondrm-Treiber auf Powerbook5/6- und RV350-Systemen, verbesserte Unterstützung für DRI3 in den amdgpu- und ati-Treibern und aus Kompatibilitätsgründen mit Linux wurden Geräte in /dev erstellt /dri/-Verzeichnis.
  • Am VMM-Hypervisor wurden Verbesserungen vorgenommen. Das Backend zur Verwaltung virtueller VMD-Maschinen unterstützt jetzt das Laden komprimierter RAM-Datenträger.
  • Es wurden Verbesserungen am Sound-Subsystem vorgenommen. Bietet die Möglichkeit, Sndio-Audiogeräte separat nur für die Wiedergabe und nur für die Aufnahme zuzuweisen. sndiod verwendet einen FIR-Tiefpassfilter (Finite Impulse Response) achter Ordnung, um Rauschen aufgrund von Aliasing beim Resampling zu eliminieren. Standardmäßig ist die Funktion zum automatischen Reduzieren der Lautstärke bei Beginn der Wiedergabe eines neuen Programms (Autovolume) deaktiviert, der Standardwert ist auf einen Lautstärkepegel von 127 eingestellt. Das Mischen von Audio von alternativen Geräten, die sich in der von sndiod unterstützten Funktionalität unterscheiden, ist erlaubt.
  • Das Erstellen und Installieren des LLDB-Debuggers ist standardmäßig aktiviert.
  • Unterstützung für den Logger-Handler wurde zu rcctl, rc.subr und rc.d hinzugefügt, was es ermöglicht, die Ausgabe von Protokollen von Hintergrundprozessen zu organisieren, die Daten an stdout/stderr senden.
  • Für Touchpads ist es möglich, das Tastenlayout über wsconsctl zu konfigurieren. wscons hat die Handhabung gleichzeitiger Berührungen verbessert.
  • Für ARM64-Geräte besteht die Möglichkeit, mithilfe von APM Daten zum Energieverbrauch und zur Batterieladung zu erhalten. Der „enveal“-Aufruf wird verwendet, um den Zugriff des apmd-Prozesses auf das Dateisystem einzuschränken.
  • Erweiterte Hardwareunterstützung. Neue Treiber hinzugefügt: acpige (für die Behandlung von ACPI-Ereignissen wie dem Drücken des Netzschalters), pchgpio (für GPIO-Controller auf modernen Intel-PCHs), ujoy (für Gamecontroller), uhidpp (für Logitech HID++-Geräte). Unterstützung für AMD Vi- und Intel VTD IOMMU-Erweiterungen hinzugefügt, um PCI-Geräte zu isolieren und fehlerhaften Speicherzugriff zu blockieren. Unterstützung für Lynloong LM9002/9003- und LM9013-Computer hinzugefügt. Den pcamux- und imxiic-Treibern wurde ACPI-Unterstützung hinzugefügt.
  • Verbesserte Unterstützung für Netzwerkadapter: mvpp (SFP+ und 10G für Marvel Armada Ethernet), mvneta (1000base-x und 2500base-x), mvsw (Marvel SOHO Switches), rge (Wake on LAN-Unterstützung), Netgear ProSecure UTM25. RA-Unterstützung (802.11n Tx Rate Adaptation) wurde für iwm-, iwn- und athn-Wireless-Treiber hinzugefügt. Der Wireless-Stack verfügt über eine automatische Auswahl der 11a/b/g/n/ac-Modi bei Verwendung einer Netzwerkschnittstelle in Form eines Access Points.
  • Der Web-Stack-Treiber (Virtual Ethernet Bridge) ist im Netzwerk-Stack implementiert. Es wurde eine Unterstützung für den Überwachungsmodus implementiert, bei dem an der Netzwerkschnittstelle ankommende Pakete nicht zur Verarbeitung an den Netzwerkstapel übertragen werden, sondern Verkehrsanalysemechanismen wie BPF auf sie angewendet werden können. Eine neue Art von Netzwerkschnittstellen hinzugefügt – Etherbridge. Es ist möglich (Befehl „route sourceaddr“), die Quell-IP-Adresse für Programme neu zu definieren und dabei den Standardalgorithmus zur Adressauswahl zu umgehen. Automatisches Anheben von Netzwerkschnittstellen aktiviert, wenn der Autokonfigurationsmodus aktiviert ist (AUTOCONF4 und AUTOCONF6).
  • Das Installationsprogramm bietet die Bereitstellung eines komprimierten RAM-Disk-Images (bsd.rd) auf allen Plattformen, die ein solches Laden unterstützen.
  • Ausgabe einer Warnung über die Verwendung der String-Formatierungsersetzung „%n“ in printf über Syslog implementiert.
  • Der OpenBGPD-Routing-Daemon hat dem Router Protocol (RTR) Unterstützung für die Resource Public Key Infrastructure (RPKI) hinzugefügt. Um grundlegende Informationen zu RTR-Sitzungen anzuzeigen, wurde der Befehl „bgpctl show rtr“ hinzugefügt.
  • Der ospfd- und ospf6d-Code wurde umstrukturiert, um sie mit anderen Routing-Daemons zu vereinheitlichen und die Wartung zu vereinfachen. Unterstützung für Netzwerkschnittstellen im Punkt-zu-Punkt-Modus wurde etabliert.
  • Der integrierte HTTP-Server httpd implementiert neue „location (found|notfound)“-Optionen, um die Existenz von Ressourcen zu überprüfen.
  • Dem Dienstprogramm rpki-client wurde Unterstützung für das RRDP-Protokoll (RPKI Repository Delta Protocol, RFC 8182) hinzugefügt. Die Möglichkeit, mehr als einen URI in der TAL-Datei anzugeben, wurde implementiert.
  • Das Dig-Dienstprogramm unterstützt RFC 8914 (Extended DNS Error) und RFC 8976 (ZONEMD).
  • Es wurde die Möglichkeit hinzugefügt, Optionen in hostname.if-Dateien für dhclient mithilfe der „dhcp“-Zeilen anzugeben.
  • Der snmpd-Daemon bietet volle Unterstützung für die Konvertierung von Trapv1 in Trapv2 (RFC 3584). Der snmpd.conf wurden neue Schlüsselwörter „read“, „write“ und „notify“ hinzugefügt. Das SNMP-Dienstprogramm unterstützt SMI-Enumerationen.
  • Der Unwind-DNS-Resolver unterstützt jetzt DNS64 und akzeptiert Verbindungen über einen TCP-Port.
  • Das FTP-Dienstprogramm hat Unterstützung für dauerhafte Weiterleitungen (RFC 7538) und die Möglichkeit hinzugefügt, einen If-Modified-Since-Header zu senden, wenn Anfragen über HTTP/HTTPS gesendet werden.
  • Option „-a“ zu OpenSMTPD hinzugefügt, um vor dem Senden einer Nachricht eine Authentifizierung durchzuführen. Die Verschlüsselungstools wurden auf die Verwendung der libtls-Bibliothek umgestellt. Listener-Sockets für TLS bieten die Möglichkeit, mehrere Zertifikate basierend auf dem Domänennamen (SNI) zu konfigurieren.
  • LibreSSL hat Unterstützung für das DTLSv1.2-Protokoll hinzugefügt. Es wurde die Möglichkeit implementiert, nur libtls („—enable-libtls-only“) ohne libcrypto und libssl zu erstellen.
  • Aktualisiertes OpenSSH-Paket. Eine detaillierte Übersicht der Verbesserungen finden Sie hier: OpenSSH 8.5, OpenSSH 8.6.
  • Die Anzahl der Ports für die AMD64-Architektur betrug 11310, für aarch64 - 10943, für i386 - 10468. Unter den Anwendungsversionen in den Ports: Xfce 4.16, Asterisk 18.3.0, Chromium 90.0.4430.72, FFmpeg 4.3.2, GCC 8.4.0. 3.38, GNOME 1.16.2, Go 20.12.3, KDE-Anwendungen 4.4.3, Krita 10.0.1, LLVM/Clang 7.0.5.2, LibreOffice 5.3.6, Lua 10.5.9, MariaDB 88.0, Firefox 78.10.0 und ESR 78.10.0 , Thunderbird 12.16.1, Node.js 8.0.3, PHP 3.5.10, Postfix 13.2, PostgreSQL 3.9.2, Python 3.0.1, Ruby 1.51.0, Rust XNUMX.

    Aktualisierte Komponenten von Drittanbietern, die in OpenBSD 6.9 enthalten sind:

    • Xenocara-Grafikstapel basierend auf
    • LLVM/Clang 10.0.1 (+ Patches)
    • GCC 4.2.1 (+ Patches) und 3.3.6 (+ Patches)
    • Perl 5.32.1 (+ Patches)
    • NSD 4.3.6
    • Ungebunden 1.13.1
    • Ncurses 5.7
    • Binutils 2.17 (+ Patches)
    • Gdb 6.3 (+ Patch)
    • Awk 18.12.2020
    • Expats 2.2.10

Ein neuer Song „Vetera Novis“ fällt zeitlich mit der Veröffentlichung von OpenBSD 6.9 zusammen.

Source: opennet.ru

Kommentar hinzufügen