Im Fall von SUSE Linux (openSUSE, SUSE Enterprise und Derivate) sind zypper und YaST die Paketmanager. Während YaST (Yet another Setup Tool) zum Administrieren, Einrichten und Konfigurieren von SUSE Linux dient, ist zypper die CLI-Schnittstelle des ZYpp-Paketmanagers. ZYpp ist das Herzstück von zypper und YaST.
In diesem Artikel werden wir uns eingehend mit der Verwendung von Zypper für alle möglichen Zwecke befassen.
Hinweis: Da zypper-Befehle systemweite Änderungen durchführen, müssen diese Befehle als root ausgeführt werden. Andernfalls schlagen die Befehle fehl.
Lass uns ohne weiteres loslegen! Alle diese Beispiele werden auf openSUSE Tumbleweed gezeigt. Diese Befehle sind jedoch universell für den zypper-Paketmanager.
Zypper-Hilfe
Wenn Sie zypper ohne einen Befehl ausführen, wird eine Liste aller verfügbaren Befehle ausgedruckt.
$ zypper
Es ist eine große Liste! Wenn Sie Hilfe zu einem bestimmten Befehl benötigen, führen Sie den folgenden Befehl aus.
$zypper-Hilfe
Aktualisieren der Zypper-Datenbank
Dies ist eine der gebräuchlichsten Funktionen von zypper, um seine lokale Paketdatenbank mit dem Paketserver auf dem neuesten Stand zu halten.
$ sudo zypper aktualisieren
Anstelle von „refresh“ können Sie auch die Abkürzung „ref“ verwenden.
$ sudo zypper ref
Es ist auch möglich, Zypper zu zwingen, seine lokale Datenbank neu aufzubauen. Dies kann in Situationen nützlich sein, zum Beispiel wenn die Datenbank beschädigt ist.
$ sudo zypper refresh -fdb
Systempakete aktualisieren
Um alle aktuellen Paket-Updates von openSUSE zu erhalten und zu installieren, führen Sie den folgenden Befehl aus install.
$ sudo zypper-Update
Ich empfehle jedoch die Verwendung der folgenden Struktur für maximalen Nutzen.
$ sudo zypper frisch && sudo zypper update
Wenn Sie sich die Pakete ansehen möchten, für die Updates verfügbar sind, führen Sie den folgenden Befehl aus. Zypper erstellt eine Liste der verfügbaren Updates für Sie.
$ zypper list-updates --all
Installieren eines Pakets
Verwenden Sie zum Installieren eines Pakets den folgenden Befehl.
$ sudo zypper install vlc
Es gibt einige interessante Abkürzungen von Zypper-Befehlen. In diesem Fall ist auch der folgende Befehl gültig und erledigt die gleiche Aufgabe.
$ sudo zypper in vlc
Wenn Sie mehrere Pakete gleichzeitig installieren müssen, geben Sie einfach den Paketnamen nacheinander durch ein Leerzeichen getrennt ein.
$ sudo zypper installieren
Wenn eine Aktion ausgeführt wird, fragt zypper nach einer Bestätigung. Um den interaktiven Modus zu deaktivieren, fügen Sie das Flag „-non-interactive“ oder „-n“ hinzu.
$ sudo zypper --non-interactive in vlcsudo zypper -n in vlc
Die Wildcard-Funktion wird auch von zypper unterstützt. Versuchen wir zum Beispiel, alle Pakete zu installieren, die mit dem Namen beginnen
Python.$ sudo zypper in 'python*'
Quellpaket installieren
Hinweis: Bevor Sie die folgenden Schritte ausführen, vergessen Sie nicht zu überprüfen, ob das Quell-Repository aktiviert ist. Andernfalls werden Quellinstallationen nicht erfolgreich sein. Quell-Repository von „YaST Software Repositories“ aktivieren.
Wenn Sie das Quellpaket eines bestimmten Pakets installieren müssen, verwenden Sie das Flag „source-install“.
$ sudo zypper source-install vlc
Standardmäßig fordert dieser Befehl auch zur Installation aller Build-Abhängigkeiten auf. Um die Build-Abhängigkeiten zu vermeiden, fügen Sie das Flag „-D“ hinzu.
$ sudo zypper source-install -D vlc
Falls Sie nur die Build-Abhängigkeiten installieren möchten, verwenden Sie stattdessen "-d".
$ sudo zypper install source-install -d vlc
Paket suchen
Es gibt Tausende von Paketen im openSUSE-Repository. Um eine Suche mit zypper durchzuführen, verwenden Sie die folgende Struktur.
$ zypper-SucheLassen Sie uns zum Beispiel nach allen Paketen mit dem Begriff „Python“ suchen”.
$ zypper suchpython
Eine solche Suche kann eine LANGE Liste von Paketen ausdrucken. In einer solchen Situation kann die Verwendung von „grep“ oder das Exportieren des Ergebnisses und die anschließende Ausführung etwas Komfort bieten.
Die Option „Suchen“ hat auch eine Abkürzung „se“.
$ zypper -n se
Beachten Sie, dass wir für die Suche am Anfang nicht „sudo“ verwenden mussten. Dies liegt daran, dass zypper keine systemweiten Änderungen durchführt.
Paket entfernen
Wenn Sie ein bestimmtes Paket loswerden möchten, verwenden Sie die Option „Entfernen“.
$ sudo zypper entfernenEntfernen wir beispielsweise VLC aus dem System.
$ sudo zypper entfernen vlc
Anstelle von „Entfernen“ verwenden wir „rm“. Es ist die Abkürzung des Begriffs „Entfernen“.
$ sudo zypper rm vlc
Wenn Sie den interaktiven Modus überspringen möchten, verwenden Sie das Flag „-non-interactive“ oder „-n“.
$ sudo zypper --non-interactive rm vlc$ sudo zypper -n rm vlc
Gleichzeitiges Installieren und Entfernen
Es ist eine interessante Funktion von zypper, die es ermöglicht, Pakete gleichzeitig zu installieren und zu entfernen! Schauen wir es uns an.
Lassen Sie uns zum Beispiel VLC installieren, während Sie Python entfernen. In diesem Beispiel besteht die Hauptaufgabe von zypper darin, zu installieren, nicht zu entfernen. Hier wird der Einfachheit halber das Flag „-n“ verwendet.
$ sudo zypper -n in vlc -python
Patch
Dies ist ein interessanter Teil des openSUSE-Ökosystems. Während beide Patch und aktualisieren funktionieren gleich, beide sind grundlegend verschieden. Verwirrt?
Im Fall von „Update“ wird das Paket im Sinne von openSUSE auf die neueste Version aktualisiert, die aus dem Repository verfügbar ist. Im Fall von „Patch“ werden jedoch nur Paketaktualisierungen installiert, die für Fehler- und Sicherheitskorrekturen gedacht sind.
Wenn Sie nur installieren Flecken, Es kann sein, dass alle Pakete aktualisiert werden. Durch die Durchführung von Updates wird jedoch sichergestellt, dass alle neuesten Pakete installiert sind.
Wenn das aus dem Weg ist, fangen wir an!
Installieren Sie zuerst den Patch. Der folgende Befehl installiert alle offiziell veröffentlichten Patches.
$ Sudo Zypper-Patch
In meinem Fall gibt es nichts zu tun. Wenn es einen neuesten Patch gibt, wird der Befehl ihn installieren.
Um die Liste der verfügbaren Patches anzuzeigen, verwenden Sie diesen. Es erfordert nicht Wurzel Erlaubnis zu laufen.
$ Zypper-Patches
Zypper kann alle Patches auflisten, die derzeit nicht installiert sind. Führen Sie den folgenden Befehl aus.
$ zypper list-patches
Die „list-patches“ gibt es auch in der Kurzform „lp“.
$ zypper lp
Sie möchten nur die Patches auflisten, die als Sicherheitsfixes gekennzeichnet sind?
$ zypper lp --category securityFühren Sie diesen Befehl aus, um die Anzahl der erforderlichen Patches zu überprüfen.
$ sudo zypper Patch-Check
Repository-Verwaltung
Zypper bietet nahtlose Methoden zur Verwaltung aller Repositorys. Hier sind einige der Befehle, die in vielen Situationen sehr nützlich sind.
Wir haben bereits behandelt, wie die lokale Datenbank aller Repos aktualisiert wird update.
$ sudo zypper aktualisieren
Benötigen Sie eine kurze Liste aller Repositorys?
$ Zypper-ReposWir können auch „lr“ verwenden, die abgekürzte Form von „repos“.
$ zypper lr
Benötigen Sie die URI des Repos? Fügen Sie einfach das Flag "-u" nach "lr" oder "repos" hinzu.
$zypper lr -u
Wenn Sie es nicht wussten, die Repositorys von openSUSE sind in einer Hierarchie geordnet. Um die Repositorys nach ihrer Priorität aufzulisten, verwenden Sie das Flag „-p“.
$ zypper lr -p
Beim Ausführen von „refresh“ aktualisiert Zypper die lokale Datenbank für alle Repositorys. Um ein bestimmtes Repository zu aktualisieren, führen Sie den folgenden Befehl aus.
$ sudo zypper aktualisieren
Repos können aktiviert/deaktiviert werden, ohne sie zu löschen. Um ein bestimmtes Repository zu deaktivieren, führen Sie den folgenden Befehl aus. Beachten Sie, dass wir die Repository-Nummer aus der Repository-Liste benötigen.
$ sudo zypper mr -d
Sie müssen ein deaktiviertes Repository aktivieren? Lassen Sie uns den folgenden Befehl ausführen.
$ sudo zypper mr -e
Das Hinzufügen eines neuen Repositorys ist ebenfalls sehr einfach. In diesem Beispiel füge ich den Packman . hinzu. Es ist ein externes Repository, das zusätzliche openSUSE-Pakete bietet. Je nachdem, welche Version von openSUSE Sie verwenden, ändert sich der Repository-URI. Die Befehlsstruktur bleibt jedoch gleich. Erfahre mehr über Packman
$ sudo zypper addrepoIm Fall von openSUSE Tumbleweed sieht der Befehl etwa so aus. „ar“ ist hier die abgekürzte Form von „addrepo“.
$ sudo zypper ar -cfp 90 http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/Packmann
Um ein Repo zu entfernen, benötigen Sie den Repo-Alias. Holen Sie sich den Repo-Alias aus der Liste der Repos und verwenden Sie den folgenden Befehl.
$ sudo removerepoSie können „removerepo“ mit seiner abgekürzten Form „rr“ austauschen.
$ sudo rr
Cache-Verwaltung
Caching ist ein nützlicher Mechanismus, bei dem zypper eine Kopie aller RPM-Pakete, die es aus dem Internet holt, an einem bestimmten Ort aufbewahren kann. Jedes Mal, wenn Sie zypper bitten, dasselbe Paket zu installieren, schaut es zuerst in den Cache. Wenn es sich im Cache befindet, verwendet zypper das RPM-Paket aus dem Cache, um die Installation durchzuführen. Auf diese Weise kann es die Installation beschleunigen und Zeit und Bandbreite sparen.
Der Cache wird an folgendem Ort gespeichert. Jedes Repository hat seinen eigenen dedizierten Ordner unter dem Verzeichnis.
$ tree /var/cache/zypp/packages
Führen Sie zum Bereinigen des Caches den folgenden Befehl aus.
$ sudo zypper clean
Dadurch werden alle gespeicherten RPM-Pakete aus dem Cache gelöscht. Ich empfehle, das Caching zu aktivieren, es sei denn, Sie sind durch den Speicher irgendwie eingeschränkt. Der folgende Befehl aktiviert das Caching für alle Repositorys im System.
$ sudo zypper mr -ka
Abschließende Gedanken
Zypper bietet eine Menge Funktionen. Während diese Zypper-Nutzungsmethoden für normale Benutzer mehr als ausreichend sind, gibt es viele erweiterte Funktionen, die hier nicht vorgestellt wurden.
Die vollständige zypper-Dokumentation finden Sie auf der Manpage.
$ man zypper
Genießen!