Drei Fragen und Antworten: Macht Linux jetzt Schluss mit GNU?

Rust kommt in Linux an – nicht nur im Kernel, auch viele neue Shell-Werkzeuge wollen den Admin-Alltag umkrempeln. Nur ein Hype oder sind sie echt die Zukunft?

In Pocket speichern vorlesen Druckansicht 68 Kommentare lesen
Roboter mit Sprechblase

(Bild: iX)

Lesezeit: 5 Min.

In letzter Zeit machen immer wieder neue Rust-Tools für Linux von sich reden – nachdem sich über Jahre bei den meisten Shell-Werkzeugen für den Admin-Alltag wenig geändert hatte, packen experimentierfreudige Entwickler jetzt das Userland neu an. Martin Gerhard Loschwitz, Titelautor der neuen iX 8/2024, hat sich die Projekte genauer angesehen.

Martin Gerhard Loschwitz

Martin Gerhard Loschwitz ist freier Journalist, Trainer und Consultant rund um die Themen OpenStack, Ceph, Kubernetes und alles, was daran angrenzt.

Die existierenden Linux-Tools haben sich doch bewährt. Warum machen sich jetzt so viele Programmierer daran, Alternativen zu entwickeln?

Weil es geht. Und weil sie es können. Scherz beiseite: "Das haben wir schon immer so gemacht" war in der Open-Source-Szene noch nie eine valide Begründung dafür, dass jemand etwas lässt oder, wie in diesem Falle, tut. Und zum Glück ist das so: Gäbe es nicht regelmäßig (junge und wilde) Entwickler, die bestehende Konventionen infrage stellen, hätte manche großartige Software der Gegenwart vermutlich nie das Licht der Welt entdeckt. Denn vieles von dem, was irgendwann mal als vermeintliche akademische Spinnerei begonnen hat, hat sich am Markt später durchgesetzt, nicht zuletzt der Linux-Kernel selbst.

Gerade die klassischen Kommandozeilenwerkzeuge bieten zudem den Vorteil, dass man hier sehr eng am Kern des Betriebssystems arbeitet – man lernt also viel über die grundlegenden Funktionen von Linux-Systemen und erweitert obendrein noch sein Wissen um Rust. Schließlich ist es auch nicht so, dass mit den bestehenden CLI-Werkzeugen der Gegenwart alle wunschlos glücklich wären. Ein flotteres ls beispielsweise wünschen sich viele. In meinen Augen spricht nichts dagegen, dass irgendwer den ersten Aufschlag macht und etwas entwickelt und im Anschluss zur Diskussion stellt. Über den Diskussionsstatus sind die meisten Rust-Alternativen zu den klassischen Coreutils aber ohnehin längst hinaus.

Wie unterscheiden sich denn die Ansätze der Entwickler? Müssen sich Administratoren komplett umgewöhnen oder sind bei Skripten und so weiter nur wenige Änderungen nötig?

Klassische Juristenantwort: Es kommt darauf an. Möchte ich als Administrator einfach nur die bestehenden C-Werkzeuge der Coreutils durch ihre Rust-Gegenstücke ersetzen, existiert dafür ein eigenes Projekt, das auf volle CLI-Kompatibilität mit den GNU-Versionen hin getrimmt ist. Hier ist die Erwartungshaltung also ganz klar, dass die in Rust verfassten Werkzeuge dieselben Parameter unterstützen und sich in identischer Weise wie jene Werkzeuge nutzen lassen, die klassischen Linux-Systemen heute beiliegen. Auch die CLI-Ausgabe soll identisch sein, damit die Werkzeuge sich in Skripts als Eins-zu-Eins-Ersatz verwenden lassen. Die Maintainer des Rust-Coreutils-Projektes betrachten es als Bug, wenn die Werkzeuge des Projektes nicht vollständig mit den GNU-Gegenstücken kompatibel sind.

Anders sieht es bei der anderen Art und Weise aus, wie Entwickler klassische Werkzeuge in Rust heute nachimplementieren. Hier geht es lockerer zu: Diverse Nachbauten zu ps in Rust etwa bieten eine andere Ansicht, andere CLI-Parameter und mehr Performance. Es geht hier also eher darum, ein benutzerfreundlicheres und flotteres Nachfolgewerkzeug zu ps zu schaffen, als dieses einfach nur nachzubauen. Der Fantasie sind dabei keine Grenzen gesetzt, im Gegenzug lassen sich die Werkzeuge aber eben auch nicht mehr als Drop-in-Ersatz für die klassischen Coreutils verwenden. Bei einigen Projekten würde das schon daran scheitern, dass sie ihre Ausgabe in einer Pager-Ansicht präsentieren, also unmittelbar gar nicht auf die Shell zurückführen.

Welche der Tools kannst Du denn besonders empfehlen – und von welchen sollte man lieber die Hände lassen?

Ich mochte procs als Ersatz für ps sehr gern, und auch der ls-Ersatz eza machte im persönlichen Test einen sehr schlanken Fuß – und das selbst auf macOS, also einem Betriebssystem, für das die Rust-Werkzeuge vorrangig gar nicht entwickelt werden. Per Homebrew war es hier aber möglich, den größten Teil der Probanden aus dem Test ebenfalls recht leicht zu installieren.

Beeindruckt hat mich obendrein Rio, ein ausgesprochen praktischer Terminal-Emulator auf Rust-Basis als Hommage an das klassische Kitty. In Form von Zellij steht zudem ein Rust-Ersatz für Tmux parat, den ich ebenfalls liebgewonnen habe, weil er gefühlt einen Ticken flotter reagiert als sein Vorbild. Insgesamt ist das, was die Rust-Community in Sachen grundlegender Shell-Werkzeuge bis hierhin bereits geleistet hat, aber absolut beeindruckend. Und ich bin gespannt, worauf wir uns in der Hinsicht künftig noch freuen dürfen.

Martin, vielen Dank für die Antworten! Einen Überblick zu den neuen Rust-Tools für Linux gibt es in der neuen iX. Außerdem zeigen wir, wie Entwickler die GNU Coreutils in Rust reimplementieren – und werfen einen kritischen Blick auf Rust gegen C im Linux-Kernel. All das und viele weitere Themen finden Leser im August-Heft, das ab sofort im heise Shop oder am Kiosk erhältlich ist.

In der Serie "Drei Fragen und Antworten" will die iX die heutigen Herausforderungen der IT auf den Punkt bringen – egal ob es sich um den Blick des Anwenders vorm PC, die Sicht des Managers oder den Alltag eines Administrators handelt. Haben Sie Anregungen aus Ihrer tagtäglichen Praxis oder der Ihrer Nutzer? Wessen Tipps zu welchem Thema würden Sie gerne kurz und knackig lesen? Dann schreiben Sie uns gerne oder hinterlassen Sie einen Kommentar im Forum.

(fo)