Verwalten von Software mit Kommandozeilen-Tools

Inhaltsverzeichnis

4.1. Verwenden von zypper
4.2. RPM – der Paket-Manager

Zusammenfassung

Dieses Kapitel behandelt zypper und RPM, zwei Kommandozeilen-Tools zum Verwalten von Software.

Verwenden von zypper

zypper ist ein Kommandozeilen-Tool für die Installation und Aktualisierung von Paketen. Die Syntax von zypper ist der Syntax von rug ähnlich. Im Unterschied zu rug benötigt zypper zur Ausführung im Hintergrund den zmd-Daemon nicht. Weitere Informationen über rug-Kompatibilität finden Sie in man zypper, Abschnitt "COMPATIBILITY WITH RUG". Damit können Sie Software per Fernzugriff oder mit Hilfe von Shell-Skripten verwalten.

In zypper ist eine Hilfeübersicht integriert:

zypper help

Allgemeine Verwendung

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 patch

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 patch

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 patch --auto-agree-with-licenses

Einige der Kommandos erfordern ein oder mehrere Argumente:

zypper install mplayer

Einige der Optionen erfordern ebenfalls ein Argument. Mit nachfolgendem Beispiel werden alle Schemata aufgelistet:

zypper search -t pattern

Sie können alle obigen Optionen kombinieren. Beispielsweise werden mit Folgendem mplayer- und amarok-Pakete nur mithilfe des factory-Repositorys installiert und ausführlich angegeben:

zypper -v install --repo factory mplayer amarok

Installieren und Entfernen von Software mit zypper

Um ein Paket aus registrierten Repositorys zu installieren, verwenden Sie:

zypper install package_name

Verwenden Sie zur Installation eines spezifischen Pakets

zypper install package_name=version

zypper unterstützt auch Platzhalterzeichen. Wenn Sie bespielsweise alle Pakete installieren möchten, die mit Paketname beginnen, geben Sie Folgendes ein:

zypper install package_name*

Sie können auch ein lokales oder entferntes RPM-Verzeichnis direkt installieren – Zypper installiert auch automatisch alle Pakete, von denen Paketname abhängt:

zypper install http://www.example.com/package_name.rpm

Um ein installiertes Paket zu entfernen, verwenden Sie

zypper remove package_name

Verwenden Sie zum Installieren und Entfernen von Paketen in einem Vorgang +/- oder ~/! können Sie Pakete auch in einem Schritt installieren und entfernen:

zypper install emacs -vim

Oder:

zypper remove emacs +vim

Wenn Sie aber - mit dem zuerst angegebenen Paket verwenden möchten, müssen Sie vor dem Paketnamen -- eingeben, um die Interpretierung als Kommandooption zu verhindern:

zypper install -- -vim emacs
[Warning]Keine Pakete entfernen, die für das System obligatorisch sind

Entfernen Sie keine Pakete wie glibc, zypper, kernel oder ähnliche. Diese Pakete sind für das System erforderlich, und wenn sie fehlen, ist das System eventuell nicht mehr funktionsfähig.

Standardmäßig verlangt zypper eine Bestätigung, bevor ein ausgewähltes Paket installiert oder entfernt wird oder wenn ein Problem auftritt. Mit der Option --non-interactive können Sie diese Bestätigungsabfrage deaktivieren. Die Option muss jedoch vor dem tatsächlich auszuführenden Kommando (Installieren, Entfernen oder Patch) angegeben werden, wie in:

zypper --non-interactive install package_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. Geben Sie zypper search -t srcpackage ein, um eine Liste der Quellpakete zu erhalten, die in Ihren Repositorys verfügbar sind. Weitere Informationen über das Hinzufügen von Repositorys finden Sie in Abschnitt 4.1.4, „Verwalten von Repositorys“.

Wenn während der Installation ein Fehler auftritt oder Sie die Information aus einem anderen Grund wünschen, prüfen Sie, ob noch alle Abhängigkeiten erfüllt sind:

zypper verify

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 folgendes Kommando aus:

zypper patch

In diesem Fall werden alle in Ihren Repositorys vorhandenen Patches auf Relevanz überprüft und bei Bedarf installiert. Nach dem Registrieren Ihrer SUSE Linux Enterprise-Installation wird Ihrem System ein offizielles Update-Repository hinzugefügt, das solche Patches enthält. Das obige Kommando ist alles, was Sie brauchen, um sie bei Bedarf anzuwenden.

Wenn ein Repository neue Pakete enthält, aber keine Patches zur Verfügung stellt, zeigt zypper patch keinerlei Wirkung. Verwenden Sie zum Aktualisieren aller installierten Pakete mit neueren verfügbaren Versionen:

zypper update

Verwenden Sie zur Aktualisierung einzelner Pakete das update-Kommando mit den folgenden Argumenten:

zypper update package_name

Oder das Installationskommando:

zypper install package_name

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

zypper list-updates

Verwenden Sie zum Auflisten aller erforderlichen Patches:

zypper list-patches

Verwalten von Repositorys

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

zypper repos

Das Ergebnis ist der folgenden Ausgabe ähnlich:


# | Alias                             | Name                              | Enabled | Refresh
--+-----------------------------------+-----------------------------------+---------+--------
1 | SUSE-Linux-Enterprise-Server 11-0 | SUSE-Linux-Enterprise-Server 11-0 | Yes     | No
2 | SLES-11-Updates                   | SLES 11 Online Updates            | Yes     | Yes
3 | broadcomdrv                       | Broadcom Drivers                  | Yes     | No      

Bei der Angabe von Repositorys kann in verschiedenen Kommandos ein Alias, URI oder eine Repository-Nummber aus der Ausgabe des Kommandos zypper repos verwendet werden. Beachten Sie jedoch, dass sich Nummern nach dem Bearbeiten der Repository-Liste ändern können. Der Alias ändert sich nie von alleine.

Wenn ein Repository von der Liste entfernt werden soll, verwenden Sie das Kommando zypper removerepo zusammen mit dem Alias oder der Nummer des zu löschenden Repositorys. Zum Entfernen der Broadcom Drivers aus dem Beispiel verwenden Sie das folgende Kommando:

zypper removerepo 3

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

zypper addrepo URI Alias

URI kann ein Internet-Repository, 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.

Um das Arbeiten mit Repositorys bequemer zu gestalten, verwenden Sie kurze und einprägsame Aliasbezeichnungen. Ein Repository-Alias kann mit dem Kommando renamerepo geändert werden. Wenn Sie beispielsweise die lange Angabe SUSE-Linux-Enterprise-Server 11-0 im Beispiel zur knappen Bezeichnung main ändern möchten, geben Sie Folgendes ein:

zypper renamerepo 1 main

Abfragen

Verschiedene Abfragekommandos wie search, info oder what-provides stehen zur Verfügung.

search betrifft Paketnamen oder optional Paketzusammenfassungen und -beschreibungen und zeigt Statusinformationen (S) in der ersten Spalte der Liste der gefundenen Pakete.

info mit einem Paketnamen als Argument zeigt ausführliche Informationen über ein Paket an.

Das what-provides-Paket gleicht dem rpm -q --whatprovides-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.

Weitere Abfragekommandos und ausführliche Nutzungsinformationen finden Sie auf der zypper-man-Seite (man zypper).

Weiterführende Informationen

Geben Sie für weitere Informationen zur Verwaltung von Software zypper help oder zypper help in die Kommandozeile ein oder rufen Sie die man-Seite zypper(8) auf.