Jon Seager, Vizepräsident von Canonical für Engineering und technischer Leiter des Ubuntu-Projekts, hat eine Initiative vorgestellt, die Systemwerkzeuge in Ubuntu durch Alternativen in Rust zu ersetzen. Das erste Ziel der Initiative besteht darin, Ubuntu 25.10 standardmäßig auf den Einsatz des uutils-Toolkits anstelle des GNU Coreutils-Toolsets umzustellen. Sollte das Experiment erfolgreich sein, werden uutils auch standardmäßig im LTS-Zweig von Ubuntu 26.04 verwendet.
Der Austausch betrifft mehr als einhundert Werkzeuge, die Teil von Coreutils sind, darunter sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln und ls. Derzeit werden die uutils standardmäßig in der auf Debian basierenden Distribution Apertis sowie in der unabhängigen Distribution AerynOS (SerpentOS) verwendet. Die letzte Woche veröffentlichte Version des uutils coreutils 0.0.30 hat 507 Tests erfolgreich bestanden (in der vorherigen Version 506, in der vorvorigen 476) aus dem Referenz-Testset von GNU Coreutils. 69 Tests scheiterten, und 41 Tests wurden übersprungen. In den kommenden Wochen soll auch mit der Ersetzung der Werkzeuge su und sudo in Ubuntu durch das Paket sudo-rs begonnen werden. Zu den in Betracht gezogenen Projekten werden außerdem zlib-rs und ntpd-rs erwähnt.

Der Grund für die Migration besteht darin, die Zuverlässigkeit und Sicherheit der zugrunde liegenden Distribution zu erhöhen. Die Verwendung von Rust wird es ermöglichen, das Risiko von Fehlerraten im Umgang mit Speicher, wie z. B. dem Zugriff auf Speicherbereiche nach deren Freigabe und Pufferüberläufe, zu verringern. Laut John Seeger wird der Schutz vor solchen Fehlern die Sicherheitsgarantien erhöhen und mit steigender Sicherheit auch die allgemeine Zuverlässigkeit des Systems.
Es wird festgestellt, dass Canonical verschiedene Methoden zur Qualitätsverbesserung in Betracht zieht, von denen eine die Bereitstellung von Programmen ist, die ursprünglich mit Blick auf Sicherheit, Zuverlässigkeit und Korrektheit entwickelt werden. Dies ist besonders wichtig für die grundlegenden Komponenten der Distribution, da Probleme in der Low-Level-Software Auswirkungen auf die Funktionalität aller darüber liegenden Schichten haben können; zum Beispiel können Leistungsprobleme in den Basis-Paketen auch die Leistung anderer Teilsysteme beeinträchtigen.
Für die getestete Ersetzung von Systemkomponenten in Ubuntu wurde das Projekt oxidizr vorbereitet, das eine Befehlszeilenschnittstelle zur Verwaltung von Experimenten mit dem System bietet, die mit der Ersetzung herkömmlicher Dienstprogramme durch Alternativen, die in Rust geschrieben sind, zusammenhängen. Derzeit sind in oxidizr Experimente verfügbar, um standardmäßig auf die Verwendung der Pakete uutils coreutils, uutils findutils, uutils diffutils und sudo-rs umzustellen. Um beispielsweise coreutils und findutils in Ihrem System zu ersetzen, genügt es, den Befehl „sudo oxidizr enable —experiments coreutils findutils“ auszuführen, während Sie für die Rückkehr zum Ausgangszustand den Befehl „oxidizr disable“ verwenden können.
Quelle: opennet.ru
