Nach einem Jahr Entwicklung wurde die Veröffentlichung von FreeBSD 13.1 bekannt gegeben. Die Installationsbilder sind für die Architekturen amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 und riscv64 verfügbar. Zusätzlich wurden Builds für Virtualisierungssysteme (QCOW2, VHD, VMDK, raw) und Cloud-Umgebungen wie Amazon EC2, Google Compute Engine und Vagrant bereitgestellt.
In der neuen Version:
- Ein iwlwifi-Treiber für Intel Wireless-Karten mit Unterstützung für neue Chips und den Standard 802.11ac wurde vorgeschlagen. Der Treiber basiert auf dem Linux-Treiber und dem Code aus dem Linux-Netzwerk-Subsystem net80211, dessen Funktionen unter FreeBSD durch eine linuxkpi-Schicht bereitgestellt werden.
- Die Implementierung des ZFS-Dateisystems wurde auf die Version OpenZFS 2.1 aktualisiert, die Unterstützung für die dRAID-Technologie (Distributed Spare RAID) und signifikante Leistungsoptimierungen bietet.
- Ein neues rc-Skript zfskeys wurde hinzugefügt, mit dem eine automatische Entschlüsselung von verschlüsselten ZFS-Partitionen während des Bootvorgangs organisiert werden kann.
- Im Netzwerk-Stack wurde das Verhalten von IPv4-Adressen mit einer null am Ende (x.x.x.0) geändert, die nun als Host verwendet werden können, ohne standardmäßig im Broadcast-Modus gesendet zu werden. Das alte Verhalten kann mit sysctl net.inet.ip.broadcast_lowest wiederhergestellt werden.
- Für 64-Bit-Architekturen ist die Basis-Systembuild mit aktiviertem PIE-Modus (Position Independent Executable) standardmäßig aktiviert. Eine Deaktivierung ist über die Einstellung WITHOUT_PIE möglich.
- Die Möglichkeit, chroot von einem nicht privilegierten Prozess aus aufzurufen, wurde hinzugefügt, bei dem das Flag NO_NEW_PRIVS gesetzt ist. Der Modus kann über sysctl security.bsd.unprivileged_chroot aktiviert werden. Dem chroot-Utility wurde die Option „-n“ hinzugefügt, die das Flag NO_NEW_PRIVS für den Prozess vor seiner Isolation setzt.
- In den Installer bsdinstall wurde ein automatisierter Modus zur Bearbeitung von Festplattenteilen eingefügt, der es ermöglicht, für verschiedene Festplattennamen Partitionierungs-Skripte ohne Benutzerinteraktion zu verwenden. Diese Funktion vereinfacht die Erstellung von vollständig automatisierten Installationsmedien für Systeme und virtuelle Maschinen mit unterschiedlichen Festplatten.
- Die Unterstützung für das Booten auf Systemen mit UEFI wurde verbessert. Der Bootloader enthält jetzt eine automatische Anpassung der Parameter copy_staging basierend auf den Fähigkeiten des geladenen Kernels.
- Es wurden Verbesserungen zur Leistung des Bootloaders, nvme, rtsold, zur Initialisierung des zufallszahlengenerators und zur Kalibrierung des Timers vorgenommen, was zu einer Verkürzung der Bootzeit führte.
- Die Unterstützung für NFS über einen verschlüsselten Kommunikationskanal auf Basis von TLS 1.3 wurde hinzugefügt. Die neue Implementierung nutzt den vom Kernel bereitgestellten TLS-Stack, der Hardwarebeschleunigungsmittel aktiviert. Der Build von rpc.tlsclntd und rpc.tlsservd mit der Implementierung des NFS-over-TLS-Clients und -Servers ist standardmäßig für die Architektur amd64 und arm64 aktiviert.
- Für NFSv4.1 und 4.2 wurde die Mount-Option nconnect realisiert, die die Anzahl der hergestellten TCP-Verbindungen definiert. Server Die erste Verbindung wird für kleine RPC-Nachrichten verwendet, während die übrigen für die Lastenverteilung der übertragenden Daten 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 128Kb) geändert werden kann.
- Die Hardwareunterstützung wurde verbessert. Der Treiber igc bietet nun Unterstützung für den Intel I225 Ethernet-Controller. Die Unterstützung für Big-Endian-Systeme wurde verbessert. Ein Treiber mgb wurde für den Ethernet-Controller von Microchip Devices LAN7430 PCIe Gigabit Ethernet hinzugefügt.
- Der Treiber ice, der für Intel E800 Ethernet-Controller verwendet wird, wurde auf Version 1.34.2-k aktualisiert, die die Protokollierung von Firmware-Ereignissen im Systemprotokoll unterstützt und eine erste Implementierung von DCB (Data Center Bridging)-Protokollerweiterungen bietet.
- 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-Laufwerken aktualisiert, die jetzt die NVMe 1.4-Spezifikation unterstützen. Probleme mit NVMe iovec bei intensivem I/O wurden behoben.
- Die CAM-Bibliothek wurde so umgestellt, dass sie den realpath-Aufruf bei der Verarbeitung von Gerätenamen verwendet, was die Verwendung von symbolischen Links auf Geräte in den Dienstprogrammen camcontrol und smartctl ermöglicht. In camcontrol wurden Probleme beim Laden von Firmware auf Geräte behoben.
- Der Build des Dienstprogramms svnlite im Basis-System wurde eingestellt.
- Linux-Versionen der Dienstprogramme zur Berechnung von Prüfziffern (md5sum, sha1sum usw.) wurden hinzugefügt, die durch den Aufruf der vorhandenen BSD-Dienstprogramme (md5, sha1 usw.) mit der Option „-r“ realisiert werden.
- Das Dienstprogramm mpsutil wurde um Unterstützung für die Verwaltung von NCQ erweitert und zeigt nun Informationen über den Adapter an.
- In /etc/defaults/rc.conf ist standardmäßig die Verwendung der Option „-i“ bei der Aufruf der Prozesse rtsol und rtsold aktiviert, die für das Senden von ICMPv6 RS (Router Solicitation) verantwortlich sind. Diese Option deaktiviert die zufällige Verzögerung vor dem Senden der Nachricht.
- Für die Architekturen riscv64 und riscv64sf wurde der Build von Bibliotheken mit ASAN (Address Sanitizer), UBSAN (Undefined Behavior Sanitizer), OpenMP und OFED (Open Fabrics Enterprise Distribution) aktiviert.
- Probleme bei der Erkennung der von den ARMv7- und ARM64-Prozessoren unterstützten Hardware-Beschleunigung für kryptografische Operationen wurden behoben, was die Leistung der Algorithmen aes-256-gcm und sha256 auf ARM-Systemen erheblich verbessert hat.
- Für die Architektur powerpc wurde der Debugger LLDB, der vom LLVM-Projekt entwickelt wird, in den Hauptbestand aufgenommen.
- Die OpenSSL-Bibliothek wurde auf Version 1.1.1o aktualisiert und durch den Einsatz von Assembler-Optimierungen für die Architekturen powerpc, powerpc64 und powerpc64le erweitert.
- Der SSH-Server und -Client wurden auf OpenSSH 8.8p1 aktualisiert, wobei die Unterstützung für digitale Signaturen rsa-sha deaktiviert und die Unterstützung für die Zwei-Faktor-Authentifizierung mit Geräten auf Basis des FIDO/U2F-Protokolls hinzugefügt wurde. Neue Schlüsseltypen "ecdsa-sk" und "ed25519-sk" wurden für die Interaktion mit FIDO/U2F-Geräten hinzugefügt, die die ECDSA- und Ed25519-Signaturalgorithmen in Kombination mit dem SHA-256-Hash verwenden.
- Die Versionen der in das Basissystem integrierten Drittanbieteranwendungen wurden aktualisiert: awk 20210215 (mit Patches, die die Verwendung von Lokalisierungen für Bereiche deaktivieren und die Kompatibilität mit gawk und mawk verbessern), zlib 1.2.12, libarchive 3.6.0.
Quelle: opennet.ru
