Wenn man die Beiträge auf der Linux Bibel schon länger verfolgt oder sich auch ältere ein wenig ansieht – wir können unter Linux aus vielen unterschiedlichen Quellen installieren:
- APT – der Paketmanager von auf Debian basierenden Linux-Distributionen
- Flatpak – ein Paketmanager von Red Hat / Fedora
- Snap – ein Paketmanager von Canonical / Ubuntu
- Python Package Repository – Python-Software
- Cargo – das Rust-Repository
- Appimages – ausführbare Pakete
Und nein, wir sprechen hier nicht von den Paketmanagern unterschiedlicher Linux-Distributionen – dies war gerade einmal Debian und darauf basierenden Distributionen wie Ubuntu. Die ersten drei genannten lassen sich über grafische Paketmanager wie Discover (KDE Plasma) oder Ubuntu-Software mit einem Schlag aktualisieren – am Terminal müsste man aber schon drei Befehle extra starten, die letzten drei gilt es sowieso extra zu aktualisieren.
Wäre es nicht interessant, alle Software mit einem Schlag zu aktualisieren? Ich habe gerade Topgrade – GitHub gefunden, diese Software soll genau dies können – und diese sehen wir uns jetzt etwas näher an.
Inhaltsverzeichnis
Topgrade installieren
Unter auf Debian basierenden Linux-Distributionen schaffen wir erst einmal die Voraussetzungen – über die Paket-Verwaltung installieren wir die Pakete „cargo libssl-dev pkg-config„. Etwa gleich als Administrator am Terminal mit dem Befehl:
apt install cargo libssl-dev pkg-config
Jetzt können wir Topgrade am Terminal als normaler Benutzer installieren:
cargo install topgrade
cargo install cargo-update
Die Installation dauert ein wenig – die Software wird automatisch aus dem Quellcode in eine funktionierende Software übersetzt:

Topgrade nutzen
Wie im Beitrag zu Cargo beschrieben, müssen wir den Pfad zum Cargo-Verzeichnis erst in die „.bashrc“ (oder für Zsh in die „.zshrc„) eintragen:
echo 'export PATH=$PATH:/home/BENUTZERNAME/.cargo/bin' >> /home/BENUTZERNAME/.bashrc
Oder für die ZSH:
echo 'export PATH=$PATH:/home/BENUTZERNAME/.cargo/bin' >> /home/BENUTZERNAME/.zshrc
Nach einem Neustart des Terminals können wir Topgrade am Terminal als normaler Benutzer mit dem Befehl:
topgrade
starten:

Wir erhalten die Ausgabe:
―― 00:05:21 - System update ――――――――――――――――――――――――――――――――――――――――――――――――――――
doas: doas is not enabled, /etc/doas.conf: No such file or directory
Retry? (y)es/(N)o/(s)hell/(q)uit
Und bestätigen mit „Eingabe„:

Die Software zeigt uns Aktualisierungen und bietet an, diese zu installieren – hierzu gehören auch Firmware-Updates:
Anschließend erhalten Sie eine ausführliche Meldung – etwa:
―― 00:09:43 - Summary ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
System update: FAILED
config-update: OK
oh-my-zsh: OK
cargo: OK
Flatpak: OK
snap: FAILED
Firmware upgrades: OK
Unter manchen Meldungen zeigt sich die Ausgabe:
doas: doas is not enabled, /etc/doas.conf: No such file or directory
Ebenso die Meldungen am Ende:
System update: FAILED
snap: FAILED
Für diese Aufgaben benötigt auch die Software natürlich administrative Rechte – hierzu installiert man sich über die Paket-Verwaltung das Paket „doas“ und erstellt mit administrativen Rechten am Terminal die Datei „/etc/doas„:
nano /etc/doas
Diese Datei befüllt man anschließend mit den Benutzern, die den Befehl ausführen dürfen – etwa für die Benutzer „robert“ und „katarina“ (pro Benutzer eine Zeile):
permit robert as root
permit katarina as root
Die Datei wird mit Strg+o gespeichert, mit Eingabe wird bestätigt und mit Strg+x der Editor geschlossen. Jetzt funktionieren auch Updates mit root-Rechten (der jeweilige Benutzer muss nur mit seinem Passwort bestätigen):
―― 00:09:48 - Summary ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
System update: OK
config-update: OK
oh-my-zsh: OK
cargo: OK
Flatpak: OK
snap: OK
Firmware upgrades: OK
Die Software sucht sich also tatsächlich alle installierten Paketmanager – ich habe letztendlich das Python-Repo aktiviert (einfach das Paket „python3-pip“ installiert) – dann kommt auch die Meldung:
pip3: OK
Bis auf Appimages kommt die Software also mit allen Paketmanagern klar. Jetzt können wir die Software natürlich auch noch anpassen – der Software also zeigen, mit welchen Paketmanagern sie zusammenarbeiten soll. Nehmen wir beispielsweise Flatpak (flatpak) und APT (system) – „system“ könnte jetzt auch der Paketmanager von openSUSE oder Arch Linux sein. Für die aktuelle Sitzung:
topgrade --disable flatpak system
Und dauerhaft speichern:
topgrade --edit-config
Hier arbeiten wir standardmäßig mit Vim – außer Sie haben die .bashrc / .zshrc mit einem anderen Editor angepasst:
export EDITOR='/usr/bin/nano'

Hier passen Sie die jeweiligen Paketmanager an – um etwa Flatpak und Snap zu deaktivieren:
disable = ["flatpak", "snap"]
Noch keine Reaktion