Veröffentlichung von FreeBSD 15.0

Nach zwei Jahren seit der Veröffentlichung der Version 14.0 wurde die Version FreeBSD 15.0 fertiggestellt. Installationspakete wurden für die Architekturen amd64, aarch64, armv7, powerpc64, powerpc64le und riscv64 vorbereitet. Zusätzlich sind Pakete für Virtualisierungssysteme (QCOW2, VHD, VMDK, raw) und Cloud-Umgebungen wie Amazon EC2, Google Compute Engine und Vagrant verfügbar.

Ab der Version FreeBSD 15 wurde die Unterstützung für wichtige Versionen nach der ersten Veröffentlichung (15.0) von 5 auf 4 Jahre verkürzt, und neue Hauptversionen werden alle zwei Jahre ausgegeben. Die Zwischenversionen (15.1, 15.2, 15.3) werden im Rahmen eines festen Entwicklungszyklus entwickelt, bei dem neue Versionen in einer Version ungefähr alle 6 Monate veröffentlicht werden, anstatt einmal jährlich wie bisher. Bei gleichzeitiger Unterstützung von zwei verschiedenen Hauptversionen wird eine neue Zwischenversion alle 3 Monate veröffentlicht (15.4, 16.1, 15.5, 16.2 usw.), mit Ausnahme der Vorbereitung der ersten Versionen neuer Hauptversionen, bei denen es eine 6-monatige Pause vor den Veröffentlichungen geben wird (z.B. die Version 15.3 wird im Juni 2027 veröffentlicht, 16.0 im Dezember 2027, 15.4 im März 2028, 16.1 im Juni 2028).

