Fedora 33 erhält eine Vielzahl an Änderungen, Btrfs als neues Standarddateisystem sowie mit Fedora IoT eine neue offizielle Edition.
Die Veröffentlichungen von Fedora sind bereits spannend, bevor sie überhaupt als offizielles ISO-Image zum Herunterladen erscheinen. In den Monaten vor dem Termin kommt eine lange Liste von Funktionen und Entwicklungen zustande, die alle der Zustimmung durch das interne Steuerungskomitee FESCo bedürfen. Da stellt sich dann immer die spannende Frage: Welche von den vielen Vorschlägen schaffen es in das nächste Release?
Fedora 33 (oder kurz F33) ist eine der größten Veröffentlichungen in der Geschichte der Distribution, wenn nicht die größte überhaupt. Gnome 3.38 als Desktop (Abbildung 1) nimmt den Nutzer am Anfang mit auf eine Erkundungstour und erlaubt, die Anwendungen in der Aktivitätenübersicht zu sortieren (Abbildung 2). Daneben enthält das System zahlreiche interessante Neuerungen, die zum Teil mutige Entscheidungen erforderten.

Abbildung 1: Gnome 3.38 heißt den Anwender mit einer neuen Seite willkommen und nimmt ihn mit auf eine Tour durch die Oberfläche.

Abbildung 2: Das App-Raster der Gnome Shell wirkt nun rund. Es bietet die Möglichkeit, es flexibel anzupassen; Sie dürfen Ordner erstellen sowie per Drag & Drop Icons verschieben und neu anordnen. Zudem glänzt es mit einem Satz frischer Symbole.
Großtat
Besonders eine signifikante Änderung ließ viele Beobachter im Vorfeld zweifeln, ob sie den Segen des FESCo erhalten würde. Die Entwickler entschieden sich im Endeffekt jedoch relativ schnell dafür. Gemeint ist die Einführung des umstrittenen Dateisystems Btrfs als Standard bei der Installation der Desktop-Varianten von Fedora.
Zu den Desktop-Varianten zählen dabei neben Fedora Workstation als Standard außerdem die Spins und Labs sowie Fedora Silverblue. Unter Spins [1] organisiert das Projekt die Fedora-Varianten mit anderen Desktop-Umgebungen als Gnome, der Standardarbeitsumgebung der Workstation. Hinter den Labs [2] verbirgt sich eine Auswahl an kuratierten Paketen mit Software für einen bestimmten Zweck, die unter anderem Themenbereiche wie Astronomie, Design, Neurowissenschaften, Spiele, Sicherheit und Robotik abdecken.
Btrfs als Standard
Alle diese Varianten von Fedora geben bei einer Neuinstallation im Anaconda-Installer künftig Btrfs als Dateisystem vor (Abbildung 3). Falls Sie das nicht möchten, müssen sie explizit ein anderes Dateisystem wie etwa Ext4 auswählen, das bisher den Standard darstellte. Fedora ist somit die zweite große Distribution, die sich für Btrfs als Standard entscheidet (Abbildung 4). Bei Suse und OpenSuse steht das ehemals hochgelobte Dateisystem seit Jahren an erster Stelle.

Abbildung 3: Der Anaconda-Installer von Fedora verwendet künftig Btrfs als Standarddateisystem. Falls Sie das nicht wünschen, können Sie es hier ändern.

