FreeBSD 14.1 mit verbessertem Sound-Stack und UnterstĂŒtzung fĂŒr cloud-init veröffentlicht

Nach sechs Monaten Entwicklung wurde die Veröffentlichung von FreeBSD 14.1 erstellt. Installationsabbilder wurden fĂŒr die Architekturen amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 und riscv64 vorbereitet. ZusĂ€tzlich wurden Versionen fĂŒr Virtualisierungssysteme (QCOW2, VHD, VMDK, raw) und Cloud-Umgebungen Amazon EC2, Google Compute Engine und Vagrant bereitgestellt.

HauptÀnderungen:

  • Es wurden Verbesserungen am Sound-Stack vorgenommen. Die Möglichkeit, AudiogerĂ€te im asynchronen Modus zu trennen, wurde implementiert, was beispielsweise fĂŒr das heiße Abziehen von Soundkarten mit USB-Schnittstelle notwendig ist. Das Framework snd_clone und die damit verbundenen sysctl-Parameter wurden entfernt, was die Sound-Subsystem vereinfachte. Anstelle separater GerĂ€te-Dateien fĂŒr jeden Audiokanal (/dev/dspX.Y) wird jetzt nur eine HauptgerĂ€te-Datei (/dev/dspX) erstellt.
  • Die Funktionen zur Bearbeitung von Zeichenfolgen und Speicher in libc wurden unter Verwendung von SIMD-Anweisungen auf AMD64-Systemen optimiert. Es wurden 17 Funktionen angeboten, die mit SIMD optimiert wurden, sowie 9 Funktionen, die auf die Anruf-Funktionen umgeschrieben wurden, die durch SIMD optimiert sind. Bei Tests wurde festgestellt, dass die Leistung der neuen Funktionen bei der Verarbeitung von 64-Zeichen langen Zeichenfolgen um den Faktor 5,54 gesteigert wurde.
  • Es wurde eine eingebaute UnterstĂŒtzung fĂŒr die Konfiguration mit cloud-init hinzugefĂŒgt, einem Tool zur Systemkonfiguration wĂ€hrend des Bootvorgangs. Unter anderem wird die Erstellung von Benutzern/Gruppen, das HinzufĂŒgen von SSH-SchlĂŒsseln, die Konfiguration der Netzwerkeinstellungen, die Festlegung des Startskripts nuageinit und die Konfiguration von Festplattenteilungen (config-drive) unterstĂŒtzt. Die Implementierung ist mit OpenStack und vielen Hosting-Anbietern kompatibel.
  • FĂŒr die neuen UFS2-Dateisysteme, die mit dem Tool newfs erstellt werden, ist standardmĂ€ĂŸig das Journaling (soft updates) aktiviert.
  • Es besteht die Möglichkeit, den Kernel nur mit IPv6-UnterstĂŒtzung (INET6) zu erstellen, ohne IPv4 (INET).
  • Im Tool adduser, das in bsdinstall verwendet wird, wird die Erstellung eines separaten ZFS-Datasets (Partition, Snapshot oder Klon) fĂŒr das Benutzerverzeichnis ermöglicht, falls ein ZFS-Dataset bereits fĂŒr das ĂŒbergeordnete Verzeichnis verwendet wird. Außerdem wurde die Möglichkeit hinzugefĂŒgt, die Benutzerverzeichnisse mit ZFS-Tools zu verschlĂŒsseln. Zur Verwaltung der Aktivierung dieser Funktionen wurden in adduser.conf die Parameter „Zcreate“ und „Zencrypt“ hinzugefĂŒgt.
  • In „libutil“ wurde die Funktion „setusercontext“ um die UnterstĂŒtzung zur Festlegung der PrioritĂ€t von Prozessen basierend auf den Einstellungen aus der Datei „.login.conf“, die im Home-Verzeichnis abgelegt ist, erweitert. Bei der Festlegung der PrioritĂ€t oder umask wurde die UnterstĂŒtzung des Wertes „inherit“ hinzugefĂŒgt, bei dem PrioritĂ€t und umask wie beim ĂŒbergeordneten Prozess festgelegt werden.
  • In das Dienstprogramm „date“ wurde die UnterstĂŒtzung fĂŒr Nanosekunden-Genauigkeit hinzugefĂŒgt, zum Beispiel gibt „date -Ins“ „2024-06-04T10:20:28,763742224+05:00“ aus, wĂ€hrend „date +%N“ „415050400“ ausgibt.
  • In das Dienstprogramm „dtrace“ wurde die Möglichkeit implementiert, Ausgaben in Formaten zu generieren, die fĂŒr die automatische Analyse und Anzeige geeignet sind, wie JSON, XML und HTML.
  • In das Dienstprogramm „usbconfig“ wurde die Möglichkeit eingebaut, zusĂ€tzliche Informationen ĂŒber USB-GerĂ€te und Hersteller auszugeben, die den Beschreibungen in der Datei /usr/share/misc/usb_vendors entsprechen.
  • In den Treiber „ice“ wurde die UnterstĂŒtzung fĂŒr Ethernet-Controller von Intel E800 mit einer Bandbreite von 100 Gb/s hinzugefĂŒgt.
  • Im Ethernet-Treiber „msc“ wurde die UnterstĂŒtzung zur Festlegung der MAC-Adresse basierend auf dem Parameter „smsc95xx.macaddr“ hinzugefĂŒgt, der von einigen Modellen der Raspberry-Pi-Platine ĂŒbergeben wird.
  • Es wurden Arbeiten zur Verbesserung der StabilitĂ€t des Treibers „iwlwifi“ fĂŒr drahtlose Intel-Chips durchgefĂŒhrt.
  • Die Möglichkeit zur Nutzung mehrerer PCI MCFG-Bereiche auf Systemen mit amd64 und i386 wurde hinzugefĂŒgt, um den Adressraum von PCI-GerĂ€ten zu segmentieren.
  • Die UnterstĂŒtzung fĂŒr Hardware wurde erweitert.
  • Im NFS-Handler „mountd“ wird zur Dekodierung von Verzeichnisnamen in der Datei „exports“ die Bibliothek „strunvis“ verwendet, wodurch spezielle Zeichen in Verzeichnisnamen verwendet werden können, beispielsweise Leerzeichen. Neue sysctl-Variablen kern.rpc.unenc und kern.rpc.tls wurden hinzugefĂŒgt, um NFS-over-TLS zu konfigurieren.
  • Im Bootloader wurde das Lesen von Konfigurationsdateien, die in der Variablen local_loader_conf_files aufgelistet sind, nach den in der Datei /boot/loader.conf.local definierten Konfigurationsdateien sichergestellt. Außerdem wurde die Möglichkeit hinzugefĂŒgt, Einstellungen aus SMBIOS in Bezug auf Hersteller- und Produkt-IDs zu extrahieren. Die Bestimmung der Konsole auf Systemen mit EFI wurde verbessert. Die Implementierung des Framebuffers im Bootloader kann jetzt Konsolen-Grafiktreiber verwenden.
  • Die Möglichkeit zur Nutzung des Bootloaders LinuxBoot (loader.kboot) zum Starten von FreeBSD aus Linux-basierten Umgebungen auf Systemen aarch64 und amd64 wurde realisiert.
  • Im rc.conf wurde die UnterstĂŒtzung fĂŒr den Parameter kdc_restart hinzugefĂŒgt, der einen automatischen Neustart von kdc (Kerberos 5-Server) im Falle eines Absturzes aktiviert. ZusĂ€tzlich steht der Parameter kdc_restart_delay zur VerfĂŒgung, mit dem eine Verzögerung vor dem Neustart festgelegt werden kann.
  • StandardmĂ€ĂŸig wurden zur Reduzierung der GrĂ¶ĂŸe der per E-Mail versandten Berichte die Informationen ĂŒber Änderungen bei der AusfĂŒhrung von regelmĂ€ĂŸig ausgefĂŒhrten Aufgaben und Skripten, die die Sicherheit ĂŒberprĂŒfen, verkĂŒrzt. Zur Anpassung des Ausgabegrads können die Parameter daily_diff_flags und security_status_diff_flags in periodic.conf verwendet werden.
  • Die Versionen der Drittanbieterkomponenten wurden aktualisiert: Clang/LLVM 18.1.5, OpenZFS 2.2.4, OpenSSH 9.7p1, awk 2024-01-22 (mit UnterstĂŒtzung fĂŒr UTF-8 und den Modus „-csv“), libarchive 3.7.4, sendmail 8.18.1, unbound 1.20.0.

    Quelle: opennet.ru
60GB SSD 8Gb DDR4