Die Veröffentlichung des Betriebssystems MidnightBSD 4.0.

Die Veröffentlichung des Desktop-orientierten Betriebssystems MidnightBSD 4.0, das auf FreeBSD basiert und Elemente aus DragonFly BSD, OpenBSD und NetBSD portiert hat, fand statt. Die grundlegende Desktop-Umgebung basiert auf Xfce (optional kann das Paket GNUstep + Window Maker + GWorkspace installiert werden). Im Gegensatz zu anderen Desktop-Distributionen von FreeBSD wurde das Betriebssystem MidnightBSD ursprünglich als Fork von FreeBSD 6.1-beta entwickelt, das 2011 mit dem Code von FreeBSD 7 synchronisiert wurde und nachfolgend viele Funktionen aus den Zweigen FreeBSD 9-13 integriert hat. Für die Paketverwaltung in MidnightBSD wird das System mport verwendet, das eine SQLite-Datenbank zur Speicherung von Indizes und Metadaten einsetzt oder das Ravenports-Toolkit nutzt. Für die Installation steht ein Installations-Image mit einer Größe von 1 GB (i386, amd64) zur Verfügung.

Die Veröffentlichung ist bemerkenswert durch das Update von Versionen dritter Bibliotheken und die Übertragung von Bugfixes und neuen Funktionen aus dem Zweig FreeBSD 13. Zu den wichtigsten Neuerungen zählen:

  • Der Paketmanager mport wurde auf Version 2.7.3 aktualisiert, in der die Möglichkeit zur Überprüfung einzelner Ports mit dem Befehl „mport verify“ und zur Wiederherstellung von Prüfziffern mit dem Befehl „mport verify -r“ hinzugekommen ist. Im Befehl mport_install wurde die Arbeit mit Abhängigkeiten sichergestellt.
  • In den Programmen init, service und cron wurden Umgebungsvariablen implementiert, die für Benutzer oder Benutzerklassen über login.conf festgelegt sind.
  • Im Kernel wurde die Unterstützung für Memory-Mapping im W^X-Modus hinzugefügt, was den gleichzeitigen Zugriff auf Schreiben und Ausführen verbietet.
  • Statt GNU grep wird eine unter der BSD-Lizenz veröffentlichte Version des grep-Werkzeugs verwendet.
  • Es wurde ein mit Linux kompatibler Systemaufruf copy_file_range sowie die Systemaufrufe aio_readv und aio_writev hinzugefügt.
  • Die Unterstützung für das Debugging von Prozessen wurde durch procfs hinzugefügt.
  • Ein Backlight-Treiber zur Steuerung der Beleuchtung wurde hinzugefügt.
  • Im cpufreq-Treiber wurde die Unterstützung für die Intel Speed Shift-Technologie implementiert.
  • Im Client und Server NFS wurde die Unterstützung für NFSv4.2, NFS über TLS und erweiterte Attribute hinzugefügt.
  • Der Übergang zur Implementierung des Dateisystems ZFS aus dem Projekt OpenZFS (2.1.15) wurde vollzogen.
  • Die Implementierung der FUSE-Subsysteme wurde auf Version 7.28 aktualisiert, mit Unterstützung für FUSE_COPY_FILE_RANGE und FUSE_LSEEK.
  • Im TCP-Stack wurde die Unterstützung für den Algorithmus zur proportionalen Reduzierung der Paketübertragungsintensität (Proportional Rate Reduction, RFC 6937) integriert, der eine schnellere Wiederherstellung optimaler Flusseinstellungen nach vorübergehenden Übertragungsproblemen ermöglicht.
  • Die Unterstützung für verschachtelte VLANs (802.1ad) wurde hinzugefügt.
  • Die Unterstützung des SCTP-Protokolls wurde in ein separates Modul sctp.ko ausgelagert, das standardmäßig im GENERIC-Kernel deaktiviert ist.
  • Es wurden Suchalgorithmen für Routen aus DPDK (Data Plane Development Kit) librte hinzugefügt, die eine Optimierung der Arbeit mit sehr großen Routing-Tabellen ermöglichen.
  • Auf 64-Bit-Architekturen wird das Basissystem standardmäßig mit PAE (Position Independent Executable) Unterstützung kompiliert.
  • Ein iwlwifi-Treiber für Intel-WLAN-Karten mit Unterstützung neuer Chips und des Standards 802.11ac wurde hinzugefügt. Der Treiber basiert auf dem Linux-Treiber und dem Code aus dem Linux-Netzwerk-Subsystem net80211, dessen Funktionsweise in FreeBSD mithilfe einer linuxkpi-Schicht sichergestellt wird.
  • Für alle ausführbaren Dateien des Basissystems auf 64-Bit-Plattformen ist standardmäßig die Adressraumrandomisierung (ASLR, Address Space Layout Randomization) aktiviert.
  • Die Unterstützung des Kommunikationsprotokolls Netlink (RFC 3549), das in Linux zur Organisation der Interaktion zwischen dem Kernel und Prozessen im Benutzerspeicher verwendet wird, wurde implementiert.
  • Im Hypervisor Bhyve wurde die Unterstützung für den Dateizugriff über VirtIO-9p (VirtFS) hinzugefügt, sowie Unterstützung für PCI HDAudio-Geräte und die Möglichkeit zur Nutzung von Snapshots. virtuelle Maschinen.
  • Ein Satz von VirtIO-Treibern, die die Spezifikation VirtIO V1 unterstützen, wurde hinzugefügt. Ein pvscsi-Treiber für paravirtualisierte SCSI-Controller wurde hinzugefügt.
  • Die Implementierung von TLS (kTLS), die auf Kernel-Ebene funktioniert, wurde hinzugefügt.
  • Die Versionen von LLVM 19.1.7, unbound 1.23.0, OpenSSH 9.9p2, lua 5.4.2, wpa+hostapd 2.11 wurden aktualisiert.
  • gcc, libdispatch und binutils wurden entfernt.

Die Veröffentlichung des Betriebssystems MidnightBSD 4.0.


Quelle: opennet.ru
60GB SSD 8Gb DDR4