Nach einem Jahr Entwicklung wurde die Version FreeBSD 13.1 veröffentlicht. Die Installationsabbilder sind für die Architekturen amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 und riscv64 verfügbar. Zudem wurden Builds für Virtualisierungssysteme (QCOW2, VHD, VMDK, raw) sowie für Cloud-Umgebungen wie Amazon EC2, Google Compute Engine und Vagrant bereitgestellt.
In der neuen Version:
- Ein neuer iwlwifi-Treiber für Intel-WLAN-Karten mit Unterstützung für neue Chips und den Standard 802.11ac wurde angeboten. Der Treiber basiert auf dem Linux-Treiber und dem Code aus dem Linux-NetzwerkSubsystem net80211, dessen Betrieb in FreeBSD durch die Schicht linuxkpi ermöglicht wird.
- Die Implementierung des Dateisystems ZFS wurde auf die Version OpenZFS 2.1 aktualisiert, die die dRAID-Technologie (Distributed Spare RAID) und erhebliche Leistungsoptimierungen unterstützt.
- Ein neues rc-Skript zfskeys wurde hinzugefügt, mit dem während des Bootvorgangs eine automatische Entschlüsselung verschlüsselter ZFS-Partitionen organisiert werden kann.
- Im Netzwerkstack wurde das Verhalten für IPv4-Adressen mit einer Null am Ende (x.x.x.0) geändert, die nun als Host verwendet werden können und standardmäßig nicht für Broadcasts verwendet werden. Das alte Verhalten kann mit dem Befehl sysctl net.inet.ip.broadcast_lowest wiederhergestellt werden.
- Für 64-Bit-Architekturen ist standardmäßig eine Basis-Systemversion im PIE-Modus (Position Independent Executable) aktiviert. Eine Deaktivierung ist über die Einstellung WITHOUT_PIE möglich.
- Die Möglichkeit, chroot von einem unprivilegierten Prozess aufzurufen, für den das Flag NO_NEW_PRIVS gesetzt wurde, wurde hinzugefügt. Der Modus wird über sysctl security.bsd.unprivileged_chroot aktiviert. Der Befehl chroot hat die Option „-n“ erhalten, die für den Prozess vor seiner Isolierung das Flag NO_NEW_PRIVS setzt.
- In den Installer bsdinstall wurde ein automatisierter Modus zur Bearbeitung von Festplattenteilungen hinzugefügt, der es ermöglicht, Skripte zur Partitionierung für verschiedene Festplattennamen ohne Benutzereingriff einzubinden. Diese Funktion erleichtert die Erstellung von vollständig automatisierten Installationsmedien für Systeme und virtuellen Maschinen mit unterschiedlichen Festplatten.
- Die Unterstützung für das Booten auf UEFI-Systemen wurde verbessert. Im Bootloader wird die automatische Anpassung des Parameters copy_staging je nach den Möglichkeiten des ladenden Kernels aktiviert.
- Es wurden Änderungen zur Verbesserung der Ladeleistung des Bootloaders, NVMe, RTSold, der Initialisierung des Pseudozufallszahlengenerators und der Kalibrierung des Timers durchgeführt, was zu einer verkürzten Ladezeit führte.
- Die Unterstützung für NFS über eine verschlüsselte Verbindung auf Basis von TLS 1.3 wurde hinzugefügt. Die neue Implementierung nutzt den vom Kernel bereitgestellten TLS-Stack, der Hardware-Beschleunigungsmöglichkeiten ausschöpfen kann. Der Prozess rpc.tlsclntd und rpc.tlsservd mit der Implementierung von NFS-over-TLS ist standardmäßig für die Architekturen amd64 und arm64 aktiviert.
- Für NFSv4.1 und 4.2 wurde die Mount-Option nconnect implementiert, die die Anzahl der etablierten TCP-Verbindungen festlegt. dem Server durch Die erste Verbindung wird für kleine RPC-Nachrichten verwendet, während die anderen für die Lastverteilung des übertragenen Datenverkehrs zuständig sind.
- Für den NFS-Server wurde sysctl vfs.nfsd.srvmaxio hinzugefügt, mit dem die maximale Größe des Ein-/Ausgabeblocks (standardmäßig 128 KB) geändert werden kann.
- Die Unterstützung für Hardware wurde verbessert. Der IGC-Treiber unterstützt jetzt den Ethernet-Controller Intel I225. Die Unterstützung für Big-Endian-Systeme wurde verbessert. Ein MGB-Treiber für den Ethernet-Controller Microchip devices LAN7430 PCIe Gigabit Ethernet wurde hinzugefügt.
- Der Ice-Treiber, der für Intel E800 Ethernet-Controller verwendet wird, wurde auf Version 1.34.2-k aktualisiert. Diese Version bietet Unterstützung für das Protokoll-Logging im Systemprotokoll und beinhaltet eine erste Implementierung der DCB (Data Center Bridging) Erweiterungen.
- In den Amazon EC2-Images ist standardmäßig das Booten mit UEFI anstelle von BIOS aktiviert.
- Im Hypervisor bhyve wurden die Komponenten zur Emulation von NVMe-Speichermedien aktualisiert, die nun die NVMe-Spezifikation 1.4 unterstützen. Probleme mit NVMe iovec bei intensivem I/O wurden gelöst.
- Die CAM-Bibliothek wurde so umgestellt, dass sie den Aufruf realpath zur Verarbeitung von Gerätenamen verwendet. Dies ermöglicht die Nutzung von symbolischen Links für Geräte in den Tools camcontrol und smartctl. In camcontrol wurden Probleme beim Laden von Firmware auf die Geräte behoben.
- Der Bau des Tools svnlite im Basissystem wurde eingestellt.
- Linux-Varianten der Tools zur Berechnung von Prüfziffern (md5sum, sha1sum usw.) wurden hinzugefügt, die durch den Aufruf der vorhandenen BSD-Utilities (md5, sha1 usw.) mit der Option „-r“ implementiert sind.
- Die Unterstützung für die Verwaltung von NCQ wurde zum Tool mpsutil hinzugefügt, einschließlich der Anzeige von Adapterinformationen.
- In /etc/defaults/rc.conf ist standardmäßig die Option „-i“ für die Prozesse rtsol und rtsold aktiviert, die für das Senden von ICMPv6 RS (Router Solicitation) Nachrichten verantwortlich sind. Diese Option deaktiviert die zufällige Verzögerung vor dem Senden der Nachricht.
- Für die Architekturen riscv64 und riscv64sf ist das Erstellen von Bibliotheken mit ASAN (Address Sanitizer), UBSAN (Undefined Behavior Sanitizer), OpenMP und OFED (Open Fabrics Enterprise Distribution) aktiviert.
- Probleme beim Erkennen der von den ARMv7- und ARM64-Prozessoren unterstützten Hardwarebeschleunigungsfunktionen für kryptographische Operationen wurden behoben, was zu einer erheblichen Beschleunigung der Algorithmen aes-256-gcm und sha256 auf ARM-Systemen geführt hat.
- Für die Architektur powerpc ist der Debugger LLDB, der vom LLVM-Projekt entwickelt wird, in das Hauptpaket aufgenommen worden.
- Die OpenSSL-Bibliothek wurde auf Version 1.1.1o aktualisiert und um Anwendungen von Assembler-Optimierungen für die Architekturen powerpc, powerpc64 und powerpc64le erweitert.
- Der SSH-Server und der Client wurden auf OpenSSH 8.8p1 aktualisiert, mit deaktivierter Unterstützung für digitale Signaturen rsa-sha sowie der Implementierung von Zwei-Faktor-Authentifizierung über FIDO/U2F-Geräte. Neu hinzugefügte Schlüsseltypen „ecdsa-sk“ und „ed25519-sk“ ermöglichen die Nutzung der ECDSA- und Ed25519-Signaturalgorithmen in Kombination mit dem SHA-256-Hash.
- Die Versionsupdates für die in das Basissystem integrierten Drittanbieteranwendungen umfassen: awk 20210215 (mit Patches, die die Verwendung von Lokalisation für Bereiche deaktivieren und die Kompatibilität mit gawk und mawk verbessern), zlib 1.2.12, libarchive 3.6.0.
Quelle: opennet.ru
