Zypper

Aus Linupedia.org
Version vom 15. April 2013, 17:27 Uhr von Zerum (Diskussion | Beiträge) (+Ergänzungen. Formatierung geändert.)
Wechseln zu: Navigation, Suche
Icon falscher Titel.png Der korrekte Name dieser Seite lautet „zypper“. Diese Schreibweise ist aufgrund technischer Einschränkungen nicht möglich.

Wie Installiere oder entferne ich Software mit zypper, dem Kommandozeilen-Frontend von YaST (Paketmanager)?

Diese Anleitung setzt die Kenntnis folgender Artikel vorraus:


zypper ist unter openSUSE das Kommandozeilen-Frontend für die Paketverwaltung. Es macht Gebrauch von dem Paketmanagementsystem libzypp, genau wie das graphische Frontend YaST. Somit sind zypper und YaST vollständig zueinander kompatibel. Zur Abhängigkeitsauflösung wird ein Sat-Solver verwendet, siehe dazu http://de.wikipedia.org/wiki/SAT-Solver

Fast alle Befehlsoptionen von zypper haben eine Langform sowie eine Kurzform. In den Beispielcodes werden hier lediglich die Kurzformen verwendet, da sie in der Praxis häufiger angewendet werden. In den Beschreibungen werden sowohl die Kurz- als auch die Langformen genannt.

Installation

  • Die Installation eines Paketes erfolgt mit dem Befehl "in" oder "install":
zypper in <Paketname> 
  • Es können natürlich auch mehrere Pakete zu Installation ausgewählt werden:
zypper in <Paketname 1> <Paketname 2> ... <Paketname N>
  • Zur gleichen Zeit Paket(e) deinstallieren:
zypper in <Paketname> <-Paketname>

(Vor dem zweiten/zu löschenden Paketname/Paket ist ein Minus.)

Deinstallation

  • Die Deinstallation von Paketen erfolgt mit dem Befehl "rm" oder "remove":
zypper rm <Paketname>
  • Es können natürlich auch mehrere Pakete zur Deinstallation ausgewählt werden:
zypper rm <Paketname 1> <Paketname 2> ... <Paketname N>
  • Zur gleichen Zeit Paket(e) installieren:
zypper rm <Paketname> <+Paketname>

Paketsuche

  • Die Paketsuche erfolgt mit dem Befehl "se" oder "search".
  • Alle Installationsquellen nach einem bestimmten Paket zu durchsuchen:
zypper se <Suchbegriff>
  • Paket-Beschreibungen in die Suche einbeziehen:
zypper se -d <Suchbegriff>
  • Mehr Details (-s) in nur nach installierten Paketen (-i) suchen:
zypper se -si <Suchbegriff>
  • Suche nach installierten Paketen nur aus einem bestimmten Repository.
 zypper se -si -r <repo> <Suchbegriff> 

Beispiel: Paketsuche.
kiste:~ # zypper se -si firefox
Daten des Repositories laden ...
Installierte Pakete lesen ...

S | Name                               | Typ   | Version      | Arch   | Repository          
--+------------------------------------+-------+--------------+--------+---------------------
i | MozillaFirefox                     | Paket | 20.0-1.8.3   | x86_64 | openSUSE-12.3-Update
i | MozillaFirefox-branding-openSUSE   | Paket | 6.1-2.2.1    | x86_64 | openSUSE-12.3-Oss   
i | MozillaFirefox-translations-common | Paket | 20.0-1.8.3   | x86_64 | openSUSE-12.3-Update
i | tracker-miner-firefox              | Paket | 0.14.4-2.1.2 | x86_64 | openSUSE-12.3-Oss


Paketinformationen

  • Um sich Informationen zu einem Paket anzeigen zu lassen verwendet man den Befehl "if" oder "info":
zypper if <Paketname>

Update

Updates werden mit dem Befehl "up" oder "update" durchgeführt. Dabei wird in den Repos geschaut ob aktualisierte Pakete vorhanden sind und installiert. Ein Herstellerwechsel ist mit "up" nicht möglich. Ist z.B. ein Paket einmal aus einem Repo installiert, werden neue Versionen nur aus diesem Repo akzeptiert.

  • Um alle verfügbaren Updates zu installieren:
zypper up
  • Um alle verfügbaren Updates aus einem bestimmten Repository zu installieren:
zypper up -r <Alias>

dist-upgrade

Mit dem Befehl "dist-upgrade" oder "dup" wird ein komplettes System-Upgrade durchgeführt (z.B. von openSUSE 12.2 auf 12.3). Der Befehl erlaubt auch einen Herstellerwechsel.

zypper dup

Repositories verwalten

Es stehen unter zypper diverse Befehle zur Verwaltung und Modifizierung von Repos zur Verfügung.

