Die Desktop-orientierte Betriebssystemversion MidnightBSD 4.0 wurde veröffentlicht, basierend auf FreeBSD mit Elementen, die aus DragonFly BSD, OpenBSD und NetBSD portiert wurden. Die grundlegende Desktop-Umgebung basiert auf Xfce (es besteht optional die Möglichkeit, eine Kombination aus GNUstep, Window Maker und GWorkspace zu installieren). Im Gegensatz zu anderen Desktop-Bundles von FreeBSD entwickelte sich das Betriebssystem MidnightBSD ursprünglich als Fork von FreeBSD 6.1-beta, der 2011 mit dem Code von FreeBSD 7 synchronisiert wurde und anschließend viele Funktionen aus den Zweigen FreeBSD 9-13 übernahm. Für das Paketmanagement in MidnightBSD wird das System mport verwendet, welches eine SQLite-Datenbank zum Speichern von Indizes und Metadaten nutzt, oder das Ravenports-Toolset. Für die Installation steht ein 1 GB großes Abbild (i386, amd64) bereit.
Die Veröffentlichung ist bemerkenswert durch das Update von Drittanbieter-Bibliotheken sowie das Übertragen von Fehlerbehebungen und neuen Funktionen aus dem Branch FreeBSD 13. Die Hauptneuerungen sind:
- Der Paketmanager mport wurde auf Version 2.7.3 aktualisiert, die die Möglichkeit umfasst, einzelne Ports mit dem Befehl „mport verify“ zu überprüfen und Prüfziffern mit dem Befehl „mport verify -r“ wiederherzustellen. Im Befehl mport_install wird die Funktionalität zur Abhängigkeitsverwaltung sichergestellt.
- In den Programmen init, service und cron werden Umgebungsvariablen verwendet, die für Benutzer oder Benutzerklassen über login.conf festgelegt wurden.
- Der Kernel unterstützt nun die Speicherabbildung im W^X-Modus, der gleichzeitig das Schreiben und Ausführen verbietet.
- Anstelle von GNU grep wird nun die BSD-lizenzierte Version des grep-Tools verwendet.
- Der Linux-kompatible Systemaufruf copy_file_range sowie die Systemaufrufe aio_readv und aio_writev wurden hinzugefügt.
- Unterstützung für die Prozessdebugging mit procfs wurde hinzugefügt.
- Ein Backlight-Treiber zur Steuerung der Hintergrundbeleuchtung wurde hinzugefügt.
- Der cpufreq-Treiber unterstützt jetzt die Intel Speed Shift-Technologie.
- Im Client und Server NFS wurde Unterstützung für NFSv4.2, NFS über TLS und erweiterte Attribute hinzugefügt.
- Der Übergang zur ZFS-Dateisystemimplementierung aus dem OpenZFS-Projekt (2.1.15) wurde vollzogen.
- Die Implementierung des FUSE-Subsystems wurde auf Version 7.28 mit Unterstützung für FUSE_COPY_FILE_RANGE und FUSE_LSEEK aktualisiert.
- Im TCP-Stack wurde die Unterstützung für den Proportional Rate Reduction Algorithmus (RFC 6937) integriert, der es ermöglicht, die optimalen Übertragungsparameter nach vorübergehenden Datenübertragungsproblemen schneller wiederherzustellen.
- Unterstützung für verschachtelte VLANs (802.1ad) wurde hinzugefügt.
- Der SCTP-Protokollsupport wurde in ein separates Modul sctp.ko ausgelagert, das in der GENERIC-Kernel-Konfiguration standardmäßig deaktiviert ist.
- Suchalgorithmen für die Routenfindung aus DPDK (Data Plane Development Kit) librte wurden hinzugefügt, um die Arbeit mit sehr großen Routing-Tabellen zu optimieren.
- Auf 64-Bit-Architekturen wird das Basissystem standardmäßig mit PAE (Position Independent Executable) Unterstützung kompiliert.
- Der iwlwifi-Treiber für Intel-WLAN-Karten mit Unterstützung für neue Chips und den Standard 802.11ac wurde hinzugefügt. Der Treiber basiert auf dem Linux-Treiber und dem Code aus dem Linux-Netzwerk-Subsystem net80211, dessen Funktionalität unter FreeBSD durch die LinuxKPI-Schicht bereitgestellt 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 des Kernels mit Prozessen im Benutzerspace verwendet wird, wurde implementiert.
- Der Hypervisor Bhyve hat die Unterstützung für den Dateizugriff über VirtIO-9p (VirtFS), Unterstützung für PCI HDAudio-Geräte und die Möglichkeit zur Arbeit mit Snapshots hinzugefügt. virtuellen Maschinen.
- Ein Satz von VirtIO-Treibern, die die VirtIO V1-Spezifikation unterstützen, wurde hinzugefügt. Der pvscsi-Treiber für paravirtualisierte SCSI-Controller wurde hinzugefügt.
- Die Implementierung von TLS (kTLS) wurde auf Kernel-Ebene hinzugefügt.
- Die Versionen 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.

Quelle: opennet.ru
