Rust coreutils: Skriptkompatibilität und GNU-Alternativen
Ubuntu 26.10 migriert auch die zuvor beibehaltenen Befehle cp, mv und rm zu Rust-basierten Uutils. Namen bleiben bekannt, aber Skripte, die auf ungewöhnlichen Optionen, Fehlertexten oder Exit-Verhalten basieren, müssen überprüft werden. Die 26.10-Versionshinweise bestätigen den Übergang.
Überprüfen Sie die aktuelle Implementierung
type -a cp mv rm
cp --version
mv --version
rm --versionÜberprüfen Sie type -a zunächst auf Aliase, Shell-Funktionen oder benutzerdefinierte PATH-Einträge und überprüfen Sie dann die Versionsausgabe. Container verfügen über einen eigenen Benutzerbereich: Durch ein Upgrade des Hosts werden die Befehle innerhalb eines Containers nicht automatisch geändert.
Testen Sie einen grundlegenden Workflow in einem temporären Verzeichnis
In diesem Beispiel werden Testdateien erstellt und verschoben, ohne Ihre Arbeitsdateien zu berühren:
coreutils_check_dir=$(mktemp -d)
printf 'coreutils check\n' > "$coreutils_check_dir/source.txt"
cp "$coreutils_check_dir/source.txt" "$coreutils_check_dir/copy.txt"
cmp "$coreutils_check_dir/source.txt" "$coreutils_check_dir/copy.txt"
mv "$coreutils_check_dir/copy.txt" "$coreutils_check_dir/moved.txt"
rm "$coreutils_check_dir/moved.txt"
ls -la "$coreutils_check_dir"Keine Ausgabe von cmp mit Exit-Status 0 bedeutet, dass der Inhalt übereinstimmt. Dies ist nur eine grundlegende Prüfung, kein Beweis dafür, dass ein Backup- oder Bereitstellungsskript kompatibel ist. Bewahren Sie das Verzeichnis zur Überprüfung auf und entfernen Sie es anschließend manuell.
Priorisieren Sie diese Skripte
- Skripte, die Fehlermeldungen analysieren: Bevorzugen Sie Exit-Codes und explizite Dateiprüfungen.
- Rekursive Kopien, symbolische Links und Metadatenerhaltung: Vergleichen Sie Inhalte, Berechtigungen und Linkziele anhand von Beispieldaten.
- Geplante Jobs und CI: Testen Sie mit dem echten Benutzer, PATH und Arbeitsverzeichnis.
- Aufgaben zum Löschen oder Überschreiben von Dateien: Verwenden Sie Einwegkopien und bestätigen Sie zunächst die Wiederherstellungsverfahren.
Führen Sie die gleiche Eingabe auf dem Zielsystem und der Originalumgebung aus. Notieren Sie den Befehl, den Exit-Code, stdout und stderr. Verwenden Sie stat für Beispieldateien, wenn Metadaten wichtig sind.
GNU-Alternativen
Ubuntu stellt weiterhin GNU-Dienstprogramme bereit. Die offizielle Dokumentation beschreibt Befehle mit dem Präfix gnu wie gnuls und den Wechsel zwischen coreutils-from-gnu und coreutils-from-uutils. Siehe die offiziellen Rust-Coreutils-Anweisungen .
Beheben oder isolieren Sie zunächst das spezifische Skriptproblem. Wenn ein systemweiter Wechsel erforderlich ist, lesen Sie die offiziellen Befehle und überprüfen Sie die geplanten Änderungen von APT. Dies sind Basissystempakete; Vermeiden Sie es, Dateien in /usr/bin zu überschreiben oder Symlinks zu erfinden, um sie zu ersetzen.
Als nächstes: Sicherung und Wiederherstellung und Release-Auswahl.