Repo hinzufügen (addrepo)

  • Um eine zusätzliche Quelle einzubinden wird der Befehl "ar" oder "addrepo" benutzt:
zypper ar <URL> <Name der Quelle/Alias>

  • Gleichzeitig Autorefresh aktivieren ("-f" oder "--refresh")
zypper ar -f <URL> <Alias der Quelle>


Installationsquellen für openSUSE sind hier zu finden: Installationsquellen zu openSUSE.


Beispiel: Packman Repository einbinden
zypper ar -f http://packman.inode.at/suse/12.3/ Packman



Die Daten der Installationsquellen werden unter

/etc/zypp/repos.d

gespeichert.
Um eine neue Quelle einzubinden kann also auch einfach die - in vielen Repositories vorhandene *.repo-Datei in dieses Verzeichnis heruntergeladen werden.

Beispiel: Mozilla Repository einbinden
wget:
cd /etc/zypp/repos.d
wget http://download.opensuse.org/repositories/mozilla/openSUSE_12.3/mozilla.repo
aria2:
aria2c http://download.opensuse.org/repositories/mozilla/openSUSE_12.3/mozilla.repo -d /etc/zypp/repos.d



  • Alternativ kann die *.repo-Datei auch mit zypper eingebunden werden:
zypper ar -f <URL-zur-repo-Datei.repo>


Beispiel: Mozilla .repo-Datei einbinden mit zypper
zypper ar -f http://download.opensuse.org/repositories/mozilla/openSUSE_12.3/mozilla.repo


Repo löschen (removerepo)

  • Um eine Installationsquelle zu löschen wird der Befehl "rr" oder "removerepo" verwendet:
zypper removerepo <Nummer, Alias oder URI der Quelle>


Beispiel: Repo entfernen.

Zuerst die eingebundene Repos anzeigen lassen:

kiste:~ # zypper lr -u
#  | Alias                           | Name                         | Enabled | Refresh |URI
----+---------------------------------+---------------------------------------+---------+---------+-------------------
 1 | openSUSE-12.2-1.6               | openSUSE-12.2-1.6            | No      | No      | cd:///?devices=/dev/disk/by-id/
ata-ATAPI_iHDS118_4,/dev/sr0,/dev/sr1
 2 | repo-non-oss                    | openSUSE-12.2-Non-Oss        | Yes     | Yes     | http://download.opensuse.org/
distribution/12.2/repo/non-oss/
 3 | repo-oss                        | openSUSE-12.2-Oss            | Yes     | Yes     | http://download.opensuse.org/
distribution/12.2/repo/oss/
 4 | repo-source                     | openSUSE-12.2-Source         | No      | Yes     | http://download.opensuse.org/
source/distribution/12.2/repo/oss/
 5 | repo-update                     | openSUSE-12.2-Update         | Yes     | Yes     | http://download.opensuse.org/
update/12.2/
 6 | repo-update-non-oss             | openSUSE-12.2-Update-Non-Oss | Yes     | Yes     | http://download.opensuse.org/
update/12.2-non-oss/

Repo openSUSE-12.2-1.6 soll über den Alias entfernt werden:

kiste:~ # zypper rr openSUSE-12.2-1.6

Repo openSUSE-12.2-1.6 soll über die Nummer entfernt werden:

kiste:~ # zypper removerepo 1

Repo openSUSE-12.2-1.6 soll über die URI entfernt werden:

kiste:~ # zypper rr cd:///?devices=/dev/disk/by-id/ata-ATAPI_iHDS118_4,/dev/sr0,/dev/sr1



Repo Status

zypper lr
  • Detaillierte Ausgabe mit Angabe von URLs, Prioritäten, Alias ("-d" oder "--details")
zypper lr -d
  • Verfügbare (Patch-)Updates anzeigen lassen:

zypper lu

Hinweis:

Dabei werden nur Patches - also Updates aus dem offiziellen SUSE-Update-Repository - angezeigt.



Repo Modifizieren

Alias ändern (renamerepo)

  • Um den Namen (Alias) einer Quelle zu ändern wird der Befehl "nr" oder "renamerepo" verwendet:
zypper nr <Alias, Nummer oder URI des Repo> <Neuer Alias>


Repo anpassen (modifyrepo)

Mit dem Befehl mr oder modifyrepo und diversen Optionen lassen sich die Eigenschaften von Repos verändern und beeinflussen.

Deaktivieren
zypper mr -d <Reponummer, Alias oder URI>
  • Das Repo "Packman" aktivieren und alle RPMs daraus nach der Installation im Cache behalten:
zypper mr -ek Packman

Zypper Cheat Sheet



weiterführende Links



Zurück zu Konsole
Zurück zur Paketmanager-Übersicht