Abbildung 4: Ein ls auf die Root-Partition nach der Installation verrät nicht, dass hier Btrfs als Dateisystem arbeitet.
Btrfs weist zahlreiche Parallelen zu ZFS auf und bringt neben einem Volume-Management und transparenter Dateisystemkomprimierung auch SSD-Speicheroptimierungen, native RAID-Unterstützung, bessere Handhabung von geringem Festplattenspeicher und vieles andere mehr mit. Das Dateisystem verwendet Copy-on-Write (CoW), bei dem das System die Daten erst dann real kopiert, sobald Sie diese verändern. Dann schreibt es jedoch nur die Änderungen. Vorher verweist lediglich ein Zeiger auf das Ziel der Kopieraktion [3]. Dieses Verfahren dient auch als Grundlage für Snapshots.
Dass nicht mehr Distributionen ihren Anwendern Btrfs vorschlagen, mag daran liegen, dass das Dateisystem vielfach noch als unfertig angesehen wird. In der Vergangenheit gab es des Öfteren Berichte über Datenverluste oder Probleme beim Anzeigen des tatsächlichen Füllstands der Festplatten. Vom Einsatz von RAID 5 und 6 raten die Entwickler immer noch ab. Eine ständig aktualisierte Liste im Btrfs-Wiki vermittelt einen Eindruck davon, wie dessen Programmierer den Status der verschiedenen Funktionen in Bezug auf Leistung und Stabilität einschätzen [4].
Der Btrfs-Treiber ist nun direkt in den Kernel von Fedora integriert, statt wie bisher als Modul. Das ermöglicht, ein System ohne Initramfs zu booten. Zudem haben die Fedora-Entwickler den Maintainern des Kernel-Subsystems linux-btrfs zahlreiche Patches gesendet, die den Bedenken und Wünschen aus der Community Rechnung tragen.
Über-Dateisystem
Da Fedora eher bei fortgeschrittenen Anwendern und Entwicklern im Einsatz ist, kommen Funktionen von Btrfs wie Subvolumes, Snapshots, Verschlüsselung, transparente Dateisystemkomprimierung, SSD-Speicheroptimierungen, native RAID-Funktionen, CoW, Prüfsummen und Deduplikation gerade recht. Im Fokus der Entwickler steht aber nun auch der Heimanwender, dem Btrfs gegenüber dem Logical Volume Managers ein vereinfachtes und flexibleres Verwalten von Speicher durch das eingebaute Volume-Management ermöglicht.
Eben dieser Nutzer dürfte sich am ehesten über die Snapshots von Btrfs freuen. Dabei erstellt das System von einem Subvolume wie root, home oder var ein Abbild, auf das Sie später das System bei Bedarf zurückrollen. Fedoras Installer Anaconda ist von der Benutzerführung her der vermutlich schlechteste Installer, der dem Autor in über 20 Jahren Linux begegnet ist. Durch das voreingestellte Btrfs fallen die Hürden nun etwas niedriger aus, denn Sie dürfen jetzt zum Beispiel LVM links liegenlassen.
Bereits vor fast zehn Jahren unternahmen Fedora-Entwickler einen ersten Vorstoß, Btrfs zum Standard zu machen, was jedoch bei Fedora 15 und 16 scheiterte. Eine gewisse Brisanz erhält die jetzige Entscheidung dadurch, dass die Fedora-Mutter Red Hat Btrfs 2017 aus Red Hat Enterprise Linux (RHEL) verbannt hat. Das Unternehmen arbeitet für das professionelle Server-System seitdem an einer eigenen Datenträgerverwaltung namens Stratis [5] auf der Grundlage des Dateisystems XFS. Es ist also interessant, zu sehen, wie sich Red Hat zu Fedoras Entscheidung verhält und ob Btrfs dadurch nochmal eine Chance in den Firmenprodukten erhält.
Nano statt Vi
Die Hinwendung zu Btrfs ist zwar die wichtigste Änderung bei Fedora 33, aber beileibe nicht die einzige. Die Linux-Welt scheidet sich quasi in zwei Lager, wenn es um Editoren geht: Emacs außen vor gelassen, bleiben hauptsächlich Vim und Nano. Die Freunde des Letzteren dürfen sich nun freuen: Nano dient ab F33 als Standardeditor der Distribution. Es hat den Anschein, als möchte Fedora damit die Einstiegshürden senken und etwas vom Image der Distribution für Entwickler abrücken (Abbildung 5).

Abbildung 5: Nano gilt bei vielen Anwendern als benutzerfreundlicher als Vim und genügt für die meisten Belange vollkommen, wie etwa für kleinere Konfigurationsänderungen.
Durch den Einsatz von zRAM nutzt das System den Arbeitsspeicher nun effizienter. Bereits mit Fedora 29 hatten die Entwickler diese Maßnahme als Swap für die ARM-Spins und für Fedora IoT eingeführt. Jetzt sollen Fedora Workstation und alle anderen Editionen, Spins und Labs folgen. Damit gehören herkömmliche langsame Swap-Partitionen oder -Dateien bei Fedora der Vergangenheit an.
zRAM für Swap
Bei zRAM handelt es sich um ein Kernel-Modul zum Erstellen eines komprimierten Blockgeräts im RAM, also einer RAM-Disk, aber mit Komprimierung zur Laufzeit. Das auf diese Weise erstellte Blockgerät eignet sich dann als Swap oder als Allzweck-RAM-Disk. Die Technologie steckt seit 2014 und Version 3.14 im Kernel. Googles Chrome OS nutzt seitdem zRAM, Android liefert es seit Version 4.4 aus. Beim Hochfahren soll mit Fedora 33 ein Swap-on-zRAM eingerichtet werden.
Das virtuelle Gerät, typischerweise /dev/zram0, hat eine Größe, die Sie früh im Boot-Prozess per Konfigurationsdatei über Zram-generator festlegen (Abbildung 6). Dabei weist das System den Speicher dynamisch zu und gibt ihn bei Bedarf wieder frei. Aufgrund der Komprimierung verbraucht ein volles /dev/zram0 nur etwa halb so viel Speicher wie seine virtuelle Größe.

