FreeBSD 13 ist da: Mehr Leistung, bessere Tools – und viel WireGuard-Drama

Nach dem geplatzten Release-Termin ist FreeBSD 13 nun reif für den produktiven Einsatz. Vor allem die schlechte WireGuard-Codequalität hielt das Projekt auf.

In Pocket speichern vorlesen Druckansicht 221 Kommentare lesen

Endlich, darauf hat die Welt gewartet! FreeBSD 13 startet auf UEFI-Systemen (meistens) mit einem hübschen grafischen Bootscreen.

Lesezeit: 20 Min.
Von
  • Michael Plura
Inhaltsverzeichnis

Für FreeBSD-Verhältnisse ist das neue Release 13.0 ein mächtiger Schritt nach vorne. Neben der Arbeit vieler freier Entwickler haben auch kleine und große Unternehmen eigene Mitarbeiter für Programmierprojekte und Verbesserungen rund um FreeBSD freigestellt. Außerdem wurden einige Entwickler für bestimmte Aufgaben von Unternehmen oder über die FreeBSD Foundation gesponsort. Doch nicht nur hinter den Kulissen scheint es mit FreeBSD 13.0 geradezu einen Paradigmenwechsel gegeben zu haben, denn eigentlich ist das unter der freien BSD-Lizenz stehende und auf 4.4BSD basierende Betriebssystem für eher konservative Entwicklungssprünge bekannt. Jeden sprichwörtlichen BSD-Graubart erschreckt auch das – im historischen Vergleich – radikal wirkende Abschneiden alter Zöpfe, darunter die langsame Abkehr von i386, das Entfernen der SPARC64-Plattform oder der Rauswurf der NE2000- und 3Com-Etherlink-III-Treiber.

Das deutlich gesteigerte Engagement großer Unternehmen in den Entwicklungsprozess ist natürlich erfreulich. Nicht nur BSD-nahe Firmen wie iXsystems oder Netflix, sondern auch Amazon und Microsoft, Apple, Sony bis hin zu Orange und viele mehr setzen FreeBSD (Download) produktiv ein. Dass für FreeBSD korrekter Code dennoch wichtiger ist als aktuelle Features, zeigt die Panne mit der WireGuard-Implementation von Netgate, die unter anderem Grund für die etwa zweiwöchige Verzögerung des FreeBSD 13.0-RELEASE war.

FreeBSD - das freie Unix-System

FreeBSD ist die wohl populärste Ausgabe der freien Unix-Derivate, die auf der freien Unix-Version 4.4BSDLite2 beruhen. Zu den bekanntesten Vertretern gehören neben FreeBSD unter anderem OpenBSD (bei dem die Entwickler ihren besonderen Focus auf Sicherheit schon im Basissystem hervorheben) und NetBSD (mit der wohl breitesten Unterstützung von Plattformen vom Highend-Server bis zu Embedded-Systemen). Zu diesen Unix-Derivaten gehören unter anderem auch die FreeBSD-Abkömmlinge DragonFly BSD, das Live-System Nomad-BSD oder solche Derivate wie Darwin, Teil des Betriebssystemkerns für Apple-Systeme.

Wie geplant begannen die Arbeiten am FreeBSD 13.0-RELEASE Anfang des Jahres. Im Februar gab es vier Beta-Versionen und im März die angekündigten zwei Release Candidates: RC1 brachte nochmal mehr Geschwindigkeit im TCP-Stack und SCTP-Fixes, RC2 behob aufkommende Probleme beim WireGuard-Interface (if_wg) und brachte kleinere Fixes für ZFS und ARM64 AES-XTS. So weit lief alles den üblichen Weg, Entwickler und Anwender hatten währenddessen genug Zeit, FreeBSD 13 zu testen. Der für Ende März vorgesehene Release-Termin platzte jedoch mit lautem Knall und einem notwendigen RC3, denn das FreeBSD-Team entschied sich dafür, den offenbar mit (zu) heißer Nadel gestrickten WireGuard-Code komplett aus dem Release zu werfen – er genügte den Qualitätsansprüchen nicht. Zusätzlich tauchte ein Fehler beim Einsatz von VirtualBox auf: Die I/O-Operationen eines FreeBSD-Gasts konnten sich aufhängen – ein bekanntes Problem von VirtualBox 5.x, das durch einen Patch (Asynchrones IO abschalten) mit herben Performance-Einbußen in FreeBSD 12.x temporär behoben wurde. Dieser "Hot-Fix" schaffte es nicht in VirtualBox 6 und tauchte daher erneut auf.

Als Notlösung kann in die /ect/sysctl.conf folgendes eingetragen werden:

vfs.aio.max_buf_aio=8192
vfs.aio.max_aio_queue_per_proc=65536
vfs.aio.max_aio_per_proc=8192
vfs.aio.max_aio_queue=65536

Einige Fehler in automatischen Installationsskripten, ein lästiges Speicherleck in NETMAP sowie ein aktualisiertes OpenSSL 1.1.1k machten einen RC4 nötig. Dem folgte kurze Zeit später ein RC5, bei dem ein Restart-Problem für Dienste wie nginx behoben und bessere 32-Bit-Kompatibilität bei AArch64 eingeführt wurden.

Das FreeBSD 13.0-RELEASE wurde schließlich wie angekündigt am 14. April veröffentlicht und erhält gemäß der neuen FreeBSD-Support-Richtlinien Unterstützung bis 2026. Der FreeBSD 11.x-Zweig nähert sich damit wohl gegen Ende des Jahres seinem End-of-Life.