Experiment zur Übersetzung von Gentoo zur Nutzung einer Variante von Coreutils in Rust

Die Ergebnisse des Experiments zur Ersetzung des GNU Coreutils-Pakets durch uutils in der Gentoo-Systemumgebung wurden veröffentlicht, um die Möglichkeit zu überprüfen, Pakete mit dem Paketmanager Portage zu erstellen und zu installieren, der auf den Funktionen von Coreutils basiert. Das Projekt uutils coreutils entwickelt eine plattformübergreifende Alternative zum GNU Coreutils-Paket, die in Rust geschrieben ist, unter der permissiven MIT-Lizenz (anstatt der Copyleft-Lizenz GPL) verteilt wird und nicht nur unter Linux betrieben werden kann.

Es gelang, uutils für die Verwendung mit Portage anzupassen. Für alle, die mit den Experimenten fortfahren möchten, wurde ein Repository vorbereitet, das eine Gentoo Stage 3-Variante mit den erforderlichen Änderungen für die Verwendung von uutils enthält, die für den Betrieb in einer chroot-Umgebung geeignet ist. Zu den vorgenommenen Änderungen gehören:

  • Deaktivierung des Baus von Dienstprogrammen, die außerhalb des Coreutils-Pakets geliefert werden (more, hostname, kill, uptime, groups) und mit anderen Paketen (util-linux, net-tools, procps, shadow) in Konflikt stehen.
  • Entfernung des Präfixes „uu-„ von den Befehlen.
  • Erstellung von Wrappern für die fehlenden Dienstprogramme (zum Beispiel,
    md5sum und sha256sum werden durch den Aufruf „cksum -a md5/sha256 —untagged“ realisiert).
  • Installation in Form separater ausführbarer Dateien anstelle einer einzigen ausführbaren Datei und symbolischen Links zu ihr (das Dienstprogramm emerge ruft die ausführbare Datei install-xattr auf, die die symbolischen Links vor dem Start auflöst, weshalb die gemeinsame ausführbare Datei von uutils nicht erkennen kann, welcher Befehl ausgeführt wird).

Quelle: opennet.ru

60GB SSD 8Gb DDR4