Abbildung 6: Die Dokumentation zu Zram-generator erläutert die einzelnen Optionen, um zram0 zu konfigurieren.
Die Standardeinstellungen sehen vor, dass die kleinere der beiden folgenden Varianten zum Zug kommt: Das System reserviert für das Gerät /dev/zram0 entweder die Hälfte des verfügbaren RAMs oder maximal 4 GByte. Bei vollständig gefülltem Swap sind die Daten im Idealfall auf 2 GByte komprimiert. Mit dem Befehl zramctl überprüfen Sie die tatsächliche RAM-Auslastung. Benötigen Sie den zRAM-Speicher nicht, so lässt er sich per swapoff /dev/zram0 stilllegen oder per rm /etc/systemd/zram-generator.conf gleich komplett entfernen (Abbildung 7).

Abbildung 7: Falls Sie zRAM nicht verwenden wollen, erstellen Sie einfach eine leere Datei namens zram-generator.conf oder entfernen das Paket zram-generator-defaults.
DNS per Systemd
Systemd ist ja quasi bei Fedora zu Hause, und so avanciert mit F33 ein weiterer Systemd-Dienst zum Standard: Es geht um Systemd-resolved, das – wie der Name bereits andeutet – das Auflösen von Namen und IP-Adressen übernimmt. Dabei kommt Nss-resolve [6] zum Einsatz. Damit weicht es von Ubuntu ab, das bereits seit Version 16.10 Systemd-resolve einsetzt, aber auf das traditionelle Nss-dns aufsetzt, das weiterhin /etc/resolv.conf ausliest (Abbildung 8).

