Nach neun Monaten Entwicklung wurde die Version FreeBSD 14.4 veröffentlicht. Installations-Images wurden für die Architekturen amd64, i386, aarch64, armv7, powerpc, powerpc64 und riscv64 vorbereitet. Zusätzlich wurden Builds für Virtualisierungssysteme (QCOW2, VHD, VMDK, raw) und Cloud-Umgebungen wie Amazon EC2, Google Compute Engine und Vagrant erstellt.
Das nächste Update FreeBSD 14.5 ist für September 2026 geplant. Der Support für die aktuelle Version FreeBSD 14.4 wird bis zum 31. Dezember 2026 angeboten, während die vorherige Version FreeBSD 14.3 bis zum 30. Juni 2026 unterstützt wird. Insgesamt wird der Branch FreeBSD 14 bis zum 30. November 2028 betreut, während der Branch FreeBSD 13.x bis zum 30. April 2026 unterstützt wird. Parallel dazu entwickelt sich der Branch FreeBSD 15, dessen nächste Version (15.1) für den 2. Juni 2026 angesetzt ist.
Die wesentlichen Änderungen in FreeBSD 14.4:
- Das Tool sndctl wurde hinzugefügt, um die Einstellungen von Soundkarten zu verwalten.
- Im Tool swapon wurde die Unterstützung für verschlüsselte Auslagerungsdateien hinzugefügt, wobei dafür md-Geräte mit dem Suffix „.eli“ in fstab verwendet werden können.
- Im Tool nuageinit, das die Initialisierung durchführt virtuellen Maschinen, Unterstützung für cloud-init, Netzwerk-Konfiguration und Paketverwaltung hinzugefügt. Um die Kompatibilität mit cloud-init zu gewährleisten, wurden die Befehle ‘runcmd’, ‘packages’, ‘fqdn’, ‘hostname’, ‘sudo’, ‘write_files’, ‘nameservers’, ‘tzsetup’ und ‘doas’ hinzugefügt. Ein vollständiger YAML-Parser wurde umgesetzt. Die Protokollierung wurde aktiviert. Die Befehle „chpasswd“, ‘wakeonlan’, ‘set-name’ und ‘match.driver’ wurden implementiert.
- Die Konsolenschriftart spleen wurde auf Version 2.2.0 aktualisiert und um zusätzliche Zeichen (langes Strich, kurzes Strich, Bindestrich, spitze Klammern, weißes Quadrat, Kreuz und Doppelkreuz) erweitert. Die Ausrichtung der Zeichen auf hochauflösenden Bildschirmen wurde verbessert. Die Konsolenschriftart gallant, die nun über 4300 Glyphe umfasst, unterstützt jetzt Kyrillisch sowie Mengen mit mathematischen Symbolen, Pfeilen, Währungen und Rahmen.
- Das 9P-Dateisystem (p9fs) wurde hinzugefügt, das mit virtio-9p-Geräten und dem Hypervisor Bhyve verwendet werden kann, um den Zugriff von virtuellen Maschinen auf den Inhalt des Host-Dateisystems zu ermöglichen. Zum Laden des Treibers sollte in loader.conf die Einstellung „virtio_p9fs_load=YES“ verwendet werden.
- Im Tarfs-Dateisystem wurde die Möglichkeit geschaffen, mit Dateien größer als 4 GB zu arbeiten.
- In den Dateisystemen Unionfs und Nullfs wurde die Überprüfung der Wurzel-Vnodes bei der Verarbeitung von Pfaden mit «..» verstärkt, um mögliche Schwachstellen zu blockieren, die es ermöglichen, außerhalb des Wurzelverzeichnisses der Jail-Umgebung hinauszugelangen.
- Im Jail-Subsystem wurde der Zugriff von nicht privilegierten Benutzern aus dem übergeordneten Jail auf das Ausführen von Debugging, die Konfiguration des Planers und das Senden von Signalen an Prozesse, die in untergeordneten Jails laufen, eingeschränkt. Für das Ausführen solcher Operationen wurden separate Berechtigungen PRIV_SCHED_DIFFJAIL, PRIV_DEBUG_DIFFJAIL und PRIV_SIGNAL_DIFFJAIL eingeführt. Um das frühere Verhalten bei der Prozessverwaltung in Jails wiederherzustellen, wurde die Einstellung «allow.nounprivileged_parent_tampering» hinzugefügt.
- Im Jail-Subsystem wurde die Unterstützung für die Parameter „met“ und „env“ hinzugefügt, mit denen beliebige Zeichenfolgen-Metadaten und Umgebungsdaten an Jail-Umgebungen gebunden werden können. Die Parameter können bei der Erstellung eines Jails festgelegt, mit dem Befehl „jail -cm“ geändert und mit dem Befehl jls angezeigt werden. Zum Beispiel: ‚jail -cm … meta=„tag1=value1 tag2=value2“ env=„configuration“‘. Um die maximale Größe der Daten in den Parametern zu beschränken, wurde die sysctl-Einstellung „security.jail.meta_maxbufsize“ vorgeschlagen.
- Das Dienstprogramm ngctl hat die Option „-j“ erhalten, um Befehle innerhalb der angegebenen Jail-Umgebung auszuführen. Diese neue Option ermöglicht die Manipulation von Netgraph-Knoten in isolierten Umgebungen, in denen das Dienstprogramm ngctl nicht installiert ist.
- Die Funktionalität des mdo-Tools wurde erweitert, das es ermöglicht, Befehle unter einem anderen Benutzer auszuführen, ähnlich wie das «su»-Tool, jedoch mit dem mac_do-Kernelmodul und dem Systemaufruf setcred anstelle von setuid. In der neuen Version wurden Optionen implementiert, um die Benutzer- und Gruppenidentifikatoren in den gestarteten Prozessen zu steuern: „-k“ zur Beibehaltung der aktuellen Benutzer; „-g“ und „-G“ zur Festlegung der primären und zusätzlichen Gruppen; „-s“ zur Änderung zusätzlicher Gruppen; „—euid“, „—ruid“, „—svuid“, „—egid“, „—rgid“ und „—svgid“ zum Überschreiben der angegebenen Identifikatoren.
- Im kadmin-Tool, das zur Verwaltung von Kerberos dient, wurde die Option „-f“ hinzugefügt, um eine Sicherung der Heimdal KDC-Datenbank in einem mit MIT KDC kompatiblen Format zu erstellen, was eine Migration von Heimdal Kerberos zu MIT Kerberos ohne vollständige Neuanlage der Datenbank ermöglicht.
- In der mit dem Basis-System gelieferten abgespeckten Version des Paketmanagers pkg(7) wird die Optionsanalyse einheitlich mit der vollständigen Version des Werkzeugs pkg(8). Die Reihenfolge der Optionen für Befehle in pkg(7) muss jetzt dem Verhalten von pkg(8) entsprechen, beispielsweise sollte anstelle von „pkg -f bootstrap“ „pkg bootstrap -f“ angegeben werden.
- Im bsdinstall-Installer wurde die Unterstützung für die Installation mit dem ZFS-Dateisystem auf MBR-Laufwerken eingestellt (ZFS kann nur auf GPT-Laufwerken verwendet werden). Der Bootloader loader.efi wird nun auf alle auf ZFS-Laufwerken erstellten ESPs (EFI System Partition) kopiert, für den Fall, dass das Hauptlaufwerk ausfällt.
- Im Werkzeug freebsd-update wurde eine strikte Reihenfolge für die Installation von Shared Libraries sichergestellt: zuerst libsys, dann libc, libthr und anschließend die anderen, was Probleme beim Upgrade von FreeBSD 14.x auf den Branch 15.x ausschließt.
- Im Werkzeug newfs wurde die Option „-u“ hinzugefügt, um standardmäßig die Funktion „soft updates“ und das Journaling für das UFS2-Dateisystem zu deaktivieren.
- In den PAM-Bibliotheken (Pluggable Authentication Modules) wurde die Suche nach Modulen im Verzeichnis „${LOCALBASE}/lib/security“ zusätzlich zum Verzeichnis „${LOCALBASE}/lib“ ermöglicht.
- Im Wireless-Stack net80211 wurde die Unterstützung für VHT160- und VHT80P80-Kanäle hinzugefügt, die in modernen Access Points verwendet werden.
- Die Unterstützung für Hardware wurde erweitert. Im iwlwifi-Treiber für Intel-WLAN-Adapter wurde die ACPI-Unterstützung hinzugefügt. In die Treiber ix und ixv wurde die Unterstützung für die Intel Ethernet E610 2.5G/5G/10G-Netzwerkkartenfamilie integriert. In die Treiber mfi und mrsas wurde die Unterstützung für Fujitsu SAS 6Gbit/s 1GB RAID-Controller (D3116) hinzugefügt, die eingesetzt werden auf Servern Fujitsu PRIMERGY.
- In die erstellten SD-Karten-Images wurde Unterstützung für Raspberry Pi Zero 2W-Platten hinzugefügt.
- Der Hintergrundprozess blacklistd, der die dynamische Blockierung von Netzwerkports zum Schutz vor DoS-Attacken ermöglicht, wurde aktualisiert und in blocklistd umbenannt.
- Im Basissystem wurde ein Paket mit Lua-Bindings für libyaml integriert.
- OpenSSH wurde von Version 9.9p2 auf 10.0p2 aktualisiert, wobei standardmäßig der hybride Algorithmus mlkem768x25519-sha256 aktiviert ist, der gegen Angriffe mit Quantencomputern resistent ist.
- Die Versionen der Drittanbieter-Komponenten wurden aktualisiert: OpenZFS 2.2.9 (zuvor 2.2.7), OpenSSL 3.0.16, SQLite 3.50.4, unbound 1.24.1, libucl 0.9.2, expat 2.7.3, libyaml 0.2.5, libarchive 3.8.5, xz 5.8.2, less 685, bmake 20251111, bc 7.1.0.
- Im Boot-Only-Installationsmedium wurden Pakete mit Firmware für drahtlose Geräte hinzugefügt, die eine drahtlose Verbindung zur Netzwerkinstallation von Installationsdateien ermöglichen.
- Die ausführbare Datei sbin/ipfw15 wurde mit dem neuen KBI (Kernel Binary Interface) für die Kompatibilität mit dem FreeBSD 15-Kernel erstellt. Das ursprüngliche ipfw-Tool erkennt selbst das Vorhandensein des neuen KBI und startet ipfw15 bei Bedarf, um die Regeln für die Paketfilterung beim Upgrade auf FreeBSD 15 korrekt zu laden.
- Die Unterstützung des Routing-Protokolls RIP (routed, rtquery, route6d, rip6query) wurde als veraltet erklärt und zur Entfernung vorgesehen. Statt routed wird empfohlen, die Pakete 'bird' oder 'quagga' aus dem Port-Repository zu verwenden.
- Die im Kernel integrierte MIDI-Sequencer-Implementierung wurde als veraltet erklärt.
- Der Code zur Unterstützung von Versionen des Paketfilters ipfw, die vor der Veröffentlichung von FreeBSD 8 bereitgestellt wurden, wurde entfernt.
Quelle: opennet.ru
