Inhaltsverzeichnis
Zusammenfassung
Dieses Kapitel behandelt zypper und RPM, zwei Kommandozeilen-Tools zum Verwalten von Software.
zypper ist ein Kommandozeilen-Tool für die Installation und Aktualisierung von Paketen. Damit können Sie Software per Fernzugriff oder mit Hilfe von Shell-Skripten verwalten.
In zypper ist eine Hilfeübersicht integriert:
zypper help
Die allgemeine Syntax für zypper lautet:
zypper[global-options]
command
[command-options]
[arguments]
...
Die Komponenten in Klammern sind nicht erforderlich. Am einfachsten führen Sie zypper aus, indem Sie seinen Namen gefolgt von einem Kommando eingeben. Geben Sie z. B. für das Anwenden aller erforderlichen Patches auf den Systemtyp das Folgende ein:
zypper update
Zusätzlich können Sie aus einer oder mehreren globalen Optionen wählen, indem Sie sie direkt vor dem Kommando eingeben. Beispielsweise bedeutet --non-interactive
, dass das Kommando ohne Benutzereingriff ausgeführt wird:
zypper --non-interactive update
Um die spezifischen Optionen für ein bestimmtes Kommando zu benutzen, geben Sie sie direkt nach dem Kommando ein. Beispielsweise bedeutet --auto-agree-with-licenses
, dass alle benötigten Patches auf das System angewendet werden, ohne dass Lizenzen bestätigt werden - alle wurden im Voraus gelesen:
zypper update --auto-agree-with-licenses
Einige der Kommandos erfordern ein oder mehrere Argumente:
zypper install mplayer
Einige der Optionen erfordern ebenfalls ein Argument. Das Folgende bedeutet, dass das System mit neueren Paketen aktualisiert wird:
zypper update -t package
Eine Kombination aus Obigem bedeutet, dass die Installation nur mit dem Factory
-Repository erfolgen und ausführlich sein soll:
zypper -v install --repo factory mplayer amarok
Um ein Paket aus registrierten Repositories zu installieren, verwenden Sie
zypper install package_name
Sie können einen lokalen oder entfernten RPM direkt installieren:
zypper install http://www.example.com/package_name
.rpm
Um ein installiertes Paket zu entfernen, verwenden Sie
zypper remove package_name
Keine Pakete entfernen, die für das System obligatorisch sind | |
---|---|
Entfernen Sie keine Pakete wie |
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
installpackage_name
Mit dieser Option kann zypper auch in Skripten und Cron-Aufträgen verwendet werden.
Wenn Sie das entsprechende Quellpaket eines Pakets installieren möchten, verwenden Sie
zypper source-install package_name
Mit diesem Kommando installieren Sie auch die Build-Abhängigkeiten des angegebenen Pakets. Wenn Sie dies nicht wünschen, fügen Sie wie folgt den Schalter --no-build-deps
hinzu:
zypper source-install --no-build-deps package_name
Natürlich funktioniert dies nur, wenn das Repository mit den Quellpaketen zu Ihrer Repository-Liste hinzugefügt wurde. Weitere Informationen über das Hinzufügen von Repositories finden Sie in Abschnitt 7.1.4, „Verwalten von Repositories“.
zypper bietet zwei Methoden der Softwareaktualisierung. Wenn Sie alle offiziell verfügbaren Patches in Ihr System integrieren möchten, führen Sie einfach folgendes Kommando aus:
zypper update
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 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
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 addrepoURI
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 oder 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.
Verschiedene Abfragekommandos wie search
, info
oder what-provides
stehen zur Verfügung.
search
funktioniert für Paketnamen und Anzeigestatusinformation (S
) in der ersten Spalte der Ausgabe.
info
mit einem Paketnamen als Argument zeigt ausführliche Informationen über ein Paket an.
Das what-provides
gleicht dem rpm -q --whatprovides-Paket
-Paket
, aber rpm ist nur für Abfragen der RPM-Datenbank (die Datenbank aller installierten Pakete) möglich. zypper informiert Sie auf der anderen Seite über Anbieter der Möglichkeit von einem beliebigen Repository, nicht nur von denen, die installiert sind.
Insbesondere für die Fehlersuche sind Schalter wie --plus-repo
, --disable-repositories
und --disable-system-resolvables
verfügbar. Verwenden Sie sie, wenn Sie nur in einem Repository suchen möchten. Ausführliche Nutzungsinformationen erhalten Sie auf der zypper-man-Seite (man zypper).
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 ausgeführt werden:
zypper shell
In der Shell brauchen Sie die zypper-Kommandos nur mit ihren jeweiligen Parametern einzugeben:
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
.
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.