Abbildung 8: Die Konfigurationsdatei von Systemd-resolved bietet Einstellungsmöglichkeiten, die über die von /etc/resolv.conf hinausgehen.
Zu den weiteren Vorteilen von Systemd-resolved zählt das kurzzeitige Caching von aufgelösten DNS-Anfragen. Das verbessert unter Umständen die Leistung von Anwendungen, die ihre eigenen DNS-Ergebnisse nicht bereits manuell zwischenspeichern. Zudem hilft der neue Ansatz, DNS-Leaks beim Einsatz eines VPNs zu verhindern, und ermöglicht bei mehreren VPNs Split-DNS [7].
Des Weiteren haben die Entwickler die systemweiten Richtlinien für Kryptografie angepasst, um ältere kryptografische Protokolle wie TLS 1.0 und TLS 1.1, schwache Diffie-Hellman-Schlüsselaustauschgrößen mit nur 1024 Bit und den Einsatz von SHA-1-Hash in Signaturen in allen betroffenen Teilen von Fedora zu deaktivieren.
Fedora IoT offiziell
Mit Fedora 33 erhält neben Workstation und Server eine weitere Variante den offiziellen Status einer Fedora-Edition: das bisher relativ unbekannte Fedora IoT, die Ausgabe für das Internet der Dinge. Die Entwickler wollen die auf RPM-OSTree [8] basierende Variante damit einer breiten Masse bekannt machen. Das Fedora-Betriebssystem für IoT-Systeme ist immutable (unveränderlich) und Image-basiert.
Aufgrund der Tatsache, dass IoT-Systeme oft an entfernten Standorten installiert sind, beherrscht Fedora via RPM-OSTree atomare Aktualisierungen und Rollback, was es leicht macht, ein System aus der Ferne wiederherzustellen, falls während eines Updates ein Fehler auftritt.
In Verbindung mit Containern lassen sich so langlebige und gut abgesicherte Systeme aufsetzen. Fedora IoT besitzt viele Gemeinsamkeiten mit Fedora Silverblue, über das wir bereits vor einem Jahr berichtet haben [9]. Der größte Unterschied: Silverblue weist einen X-Server und eine grafische Oberfläche auf.
Beschleunigt
Mit Device-mapper-multipath fliegt eines der letzten beiden Pakete aus dem Live-Image der Workstation-Ausgabe, das den Boot-Vorgang unter Umständen selbst nach der Installation signifikant verzögert. Das liegt daran, dass die eigentlich nur auf Servern benötigten Pakete den veralteten Systemd-Mechanismus systemd-udev-settle.service benötigen. Er wartet beim Systemstart darauf, dass alle Geräte-Erkennungen durchgelaufen sind.
Mit dem Entfernen von Device-mapper-multipath und dem Deaktivieren von Dmraid, im Fall, dass keine DM-RAID-Sets erkannt werden, soll sich die im Vergleich mit anderen Distributionen immer schon etwas längere Boot-Zeit verkürzen.
Um mit der Windows-kompatiblen Laufzeitumgebung Wine 3D-Anwendungen zu betreiben, tauscht Fedora 33 das bisherige Backend Wined3d gegen DXVK. Das mussten Anwender im Bedarfsfall bisher selbst installieren. Das Kürzel steht für DirectX Vulkan, was darauf hinweist, dass Grafikkarten davon profitieren, die Vulkan unterstützen. DXVK bietet DirectX 10 und 11 und mit D9VK auch das ältere DirectX 9. Damit sollen für Windows konzipierte Spiele unter Linux laufen.
EarlyOOM
Bereits mit Fedora 32 [10] wurde EarlyOOM für die Workstation-Edition standardmäßig aktiviert. Die Software reagiert, wenn Arbeitsspeicher oder Swap knapp werden, und fährt speicherhungrige Prozesse sauber per SIGTERM herunter oder beendet sie notfalls per SIGKILL. So verhindert sie, dass das System bis zum Stillstand hängt.
Der Vorteil von EarlyOOM gegenüber OOM im Kernel liegt darin, dass Ersteres zunächst SIGTERM versucht, anstatt wie der Kernel den Prozess abrupt zu terminieren. Da sich beim Test mit Fedora Workstation seit sechs Monaten keine Probleme gezeigt haben, wandert die Funktion nun auch in den KDE-Spin.
Es gab zudem eine Vielzahl an kleinen Änderungen; hier seien lediglich zwei erwähnt: Bei Systemen mit Intel-CPUs macht es die Integration von Thermald in die Paketliste künftig einfacher, die Betriebsdaten des Prozessors zu kontrollieren, da der entsprechende Daemon die Sensoren ausliest. Zudem erhält Fedora 33 einen animierten Hintergrund, der die Schattierungen der Farbe je nach Tageszeit ändert (Abbildung 9).

Abbildung 9: Eine kleine Spielerei bringt das kommende Fedora 33 mit: Der animierte Desktop-Hintergrund verwendet je nach Tageszeit wechselnde Farbschattierungen.
Ausblick
Wie üblich aktualisieren die Entwickler mit Fedora 33 die Toolchain, die Programmiersprachen sowie weitere Pakete. Hier seien lediglich Kernel 5.8. Systemd 246.4 und Python 3.9 erwähnt. Bereits die Beta-Version zu Fedora 33 erschien mit zwei Wochen Verspätung, was aber bei der Fülle der Änderungen nicht weiter verwundert. Die stabile Veröffentlichung war zu Redaktionsschluss für den 20. Oktober geplant, mit dem 27. Oktober als Ausweichdatum. In der nächsten Ausgabe beleuchten wir die für Anwender direkt sichtbaren Änderungen genauer – samt einem Fazit zur Veröffentlichung.
Infos
-
Fedora Spins: https://spins.fedoraproject.org/de
-
Fedora Labs: https://labs.fedoraproject.org/de
-
Btrfs-Status: https://btrfs.wiki.kernel.org/index.php/Status
-
Stratis: https://linuxnews.de/2020/07/fedora-33-soll-mit-stratis-2-1-0-ausgeliefert-werden/
-
Nss-resolve: https://www.freedesktop.org/software/systemd/man/nss-resolve.html
-
Split-DNS: https://www.comconsult.com/dns-views-und-dns-split-brain
-
RPM-Ostree:https://rpm-ostree.readthedocs.io/en/latest
-
Silverblue vs. Endless: Ferdinand Thommes, “Neue Konzepte”, LU 12/2019, S. 80, https://www.linux-community.de/43141
-
Fedora 32: https://linuxnews.de/2020/04/fedora-32-offiziell-verfuegbar