Wesentliche Änderungen in FreeBSD 15.0 (im offiziellen Release-Hinweis werden neben den spezifischen Änderungen für die Version 15.0 auch viele Funktionen erwähnt, die zuvor in den Versionen 14.1, 14.2 und 14.3 hinzugefügt wurden):

  • Die Verwendung des Paketmanagers pkg zur Installation und Aktualisierung von Komponenten des Basisystems ist nun möglich. Die Pakete pkgbase können entweder auf dem Installationsmedium für die Offline-Installation bereitgestellt oder aus dem Repository pkg.freebsd.org heruntergeladen werden. Im Setup von pkg (/etc/pkg/FreeBSD.conf) ist das Repository FreeBSD-base standardmäßig nicht enthalten. Der Installer bsdinstall bietet zwei Installationsoptionen an: traditionell und mittels Paketen (pkgbase). Die Unterstützung der traditionellen Methode, bei der das Basissystem als monolithische Umgebung behandelt wird, die mit dem Tool freebsd-update aktualisiert wird, soll in der FreeBSD 16-Version entfernt werden. Der neue Ansatz sieht vor, das Basissystem als Paketset aus dem Repository FreeBSD-base zu installieren und ist standardmäßig in den Builds für virtuellen Maschinen und Images für Cloud-Umgebungen integriert, wird jedoch vorerst als experimentell für herkömmliche Systeme betrachtet.
  • Die Unterstützung für die Erstellung von FreeBSD in nicht privilegierten Umgebungen wurde hinzugefügt, ohne dass Root-Rechte erforderlich sind. Ohne Root-Rechte können auch Installations-ISO-Images und Systemabbilder für virtuelle Maschinen erstellt werden. In der Phase der Erstellung waren Root-Rechte notwendig, um Gerätedateien zu erstellen, Zugriffsrechte festzulegen und zusätzliche Dateisysteme (z. B. bei der Erstellung von Festplattenabbildern) zu mounten.
  • Es wurde Unterstützung für reproduzierbare Builds implementiert, die sicherstellen, dass die verteilten Binärdateien aus dem bereitgestellten Quellcode erstellt wurden und keine versteckten Änderungen enthalten. Reproduzierbare Builds gewährleisten die Identität von Binärdateien, die aus Quellcode in verschiedenen Build-Umgebungen generiert werden.
  • Die Erstellung von Installationsabbildern und Binärpaketen für 32-Bit-Architekturen i386, armv6 und powerpc wurde eingestellt. Von den 32-Bit-Plattformen bleibt nur armv7 erhalten. Die Möglichkeit zur Erstellung von 32-Bit-Programmen und die Nutzung des COMPAT_FREEBSD32-Modus zum Ausführen von 32-Bit-Programmen in einer Umgebung mit einem 64-Bit-Kernel bleibt mindestens bis zum Ende des Lebenszyklus von FreeBSD 16 erhalten.
  • Systemaufrufe mit der Implementierung des inotify-Mechanismus wurden hinzugefügt, um Änderungen an Dateisystemen zu überwachen.
  • Die Unterstützung für benannte Dateiattribute (erweiterte Attribute im Solaris-Stil) wurde hinzugefügt, die als alternativer Mechanismus zur Verwaltung erweiterter Attribute geplant sind, der für ZFS und NFSv4 verfügbar sein wird. Die Unterschiede zu den traditionellen Methoden von FreeBSD und Linux zur Handhabung erweiterter Attribute bestehen darin, dass die Attribute in einem Dienstverzeichnis präsentiert werden, das im Hauptnamesraum des Dateisystems nicht sichtbar ist und mit der Datei assoziiert ist. Der Umgang mit Attributen erfolgt wie bei normalen Dateien; zum Beispiel kann die Funktion readdir() verwendet werden, um die Attributliste abzurufen.
  • Das Modul mac_do wurde als einsatzbereit erklärt, das es erlaubt, Richtlinien festzulegen, die es nicht privilegierten Benutzern ermöglichen, die Anmeldeinformationen von Prozessen zu ändern. Eine Dienstprogramm mdo, ähnlich dem Befehl su, wurde vorbereitet, um Befehle unter einem anderen Benutzer auszuführen, benötigt jedoch kein suid root.
  • Der Zustand der DRM-Treiber i915 und amdgpu ist mit dem Linux-Kernel 6.9 synchronisiert. Die Treiber für drahtlose Geräte rtw88 (Realtek 802.11n/ac), rtw89 (Realtek 802.11ax) und iwlwifi (Intel 802.11a/b/g/n/ac/ax/be) sind mit dem Linux-Kernel 6.17 synchronisiert.
  • Die Implementierung des TLS-Protokolls auf Kernel-Ebene (KTLS) ist standardmäßig aktiviert.
  • Das Hilfsprogramm sndctl wurde hinzugefügt, um die Einstellungen von Soundkarten zu verwalten.
  • Das Hilfsprogramm mididump wurde hinzugefügt, um MIDI 1.0-Ereignisse in Echtzeit zu dumpen.
  • Ein neuer Netzwerk-Backend «slirp» wurde zum Hypervisor bhyve hinzugefügt, der die Bibliothek libslirp verwendet und einen Netzwerkstack im Benutzerspeicher implementiert. Der Backend «slirp» ermöglicht den Zugriff auf das Netzwerk des Gastbetriebssystems aus der Hostumgebung, ohne dass eine separate Netzwerkkonfiguration auf der Hostseite erforderlich ist.
  • Die Kerberos-Implementierung im Hauptbestand von FreeBSD wurde von Heimdal Kerberos auf MIT Kerberos umgestellt. Um Heimdal Kerberos beim Build wiederherzustellen, kann das Flag WITHOUT_MITKRB5 verwendet werden. In FreeBSD 16 wird die Unterstützung für den Build von Heimdal Kerberos entfernt.
  • Das Verhalten der Systemaufrufe setgroups, getgroups und initgroups bei der Verarbeitung von Benutzergruppen ist den anderen Plattformen angeglichen (die Implementierungsunterschiede in FreeBSD betrafen die Speicherung der effektiven Gruppen-ID des Prozesses im ersten Element des Listenarrays der Gruppen).
  • In den Einstellungen des Paketmanagers pkg ist standardmäßig das neue Repository FreeBSD-kmods aktiviert, das Pakete mit Kernelmodulen für spezifische Release-Zweige 15.x-RELEASE bereitstellt, anstatt der ständig aktualisierten Version 15-STABLE. Das FreeBSD-kmods-Repository löst das Problem der Installation von Treibern, die von instabilen Kernel-Schnittstellen abhängen (z. B. Grafikkartentreiber). Die zuvor in /etc/pkg/FreeBSD.conf enthaltenen Repositories "FreeBSD" und "FreeBSD-kmods" wurden in "FreeBSD-ports" und "FreeBSD-ports-kmods" umbenannt.
  • In NFS wurde die Unterstützung für die in der NFSv4.2-Spezifikation definierte CLONE-Operation hinzugefügt, die ein schnelles Kopieren von Dateien durch Blockklonierung auf dem Server ermöglicht. Der Modus funktioniert derzeit nur beim Export von ZFS-Partitionen über NFS.
  • Auf amd64-Systemen wurde die Möglichkeit hinzugefügt, mehr als 4 TB RAM zu verwenden.
  • Ein ufshci-Treiber wurde hinzugefügt, um Speichercontroller mit UFSHCI (Universal Flash Storage Host Controller Interface) zu unterstützen.
  • Die Sysctl-Einstellung net.link.bridge.member_ifaddrs ist standardmäßig auf 0 gesetzt, was bedeutet, dass in Netzwerkbrücken Schnittstellen ohne Einschränkungen hinzugefügt werden können. IP-Adressen.
  • Die Zuverlässigkeit von UFS-Partitionen mit mehr als 2.000.000.000 Inodes wurde verbessert. Im UFS1-Dateisystem wurde das Jahr-2038-Problem gelöst, sodass Daten bis zum Jahr 2106 verwendet werden können.
  • Die Socket-Option SO_SPLICE wurde hinzugefügt, um TCP-Verbindungen zu verbinden (ähnlich einem Proxy, der ohne Kopieren von Daten in den Benutzerraum arbeitet).
  • In der grep-Utility wird standardmäßig das Durchlaufen von symbolischen Links bei der rekursiven Suche deaktiviert.
  • Ein Kernelmodul für nvmf wurde hinzugefügt, um NVMe over Fabric-Controller zu unterstützen, sowie das Utility nvmecontrol zum Anschließen an externe NVMe over Fabric-Controller.
  • Die date-Utility unterstützt jetzt die Ausgabe der Zeit mit Nanosekundenpräzision, zum Beispiel gibt "date -Ins" "2024-04-22T12:20:28,763742224+02:00" aus.
  • Im Jail wurde die Unterstützung für die Option zfs.dataset hinzugefügt, um einen ZFS-Bereich, Snapshot oder Klon in eine isolierte Jail-Umgebung einzufügen. Die Jail-Befehlsunterstützung hat die Parameter „meta“ und „env“ erhalten, über die Metadaten angebunden oder Umgebungsvariablen übergeben werden können. Es wurde die Möglichkeit hinzugefügt, Jail-Umgebungen nach Jail-Deskriptoren zu adressieren, für die die Funktionen jail_set und jail_get sowie die Systemaufrufe jail_attach_jd und jail_remove_jd vorgeschlagen wurden. Zudem wurde die Verwendung von Kevent-Filtern zur Überwachung von Operationen wie Erstellung, Löschung, Änderung und Anhängen von Jail hinzugefügt.
  • In der Dienstprogramm newsyslog wurde ein Parameter zur Festlegung der standardmäßigen Komprimierungsmethode (bzip2, xz, zstd, gzip) implementiert, der die Angabe separater Flags (J, X, Y, Z) in jeder Zeile von newsyslog.conf überflüssig macht.
  • In der Standard-C-Bibliothek sind in vielen Funktionen für die Bearbeitung von Strings und Speicher Optimierungen auf Basis von SIMD-Instruktionen integriert.
  • Im Gallant-Schriftbild, das in virtuellen Terminals verwendet wird, wurden mehr als 4300 neue Glyphen hinzugefügt, einschließlich Glyphen mit kyrillischen Zeichen und mathematischen Symbolen.
  • Im tty ist standardmäßig das IUTF8-Flag gesetzt, wodurch die korrekte Entfernung von UTF-8-Zeichen beim Drücken der Rücktaste funktioniert.
  • Das Tool dialog, das im Konfigurator bsdconfig und im Installer bsdinstall verwendet wird, wurde durch bsddialog ersetzt.
  • Im Tool adduser, das in bsdinstall verwendet wird, wird nun ein separater ZFS-Dataset (Bereich, Snapshot oder Klon) für das Home-Verzeichnis des Benutzers erstellt, wenn der ZFS-Dataset bereits für das übergeordnete Verzeichnis verwendet wird. Zudem wurde die Möglichkeit zur Nutzung von Verschlüsselung für Home-Verzeichnisse mittels ZFS hinzugefügt. Zur Verwaltung der Aktivierung dieser Funktionen wurden die Parameter „Zcreate“ und „Zencrypt“ in adduser.conf hinzugefügt.
  • Die Erstellung von OCI-konformen Container-Images und System-Images für die Oracle Cloud wurde ermöglicht.
  • Ein neuer Image-Typ „small“ wurde für Cloud-Umgebungen, kompatibel mit AWS EC2, hinzugefügt. Im Gegensatz zu den Basis-Images wurden Debug-Daten, Tests, 32-Bit-Bibliotheken, der Debugger LLDB, der Amazon SSM Agent und die AWS CLI ausgeschlossen. Die Ladezeiten für die „base“-Images für EC2 wurden um 76 % beschleunigt.
  • Die Einstellung net.inet.tcp.nolocaltimewait ist standardmäßig deaktiviert und als veraltet markiert, d.h. die Standarderstellung von TIME_WAIT-Einträgen für TCP-Verbindungen, die auf der lokalen Systemseite getrennt wurden, wurde wiederhergestellt. Neu hinzugefügt wurde der sysctl net.inet.tcp.msl_local, um die Zeit, die eine Verbindung im STATE TIME_WAIT verbringt, anzupassen.
  • Die Unterstützung für die Erstellung von Netzwerkverbindungen zu localhost mit INADDR_ANY ist standardmäßig deaktiviert. Um die Unterstützung wiederherzustellen, kann der sysctl net.inet.ip.connect_inaddr_wild auf den Wert 1 gesetzt werden.
  • Der logische Volume Manager gvinum, der für Software-RAID verwendet wurde, wurde entfernt. Die Entwicklung von Gvinum wurde vor etwa 15 Jahren eingestellt, und es gibt mehrere bekannte Probleme im Code, die bisher nicht behoben wurden. Anstelle von gvinum wird empfohlen, gconcat, gmirror, gstripe, graid oder zfs zu verwenden.
  • Der Treiber agp (Accelerated Graphics Port), der für viele Treiber älterer Grafikkarten erforderlich ist, soll in FreeBSD 16 entfernt werden. Auch die Treiber fdc (IBM PC Floppy Disk Controller), firewire (IEEE1394 Serial Bus), le (AMD Am7900 LANCE und Am79C9xx Ethernet) und upgt (USB 802.11g) werden als veraltet erklärt und sind für die Entfernung geplant.
  • Die Funktion readdir_r wurde als veraltet erklärt.
  • Im SNMP-Server bsnmpd wurde die Unterstützung für den Transport UDP eingestellt.
  • Die Generierung von RSA-Hosting-Schlüsseln für SSH und EC2 AMI wurde eingestellt. DSA-Unterstützung wurde aus OpenSSH entfernt. Die publickey-Datenbank, die an den DES-Algorithmus gebunden ist, wurde gelöscht.
  • Die ftpd- und shar-Dienste wurden aus dem Basissystem entfernt. Stattdessen sollten die Ports ftp/freebsd-ftpd und sysutils/freebsd-shar verwendet werden.
  • Das Tool fdisk wurde als veraltet erklärt. Stattdessen sollte gpart verwendet werden.
  • Der syscons-Treiber wurde in die Kategorie der veralteten Treiber eingestuft. Er ist nicht mit UEFI kompatibel, unterstützt kein UTF-8 und ist an eine globale Sperre gebunden.
  • Die Versionen LLVM 19.1.7, OpenSSH 10.0p2, OpenSSL 3.5.4, OpenZFS 2.4.0rc4, Lua 5.4.8, jemalloc 5.3.0, Awk 20250804 (mit UTF-8-Unterstützung), bc 7.1.0, unicode 16.0.0, ncurses 6.5, libarchive 3.8.2, tcpdump 4.99.5, unbound 1.24.1, less 679, file 5.46 und GoogleTest 1.15.2 wurden aktualisiert.

Quelle: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster