3.3 Aktualisierung über die Kommandozeile mit zypper

openSUSE wird mit dem Kommandozeilenwerkzeug zypper für die Installation und Aktualisierung von Paketen ausgeliefert. Damit können Sie Software per Fernzugriff oder mit Hilfe von Shell-Skripten verwalten.

3.3.1 Installieren und Entfernen von Software mit zypper

Um ein Paket aus registrierten Repositories zu installieren, verwenden Sie

zypper install package_name

Um ein installiertes Paket zu entfernen, verwenden Sie

zypper remove package_name

zypper fordert vor der Installation oder Deinstallation eines Pakets standardmäßig eine Bestätigung an. Mit der Option --non-interactive können Sie diese Bestätigungsabfrage deaktivieren. Die Option muss jedoch vor der tatsächlich auszuführenden Aktion (Installieren, Entfernen oder Aktualisieren) angegeben werden, wie in

zypper --non-interactive install package_name

Mit dieser Option kann zypper auch in Skripten und Cron-Aufträgen verwendet werden.

3.3.2 Aktualisieren von Software mit zypper

zypper bietet zwei Methoden der Softwareaktualisierung. Wenn Sie alle offiziell verfügbaren Patches in Ihr System integrieren möchten, führen Sie einfach das Kommando

zypper update

aus. In diesem Fall werden alle in Ihren Repositories vorhandenen Patches auf Relevanz überprüft und bei Bedarf installiert.

Wenn ein Repository neue Pakete enthält, aber keine Patches zur Verfügung stellt, zeigt zypper update keinerlei Wirkung. Um all diese Pakete zu aktualisieren, müssen Sie angeben, dass Aktualisierungen vom Typ Paket installiert werden sollen:

zypper update -t package

Um einzelne Pakete zu aktualisieren, verwenden Sie einfach das Installationskommando:

zypper install package_name

Mit dem Kommando kann eine Liste mit allen neu verfügbaren Paketen abgerufen werden.

zypper list-updates -t package

3.3.3 Verwalten von Repositories

Sämtliche Installations- und Update-Kommandos von zypper sind von der Liste der Repositories abhängig, die zypper bekannt sind. Um alle dem System bekannten Repositories aufzulisten, verwenden Sie das Kommando

zypper repos

Das Ergebnis ist der folgenden Ausgabe ähnlich.

# | Enabled | Refresh | Type  | Alias             | Name
--+---------+---------+-------+-------------------+-------------------
1 | Yes     | Yes     | yast2 | openSUSE-DVD 11.0 | openSUSE-DVD 11.0
2 | Yes     | No      | yast2 | Main (OSS)        | Main (OSS)
3 | Yes     | No      | yast2 | Main (Non-OSS)    | Main (Non-OSS)

Wenn ein Repository von der Liste entfernt werden soll, verwenden Sie das Kommando zypper renamerepo zusammen mit dem Alias des zu löschenden Repository. Zum Entfernen des Haupt-Repository (nicht-OSS) aus dem Beispiel, verwenden Sie das folgende Kommando:

zypper renamerepo Main Repository (Non-OSS)

Zum Hinzufügen eines Repository, führen Sie folgendes aus:

zypper addrepo URI Alias

URI kann entweder ein Internet-Repository (eine Liste der verfügbaren Repositories finden Sie unter http://en.opensuse.org/Additional_YaST_Package_Repositories), ein Verzeichnis oder eine CD/DVD sein. Der Alias ist ein Kürzel und eine eindeutige Kennung für das Repository. Sie können ihn frei wählen, vorausgesetzt, er ist eindeutig. zypper gibt eine Warnung aus, wenn Sie einen Alias angeben, der bereits verwendet wird.

3.3.4 Verwenden der zypper-Shell

Eventuell möchten Sie mehrere zypper-Kommandos nacheinander ausführen. Um zu verhindern, dass zypper für jedes zypper-Kommando alle Datenbanken neu einliest, kann zypper auch im Shell-Modus: zypper shell ausgeführt werden.

In der Shell brauchen Sie die zypper-Kommandos nur mit ihren jeweiligen Parametern einzugeben:

zypper shell
zypper> in zsh
...
zypper> exit

Die Kommandosausführung in der zypper-Shell ist in der Regel schneller, da alle relevanten Daten im Arbeitsspeicher verbleiben.

zypper unterstützt die readline-Bibliothek. Sie können daher in der zypper-Shell sämtliche Kommandozeilenfunktionen verwenden, die auch in der Bash-Shell zur Verfügung stehen. zypper führt seine Kommando-History in der Datei ~/.zypper_history.

3.3.5 Weiterführende Informationen

Weitere Informationen zur Aktualisierung über die Kommandozeile erhalten Sie, wenn Sie zypper --help eingeben oder die man-Seite zypper(8) aufrufen. Beispiele und ausführliche Informationen finden Sie unter http://en.opensuse.org/Zypper/Usage.