Jede Distribution hat ihre eigene Paketverwaltung. Bei openSUSE ist es Zypper, das die Abhängigkeiten etc. der Pakete im RPM-Format auflöst. Zypper ist mächtig und sehr flexibel. Drei Befehle und eine Einstellung helfen, ein Tumbleweed-System aufgeräumt zu halten.
Standardmäßig installiert openSUSE obligatorische und empfohlene Abhängigkeiten. Letztere sind für einige Komponenten einer Software nützlich, aber nicht zwingend notwendig. Wenn man ein wenig Ahnung hat oder bereit ist, sich diese anzueignen, sollte man die automatische Installation der empfohlenen Abhängigkeiten deaktivieren. Diese ziehen nämlich oft viel unnötigen Ballast mit sich, den man nur für ganz marginale Funktionen mancher Software benötigt.
Das geschieht über eine Anpassung der Konfigurationsdatei /etc/zypp/zypp.conf:
##
## Whether only required packages are installed.
##
## Recommended packages, will not be regarded.
##
## Valid values: boolean
## Default value: false
##
solver.onlyRequires = true
Code-Sprache: PHP (php)
Hier muss das Auskommentierungszeichen # entfernt und der Wert auf true gesetzt werden.
Möchte man Anwendungen deinstallieren, ist es hilfreich, auch alle Abhängigkeiten zu entfernen. Dies geschieht mit folgender Option:
# zypper rm --clean-deps <Paketname>
Code-Sprache: HTML, XML (xml)
Trotzdem kann es bei RR-Systemen immer mal wieder Überbleibsel geben. Diese können mit folgenden Kommandos gefunden werden:
Zunächst können nicht mehr benötigte Abhängigkeiten identifiziert werden.
# zypper packages --unneeded
Code-Sprache: PHP (php)
Die Ausgabe kann wie folgt aussehen:
# zypper packages --unneeded
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...
S | Repository | Name | Version | Arch
---+------------------------+-------------+----------+-------
i | Haupt-Repository (OSS) | dialog-lang | 1.3-12.1 | noarch
Code-Sprache: PHP (php)
Intellektuell sollte man natürlich prüfen, ob die Angabe stimmig ist. Das Language-Pack im Beispiel möchte ich z.B. behalten. Nicht mehr benötigte Pakete können anschließend auf dem üblichen Weg entfernt werden.
Es kann auch immer mal sein, dass Pakete aus den Paketquellen entfernt werden. Solche Pakete können mit folgendem Befehl identifiziert werden:
# zypper packages --orphaned
Code-Sprache: PHP (php)
Die Ausgabe kann wie folgt aussehen:
# zypper packages --orphaned
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...
S | Repository | Name | Version | Arch
---+------------+----------------+-------------+-------
i+ | @System | synology-drive | 7.5.0-16085 | x86_64
Code-Sprache: PHP (php)
Wie im Beispiel zu sehen ist, betrifft das auch Pakete, die der Anwender bewusst an der Pakrtverwaltung vorbei installiert hat. Deshalb auch hier nicht kopflos einfach alles entfernen.
Zypper ist wirklich ein geniales Tool.
Muss derzeit leider mit einen Debian/Ubuntu Unterbau arbeiten.
Wirklich keine Freude und somit leider auch eine Schande, dass es dem openSUSE Projekt so schlecht geht.
Beste Grüße