SDB:Zypper benutzen
Getestet mit openSUSE | Empfohlene Artikel | Verwandte Artikel | |||
|
Inhaltsverzeichnis
Kurzreferenz
Dies sind die Dinge, die Sie wahrscheinlich am häufigsten nutzen.
zypper
um eine Liste der verfügbaren globalen Optionen und Kommandos anzuzeigen.
zypper help search
um die Hilfe für das Kommando search anzuzeigen.
zypper lp
um zu sehen, welche Patch-Aktualisierung benötigt werden.
zypper patch
um die nötigen Patches anzuwenden.
zypper se sqlite
um nach sqlite zu suchen.
zypper rm sqlite2
um sqlite2 zu entfernen.
zypper in sqlite3
um sqlite3 zu installieren.
zypper in yast*
um alle Pakete zu installieren, die auf 'yast*' zutreffen.
zypper up
um alle installierten Pakete wo möglich mit neueren Versionen zu aktualisieren.
zypper dup
um ein Distributionsupgrade durchzuführen (Dies ist die empfohlene Update Methode für openSUSE Tumbleweed)
Wenn Du mit anderen Paket-Managern wie as apt, yum, emerge etc. von anderen Linux-Distributionen vertraut bist, schau Dir diesen Link an, um zu vergleichen/ die Unterschiede zwischen ihnen und zypper zu sehen.
Spickzettel
Hier auf dieser Seite findest Du die Informationen aufgelistet, aber zusammengefasst ins Format eines Spickzettels. Es beinhaltet auch einige Referenzen, die aus den Manpages stammen. Es wird empfohlen diese nach der Analyse der Informationen von hier zu verwenden.
Erste Seite A4 |
Zweite Seite A4 |
Erste Seite Brief |
Zweite Seite Brief |
Allgemeine Nutzung
Die allgemeine Syntax von zypper ist:
Die von eckigen Klammern umschlossenen Komponenten sind nicht notwendig, weshalb der einfachste Weg, Zypper auszuführen, das Eingeben seines Namens gefolgt von einem Kommando ist. Zum Beispiel, um nötige Patches im System einzuspielen:
Um Hilfe zum Patch-Kommando zu bekommen:
Zusätzlich können Sie eine oder mehrere globale Optionen angeben, indem Sie sie vor dem Kommando einfügen: (führe das Kommando aus, aber frage mich nach nichts, entscheide selbst)
Um Optionen des verwendeten Kommando zu nutzen, geben Sie sie direkt nach dem Kommando ein: (spiele benötigte Patches in das System ein, aber frage mich nicht danach, irgendeine Lizenz zu bestätigen, ich habe sie schon alle gelesen)
Einige der Kommandos benötigen ein oder mehrere Argumente: (installiere oder aktualisiere das Paket mplayer)
Einige der Optionen benötigen ebenfalls ein Argument: (suche nach Schemata)
Alle obigen Dinge kombiniert: (installiere mplayer und amarok, nutze nur das factory-Paketdepot, sei gesprächig)
Eingabeaufforderungen an den Nutzer
Wann immer Zypper eine Eingabe von ihnen erwartet, listet es mögliche Antworten neben dem Aufforderungstext auf. Um die Standardantwort auszuwählen, drücken Sie einfach die <Eingabetaste> (die Standardantwort wird in Großbuchstaben angegeben (mit Ausnahme von nicht-ASCII-Zeichen)). Einige Eingabeaufforderungen bieten Außerdem eine Hilfe an, in diesem Fall wird ein Fragezeichen '?' als mögliche Antwort aufgeführt. Um Zypper die Standardantworten ohne Nutzerinteraktion übernehmen zu lassen, verwenden Sie die globale Option: --non-interactive.
Vokabular
- repository/Paketdepot - lokales oder entferntes Verzeichnis, das Pakete und verschiedene Paketinformationen (Paketmetadaten) enthält. Paketdepots waren bisher unter den Namen installation sources/Installationsquellen , services/Dienste oder catalogs/Kataloge bekannt.
- Alias - Paketdepot-Alias ist eine Kurzversion des Depotnamens zur Nutzung in Kommandos oder Optionen für die Handhabung von Paketdepots, wie removerepo oder --repo.
- package/Paket - Software-Paket (RPM-Paket, Quellpaket). Patches, patterns/Schemata und products/Produkte werden im Allgemeinen auch als unterschiedliche Typen von Paketen angesehen.
- Patch - repräsentiert ein Paket oder eine Gruppe von Paketen, die benötigt werden, um eine Aktualisierung zu installieren (meistens eine Fehlerbehebung).
- pattern/Schema - repräsentiert eine Gruppe von Paketen. Ein Schema HTTP Server würde beispielsweise die Abhängigkeiten definieren, die die Installation aller Pakete auslösen, die zum Betrieb und zur Konfiguration eines HTTP-Servers nötig sind, wenn das Schema installiert wird.
- product/Produkt - repräsentiert das gesamte Produkt (bspw. 'openSUSE 11.1').
Kommandos
zypper bietet eine Anzahl von Kommandos, die in die folgenden Kategorien eingeordnet werden können:
- Paketdepotverwaltung
refresh, repos, addrepo, removerepo, modifyrepo, namerepo
refresh-services, services, addservice, removeservice, modifyservice - Paketverwaltung
install, remove, source-install - Aktualisierung
search, info, what-provides, list-updates, patch-check, patches, packages, patterns, products - Sperren
locks, addlock, removelock, cleanlocks - Werkzeuge
verify, install-new-recommends - Anderes
help, licenses, versioncmp, targetos
Hilfe anzeigen
Zuerst einmal ist es gut zu wissen, wo man Hilfe findet. Um eine allgemeine Hilfe anzuzeigen (Liste von Kommandos und globale Optionen), tippen Sie einfach zypper ohne Optionen oder Argumente ein. Um die Hilfe für ein bestimmtes Kommando anzuzeigen, nutzen Sie:
zypper -h [Kommando] und zypper [Kommando] --help und zypper [Kommando] -h sind aus Bequemlichkeitsgründen auch möglich.
Paketdepotverwaltung
Sie können existierende Paketdepots über ihre Nummer aus der Liste von zypper lr, ihren Alias oder ihre URI angeben. Wenn Sie die Nummern nutzen, prüfen Sie vorher immer erst zypper lr, da sich die Nummern nach Änderungen an den Paketdepots ändern können.
Definierte Paketdepots anzeigen
repos oder lr
Beispielausgabe:
# | Alias | Name | Aktiviert | Aktualisieren --+-----------------------+-----------------------+-----------+-------------- 1 | packman | Packman 11.4 | Ja | Nein 2 | fate | fate | Nein | Nein 3 | openSUSE-11.4-Updates | Updates für 11.4 | Ja | Ja 4 | repo-oss | openSUSE-11.4-Oss | Ja | Nein 5 | repo-non-oss | openSUSE-11.4-Non-Oss | Ja | Nein 6 | repo-debug | openSUSE-11.4-Debug | Nein | Nein
Andere Beispiele:
zypper lr -u # um auch die Depot-URI in die Tabelle einzubinden.
zypper lr -d # um verschiedene andere Depoteigenschaften in die Tabelle einzubinden.
zypper lr -P # um außerdem die Depotpriorität einzubinden und die Liste danach zu sortieren.
zypper lr -e meine # exportiert alle Depotdefinitionen in die Datei namens 'meine.repo'
Paketdepots hinzufügen
addrepo oder ar
Bevor überhaupt irgendein Paket installiert werden kann, muss mindestens ein Paketdepot definiert sein. Um ein Paketdepot hinzuzufügen, nutzen Sie das Kommando addrepo:
Beispielausgabe:
Repository 'vlc' wird hinzugefügt [fertig] Repository 'vlc' erfolgreich hinzugefügt Aktiviert: Ja Autoaktualisierung: Nein URI: http://download.videolan.org/pub/vlc/SuSE/11.4
Andere Beispiele:
zypper ar http://download.opensuse.org/repositories/X11:/XGL/openSUSE_11.4/X11:XGL.repo # über eine .repo-Datei
zypper ar -c ftp://irgendein.download.seite meinalias # teste das Paketdepot vor dem Hinzufügen
zypper ar mein/verzeichnis/mit/rpms lokal # fügen Sie ihr lokales Verzeichnis mit rpm-Dateien als Depot hinzu
Paketdepots aktualisieren
refresh oder ref
Nach dem Hinzufügen eines Paketdepots oder wenn Paketdepots veraltet sind, müssen sie aktualisiert/refreshed werden. Dies heißt, dass Paketmetadaten daraus heruntergeladen werden und das die Daten zum schnellen Lesen in den .solv-Zwischenspeicher verarbeitet werden.
Metadaten von Repository 'packman' werden abgerufen [fertig] Zwischenspeicher für Repository 'packman' wird erzeugt [fertig] Metadaten von Repository 'vlc' werden abgerufen [fertig] Zwischenspeicher für Repository 'vlc' wird erzeugt [fertig] Metadaten von Repository 'fate' werden abgerufen [fertig] Zwischenspeicher für Repository 'fate' wird erzeugt [fertig] Repository 'openSUSE-11.4-Oss' ist aktuell. Repository 'Updates für 11.4' ist aktuell. Alle Repositories wurden aktualisiert.
Wenn autorefresh/Autoaktualisierung für ein Paketdepot aktiviert ist, müssen Sie sich über das Auffrischen keine Gedanken machen, es passiert automatisch wenn nötig. Nichtsdestotrotz bevorzugen es einige Leute, die Kontrolle über den Zeitpunkt der Auffrischung zu haben (bspw. um das Warten auf die Auffrischung zu vermeiden, wenn sie einfach nur 'zypper info krusader' sehen wollen), weshalb Sie die automatische Auffrischung deaktivieren.
Siehe man zypper für weitere Details.
Andere Beispiele:
Paketdepots entfernen
removerepo oder rr
Repository '23' wurde nicht durch Alias, Nummer oder URI gefunden. Repository 'foo' wurde nicht durch Alias, Nummer oder URI gefunden. Repository 'repo-debug' wird entfernt [fertig] Repository 'repo-debug' wurde entfernt. Repository 'vlc' wird entfernt [fertig] Repository 'vlc' wurde entfernt.
Paketdepots modifizieren
modifyrepo oder mr
Deaktiviere Paketdepot #6:
Repository 'repo-debug' wurde erfolgreich deaktiviert.
Aktiviere automatische Auffrischung und Zwischenspeichern von RPM-Dateien für das Paketdepot 'packman' und setze seine Priorität auf 70:
Autoaktualisierung wurde für Repository 'packman' aktiviert. Zwischenspeichern von RPM-Dateien wurde für Repository 'packman' aktiviert. Die Priorität von Repository 'packman' wurde auf 70 gesetzt.
Deaktiviere das Zwischenspeichern von RPM-Dateien für alle Paketdepots:
Nichts zum Ändern für Repository 'local'. Zwischenspeichern von RPM-Dateien wurde für Repository 'packman' deaktiviert. Nichts zum Ändern für Repository 'fate'. Nichts zum Ändern für Repository 'upd'. Nichts zum Ändern für Repository 'repo-oss'. Nichts zum Ändern für Repository 'repo-non-oss'.
Aktiviere das Zwischenspeichern von RPM-Dateien für alle Paketdepots
Zwischenspeichern von RPM-Dateien wurde für Repository 'repo-non-oss' aktiviert. Zwischenspeichern von RPM-Dateien wurde für Repository 'Main Repository (OSS)' aktiviert. Zwischenspeichern von RPM-Dateien wurde für Repository 'Main Repository (NON-OSS)' aktiviert. Zwischenspeichern von RPM-Dateien wurde für Repository 'openSUSE-11.4-Updates' aktiviert.
Paketdepots umbenennen
renamerepo oder nr
Repository 'openSUSE-11.4-Updates' wurde zu 'upd' umbenannt.
Dieses Kommando ist zur Zeit nur in der Lange, den Alias des Depots umzubenennen. Wenn Sie den angezeigten Namen ändern möchten, werfen Sie einen Blick auf das Kommando mr.
Halten Sie die Aliase kurz und einfach, um sie leicht als Argumente für Kommandos und --repo Optionen nutzen zu können. Die Nutzung eines Alias ist sicherer als eine Depotnummer (da sich diese ändern kann und Sie leicht einen Fehler machen können) und einfacher zu nutzen als eine URI (da diese lang sind und Sie sich auf Kopieren und Einfügen verlassen müssen).
Paketdepots exportieren/importieren
repos --export oder lr -e
Sie können ihre komplette Depotliste in eine Datei exportieren und sie später daraus wieder importieren oder auf einer anderen Maschine nutzen.
Diensteverwaltung
Dienste sind 1 Level über den Paketdepots und dienen dazu die Paketdepots zu verwalten. Libzypp unterstützt momentan nur einen Typ von Diensten, den Repository Index Service (auch bekannt als RIS).
Einen Dienst hinzufügen
addservice oder as
Um einen Dienst hinzuzufügen, geben Sie addservice ein.
Beispiel:
<div class="shell"# zypper as -t RIS http://mewtwo.domain/ Mewtwo</div> Dienst 'Mewtwo' wurde erfolgreich hinzugefügt. </pre>
Einen Dienst aktualisieren
refresh-services oder refs
Als nächstes muss man, um einen Dienst hinzuzufügen, diesen aktualisieren um die Paketdepots, die er anbietet, einzurichten:
<div class="shell"# zypper refs</div>
Aktualisierung des Dienstes 'Mewtwo'. Aktualisierung von Repository 'KDE:Extra' .......................................................[aktualisiert] Aktualisierung von Repository 'repo-ati' ........................................................[aktualisiert] Aktualisierung von Repository 'openSUSE-12.2-Debug' .............................................[aktualisiert] Aktualisierung von Repository 'openSUSE-12.2-Update-Debug' ......................................[aktualisiert] Aktualisierung von Repository 'openSUSE-12.2-Update-Debug-Non-Oss' ..............................[aktualisiert] Aktualisierung von Repository 'repo-libdvdcss' ..................................................[aktualisiert] Aktualisierung von Repository 'openSUSE-12.2-Oss' ...............................................[aktualisiert] Aktualisierung von Repository 'packman' .........................................................[aktualisiert] Aktualisierung von Repository 'openSUSE-12.2-Source' ............................................[aktualisiert] Aktualisierung von Repository 'openSUSE-12.2-Update' ............................................[aktualisiert] Aktualisierung von Repository 'openSUSE-12.2-Update-Non-Oss' ....................................[aktualisiert] Aktualisierung von Repository 'security' ........................................................[aktualisiert] Alle Dienste wurden aktualisiert.
Wenn der Dienst das erste Mal aktualisiert wird, müssen die Paketdepots durch den Befehl zypper mr -e -a aktiviert werden.
Einen Dienst löschen
removeservice oder rs
Ein Dienst kann mit dem Befehl rs gelöscht werden.
Beispiel: <div class="shell"# zypper rs Mewtwo</div>
Dienst 'Mewtwo' wird entfernt: Dienst 'Mewtwo' wurde entfernt.
Paketverwaltung
Pakete auswählen
Es gibt verschiedene Wege über die Sie Pakete zum Installieren oder Entfernen auswählen können.
- über Fähigkeitennamen
- über Fähigkeitennamen und/oder Architektur und/oder Version
- über den exakten Paketnamen (--name)
- über den exakten Paketnamen und das Paketdepot (impliziert --name)
- über Paketnamen mit Platzhaltern
- über die Festlegung einer Paket-Datei .rpm package, die zu installieren ist. Der Pfad kann relativ oder festgelegt sein
Pakete installieren
install oder in
Sie können Pakete über den Namen installieren...
Daten des Repositorys laden... Installierte Pakete lesen... Paketabhängigkeiten auflösen... Die folgenden NEUEN Pakete werden installiert: subversion-perl sqlite3 perl-DBD-SQLite git-svn git-cvs git Gesamtgröße des Downloads: 1,1 M. Nach der Operation werden zusätzlich 4,6 M belegt. Fortfahren? [JA/nein]: Paket subversion-perl-1.5.0-96.1.x86_64 wird abgerufen (1/6), 950,0 K (4,1 M installiert) Abrufen: subversion-perl-1.5.0-96.1.x86_64.rpm [fertig] Installiere: subversion-perl-1.5.0-96.1 [fertig] Paket sqlite3-3.5.7-17.1.x86_64 wird abgerufen (2/6), 30.,0 K (40,0 K installiert) Abrufen: sqlite3-3.5.7-17.1.x86_64.rpm [fertig] Installiere: sqlite3-3.5.7-17.1 [fertig] Paket perl-DBD-SQLite-1.14-41.1.x86_64 wird abgerufen (3/6), 44,0 K (103,0 K installiert) Abrufen: perl-DBD-SQLite-1.14-41.1.x86_64.rpm [fertig] Installiere: perl-DBD-SQLite-1.14-41.1 [fertig] Paket git-svn-1.5.4.5-26.1.x86_64 wird abgerufen (4/6), 66,0 K (195,0 K installiert) Abrufen: git-svn-1.5.4.5-26.1.x86_64.rpm [fertig] Installiere: git-svn-1.5.4.5-26.1 [fertig] Paket git-cvs-1.5.4.5-26.1.x86_64 wird abgerufen (5/6), 63,0 K (205,0 K installiert) Abrufen: git-cvs-1.5.4.5-26.1.x86_64.rpm [fertig] Installiere: git-cvs-1.5.4.5-26.1 [fertig] Paket git-1.5.4.5-26.1.x86_64 wird abgerufen (6/6), 10,0 K (3,0 K installiert) Abrufen: git-1.5.4.5-26.1.x86_64.rpm [fertig] Installiere: git-1.5.4.5-26.1 [fertig]
...oder über die Fähigkeit, die sie anbieten:
Installierte Pakete lesen... 'MozillaFirefox', welches 'MozillaFirefox<3' anbietet, ist bereits installiert. Keine auszuführenden Aktionen.
Installierte Pakete lesen... Die folgenden Pakete werden aktualisiert: mozilla-xulrunner190-translations MozillaFirefox mozilla-xulrunner190-gnomevfs mozilla-xulrunner190 MozillaFirefox-translations Die folgenden Pakete werden GELÖSCHT: mozilla-xulrunner190-lang Gesamtgröße des Downloads: 11,0 M. Nach der Operation werden zusätzlich 12,9 M belegt. Fortfahren? [J/n/p/?]:
zypper in 'libqtiff.so()(64bit)
Installierte Pakete lesen... 'libqt4-x11', welches 'libqtiff.so()(64bit)' anbietet, ist bereits installiert. Keine auszuführenden Aktionen.
Andere Beispiele:
zypper in yast*
installiere alle yast-Module
zypper in -t pattern lamp_server
installiere Schema lamp_server (Pakete, die für einen LAMP-Server benötigt werden)
zypper in emacs pattern:lamp_server
installiere das Paket emacs und das Schema lamp_server
zypper in vim -emacs
installiere vim und entferne emacs in einem Zug
zypper in amarok packman:libxine1
installiere libxine1 aus packman und amarok aus irgendeinem Depot
zypper in bitchx-1.1-81.x86_64.rpm
installiere das bitchx RPM aus dem lokalen Verzeichnis
zypper in -f subversion
erneute Installation von subversion erzwingen
Pakete entfernen
remove oder rm
Das Kommando remove ist dem Kommando zum Installieren sehr ähnlich, abgesehen davon, dass der Effekt gegenteilig ist. :O)
Installierte Pakete lesen... Die folgenden Pakete werden GELÖSCHT: sqlite3 perl-DBD-SQLite git-cvs git Nach dem Vorgang werden 351,0 K freigegeben. Fortfahren? [JA/nein]: n
Quellpakete und Bauabhängigkeiten
source-install oder si
Installierte Pakete lesen... Die folgenden NEUEN Pakete werden installiert: libzypp-devel libsatsolver-devel Das folgende Quellpaket wird installiert: zypper Gesamtgröße des Downloads: 1,5 M. Nach der Operation werden zusätzlich 6,7 M belegt. Fortfahren? [JA/nein]:
Sie können auch nur die Bauabhängigkeiten oder nur das Quellpaket installieren:
zypper si -D zypper # nur die Quellpakete (keine Bauabhängigkeiten)
zypper si -d zypper # nur die Bauabhängigkeiten (keine Quellpakete)
Pakete aktualisieren
update oder up
Die folgenden Kommandos aktualisieren Pakete durch neuere verfügbare Versionen. Siehe auch Verwaltung von Aktualisierungen für weitere Informationen.
zypper up # aktualisiere alle installierten Pakete soweit möglich durch neuere Versionen
zypper up libzypp zypper # aktualisiere libzypp und zypper
zypper in sqlite3 # aktualisiere sqlite3 oder installiere es, wenn es das noch nicht ist
Abfragen
Pakete suchen
search oder se
Standardmäßig sucht das Kommando search nach Paketen jeden Typs, Status und aus allen Paketdepots deren Namen mit der angegebenen Zeichenkette übereinstimmt (vergleicht ungenau):
Installierte Pakete lesen... S | Name | Zusammenfassung | Typ --+--------------------------+-------------------------------------------------------------------------+----------- | dovecot11-backend-sqlite | SQLite support for Dovecot | Paket | kmymoney-sqlite3-plugin | Sqlite3 plugin for kmymoney | Paket | libapr-util1-dbd-sqlite3 | DBD driver for SQLite 3 | Paket | libgda-3_0-sqlite | Sqlite Provider for GNU Data Access (GDA) | Paket | libgda-4_0-sqlite | Sqlite Provider for GNU Data Access (GDA) | Paket i | libqt4-sql-sqlite | Qt 4 sqlite plugin | Paket i | libsqlite3-0 | Shared libraries for the Embeddable SQL Database Engine | Paket | libsqlite3-0-32bit | Shared libraries for the Embeddable SQL Database Engine | Paket | mediatomb-sqlite | UPnP AV MediaServer | Paket | mono-data-sqlite | Database connectivity for Mono | Paket | pdns-backend-sqlite2 | SQLite 2 backend for pdns | Paket | pdns-backend-sqlite3 | SQLite 3 backend for pdns | Paket i | perl-DBD-SQLite | The DBD::SQLite is a self contained RDBMS in a DBI driver | Paket | php5-sqlite | PHP5 Extension Module | Paket | python-sqlite2 | Python bindings for sqlite | Paket | python-sqlite2 | Python bindings for sqlite | Quellpaket | python-storm-sqlite | SQLite backend for python-storm | Paket | qt3-sqlite | SQLite Database Plug-In for Qt | Paket | rekall-sqlite | Rekall sqlite Database Backend | Paket | rubygem-sqlite3 | A Ruby interface for the SQLite3 database engine | Paket | sockso-sqlite | Sqlite Backend for sockso | Paket i | sqlite2 | Embeddable SQL Database Engine | Paket | sqlite2-32bit | Embeddable SQL Database Engine | Paket | sqlite2-devel | Embeddable SQL Database Engine | Paket i | sqlite3 | Embeddable SQL Database Engine | Paket | sqlite3-devel | Embeddable SQL Database Engine | Paket | sqlite3-tcl | Tcl binding for SQLite | Paket | sqliteman | An admin frontend for sqlite databases | Quellpaket | sqliteman | An admin frontend for sqlite databases | Paket | tntdb1-sqlite | Tntdb is a c++-class-library for easy database-access - sqlite | Paket | ulogd-sqlite | SQLite output plugin for ulogd | Paket
Der Buchstabe i in der ersten Spalte zeigt an, dass das Paket bereits auf der lokalen Maschine installiert ist. Um alle verfügbaren Versionen passender Pakete anzuzeigen, nutzen Sie die Option "--details/-s":
Installierte Pakete lesen... S | Name | Typ | Version | Arch | Repository --+----------------+------------+-------------+--------+----------------------- v | virtualbox-ose | Paket | 2.1.4-8.3 | x86_64 | VirtualBox-Paketdepot i | virtualbox-ose | Paket | 2.0.6-2.8.6 | x86_64 | openSUSE-11.3-Updates v | virtualbox-ose | Paket | 2.0.6-2.6 | x86_64 | Haupt-Repository (OSS) v | virtualbox-ose | Paket | 2.1.4-8.3 | i586 | VirtualBox-Paketdepot v | virtualbox-ose | Paket | 2.0.6-2.8.6 | i586 | openSUSE-11.3-Updates v | virtualbox-ose | Paket | 2.0.6-2.6 | i586 | Haupt-Repository (OSS) | virtualbox-ose | Quellpaket | 2.1.4-8.3 | noarch | VirtualBox-Paketdepot | virtualbox-ose | Quellpaket | 2.0.6-2.8.6 | noarch | openSUSE-11.3-Updates
Der Buchstabe i in der ersten Spalte zeigt an, dass das ausgewählte Paket bereits auf der lokalen Maschine installiert ist; während der Buchstabe v in der ersten Spalte anzeigt, dass es noch andere Versionen für das auf der Maschine installierte Produkt gibt.
Andere Beispiele:
zypper se -dC --match-words RSI # suche nach der Abkürzung RSI (genaue Treffer), auch in Zusammenfassungen und Beschreibungen
zypper se 'yast*' # zeige alle Pakete, die mit 'yast' beginnen (beachten Sie die Shell-Ausweitung, stellen Sie die Zeichenkette im Zweifelsfall in Anführungszeichen!)
zypper se -r packman # listet alle Pakete aus dem Depot 'packman' auf
zypper se -i sqlite # zeige alle installierten pakete, die sqlite in ihrem Namen enthalten
zypper se -t pattern -r repo-oss # liste alle Schemata aus dem Depot 'repo-oss' auf
zypper se -t product # liste alle verfügbaren Produkte auf
Informationen über Pakete erhalten
info oder if
Installierte Pakete lesen... Informationen für Paket amarok: Repository: @System Name: amarok Version: 2.3.0-71.1 Arch: i586 Hersteller: obs://build.opensuse.org/KDE Installiert: Ja Status: aktuell Installierte Größe: 26,1 MiB Zusammenfassung: Medienabspieler für KDE Beschreibung: Amarok is a media player for all kinds of media. This includes MP3, Ogg Vorbis, audio CDs, podcasts and streams. Play lists can be stored in .m3u or .pls files.
Dieses Kommando zeigt detaillierte Informationen über das Paket namens 'amarok' an.
Andere Beispiele:
zypper info -t patch MozillaFirefox # zeige Informationen über den Patch 'MozillaFirefox'
zypper patch-info MozillaFirefox # das gleiche wie oben
zypper info -t pattern lamp_server # zeige Informationen über das Schema 'lamp_server'
zypper info -t product openSUSE-FTP # zeige Informationen über das angegebene Produkt an
Abhängigkeiten
what-provides oder wp
Der Unterbefehl wird abgelehnt. Er wurde durch search --provides --match-exact ersetzt.
Alle Anbieter einer bestimmten Fähigkeit anzeigen:
Installierte Pakete lesen... S | Name | Typ | Version | Arch | Repository --+----------------+-------+-------------+--------+----------------------- i | MozillaFirefox | Paket | 3.0.6-0.1.2 | x86_64 | openSUSE-11.2-Updates v | MozillaFirefox | Paket | 3.0.5-1.1 | x86_64 | openSUSE-11.2-Updates v | MozillaFirefox | Paket | 3.0.4-4.7 | x86_64 | Haupt-Repository (OSS) v | MozillaFirefox | Paket | 3.0.6-0.1.2 | i586 | openSUSE-11.2-Updates v | MozillaFirefox | Paket | 3.0.5-1.1 | i586 | openSUSE-11.2-Updates v | MozillaFirefox | Paket | 3.0.4-4.6 | i586 | Haupt-Repository (OSS)
Dieses Kommando ist rpm -q --whatprovides firefox ähnlich, allerdings kann rpm nur die RPM-Datenbank abfragen (Datenbank installierter Pakete). Zypper zeigt ihnen andererseits die Anbieter jeder Fähigkeit aus jedem Paketdepot, nicht nur die installierten.
Andere Abfragen
Die Kommandos patches, packages, patterns und products sind ähnlich zu search -s -t [patch,package,pattern,product], außer das sie einige zusätzliche Informationen zum zugehörigen Pakettyp anzeigen. patches zeigt zum Beispiel auch den Status (Benötigt/Sicherheit/Nicht anwendbar) von Patches an.
Die Kommandos list-updates und patch-check werden unter Verwaltung von Aktualisierungen.
Paketsperren
locks oder ll addlock oder al removelock oder rl cleanlocks oder cl
Paketsperren dienen dem Zweck, Pakete im System vor Änderungen zu schützen. Pakete, auf die eine aktive Sperre zutrifft, können ihren Installationsstatus nicht ändern; installierte Pakete können nicht entfernt oder aktualisiert, noch nicht installierte Pakete können nicht installiert werden.
Um alle Pakete zu sperren, die mit 'yast2' beginnen:
Festgelegte Sperre wurde erfolgreich hinzugefügt.
Seien Sie auch hier wieder vor Shell-Ausweitungen auf der Hut, nutzen Sie Anführungszeichen wenn die Möglichkeit besteht, dass yast* auf einige Dateien im aktuellen Verzeichnis zutrifft.
Um die aktuell aktiven Sperren aufzulisten:
# | Name | Typ | Repository --+------------------+---------+----------- 1 | libpoppler3 | package | (jedes) 2 | libpoppler-glib3 | package | (jedes) 3 | yast* | package | (jedes)
Um eine Sperre zu entfernen:
Installierte Pakete lesen... Die folgende Anfrage sperrt einige der Objekte, die Sie entsperren wollen: type: package match_type: glob case_sensitive: on solvable_name: yast2* Do you want remove this lock? [JA/nein]: j 1 Sperre wurde erfolgreich entfernt.
Andere Beispiele:
zypper al zypper # sperrt das Paket 'zypper' (exakte Übereinstimmung)
zypper al -r repo-oss virtualbox* # beschränkt die Sperrung auf das Depot 'repo-oss' (erlaubt Installation aus anderen)
zypper rl 3 # Sperrung über Angabe von Nummer entfernen
Sie können die Sperren auch direkt verändern, indem Sie die Sperrdatei bearbeiten.
Werkzeuge
Abhängigkeiten überprüfen
verify oder ve
Sie könnten gelegentlich mit einem kaputten System enden, wenn es zu Paketabhängigkeiten kommt. Wenn eine ihrer Anwendungen nicht mehr startet und dabei eine Meldung ausgibt, dass etwas fehlt, ist die ein Fall für zypper zur Prüfung:
Could not find compatible GRE between version 1.9.0 and 1.9.0.
Installierte Pakete lesen... Einige der Abhängigkeiten der installierten Pakete sind beschädigt. Um diese Abhängigkeiten zu reparieren, müssen die folgenden Aktionen ausgeführt werden: Das folgende NEUE Paket wird installiert: mozilla-xulrunner190 Gesamtgröße des Downloads: 6,5 M. Nach der Operation werden zusätzlich 23,5 M belegt. Fortfahren? [JA/nein]: j
Installiere neue empfohlene Pakete
install-new-recommends oder inr
Dieses Kommando findet und installiert neu hinzugefügte empfohlene Pakete für bereits installierte Pakete. Dies bietet einen einfachen Weg, um neue Sprachbündel für ihre Software oder Treiber für neu installierte Hardware hinzuzufügen.
Installierte Pakete lesen... Die folgenden NEUEN Pakete werden installiert: kdebase4-openSUSE-lang bundle-lang-common-de Gesamtgröße des Downloads: 534,0 K. Nach der Operation werden zusätzlich 1,9 M belegt. Fortfahren? [JA/nein]:
Verwaltung von Aktualisierungen
Es gibt zwei Ansätze, ihr System auf dem aktuellen Stand zu halten. Der erste ist patch-weise, der zweite ist paketweise.
Der patch-weise Ansatz ist besonders nützlich für Leute, die stabile Veröffentlichungen nutzen und ihr System mit Patches aktualisieren wollen, die über das Online-Update-Paketdepot veröffentlicht werden. Aktualisierungsdepots werden standardmäßig während der Installation oder der Aktualisierung des gesamten Systems hinzugefügt, oder sie können über Einrichtung der Online-Aktualisierung hinzugefügt werden, das Sie im Abschnitt Software im YaST-Kontrollzentrum finden, oder Sie fügen es manuell mit zypper hinzu. Hier finden Sie die Liste der verfügbaren openSUSE-Update-Paketdepots.
Das YaST-Äquivalent dieser Funktion ist das Modul Einrichten der Online-Aktualisierung.
Die zweite, die paketweise, Aktualisierung wird im Abschnitt Paketaktualisierungen beschrieben und dient dem allgemeinen Aktualisieren von Paketen aus jedem Depot durch die jeweilige neuere Version.
Benötigte Patches auflisten
list-patches oder lp
Alle benötigten Aktualisierungen (Patches) zeigt folgender Befehl:
Installierte Pakete lesen... Patches Repository | Name | Version | Kategorie | Status -----------------+--------------------+---------+-------------+--------- Updates für 11.2 | KDE4-fixes | 38 | recommended | Benötigt Updates für 11.2 | MozillaFirefox | 50 | recommended | Benötigt Updates für 11.2 | NetworkManager-kde | 49 | recommended | Benötigt
Manchmal werden nur Aktualisierungen angezeigt, die das Paketverwaltungssystem betreffen, da diese zuerst angewendet werden sollten. Sobald sie angewendet sind, wird der Rest der verfügbaren Aktualisierung von diesem Kommando angezeigt.
Patches anwenden
patch
Um benötigte Patches anzuwenden:
Installierte Pakete lesen... Die folgenden Pakete werden aktualisiert: NetworkManager-kde mozilla-nss mozilla-nspr korganizer Die folgenden NEUEN Pakete werden installiert: NetworkManager-kde MozillaFirefox KDE4-fixes Gesamtgröße des Downloads: 2,9 M. Nach der Operation werden zusätzlich 283,0 K belegt. Fortfahren? [JA/nein]:
Alle Patches auflisten
patches
Das Kommando list-updates listet nur die benötigten Patches auf. Um alle verfügbaren Patches aufzulisten, nutzen Sie:
Installierte Pakete lesen... Katalog | Name | Version | Kategorie | Status -----------------+--------------------+---------+-------------+--------------- Updates für 11.2 | KDE4-fixes | 38 | recommended | Installiert Updates für 11.2 | MozillaFirefox | 50 | recommended | Installiert Updates für 11.2 | NetworkManager-kde | 49 | recommended | Installiert Updates für 11.2 | autoyast2 | 37 | recommended | Installiert Updates für 11.2 | courier-authlib | 42 | security | Nicht anwendbar Updates für 11.2 | insserv | 47 | recommended | Installiert Updates für 11.2 | opera | 43 | security | Installiert
Auf Patches prüfen
patch-check oder pchk
Dieses Kommando zeigt ihnen, ob irgendwelche wichtigen Patches für ihre System verfügbar sind und zeigt die Anzahl solcher Patches an:
Installierte Pakete lesen... 0 Patches benötigt (0 Sicherheits-Patches)
Informationen über Patches abfragen
patch-info
info -t patch
Installierte Pakete lesen... Informationen für Patch MozillaFirefox: Name: MozillaFirefox Version: 509 Arch: noarch Hersteller: maint-coord@suse.de Status: Installiert Kategorie: security Erstellt am: Fr 06 Feb 2009 02:13:22 CET Neustart erforderlich: Nein Neustart des Paketverwalters erforderlich: Nein Interaktiv: Nein Zusammenfassung: MozillaFirefox: Security update to version 3.0.6 Beschreibung: The Mozilla Firefox browser is updated to version 3.0.6 fixing various security and stability issues.
In openSUSE 12.1 scheint zypper nur Patch-IDs (z.B. openSUSE-2011-17) zu verstehen, da z.B. folgendes Kommando nichts liefert:
zypper patch-info util-linux
Paketaktualisierungen
list-updates oder lu
update oder up
Um einfach installierte Pakete durch neuere verfügbare Versionen zu ersetzten, nutzen Sie:
Das folgende Kommando ist äquivalent zu dem aus früheren zypper-Versionen bekannten zypper up -t patch. Es zeigt alle verfügbaren Paketaktualisierungen an.
Die obigen Kommandos werden nur solche Pakete auflisten oder aktualisieren, die keine Abhängigkeitsprobleme haben. Um eine Rohliste von Pakten mit neueren Versionen zu erhalten, nutzen Sie:
Dies wird alle Aktualisierungskandidaten auflisten, egal ob sie installierbar sind oder nicht, oder unabhängig davon, ob der Nutzer selber Probleme lösen muss.
Distributionsaktualisierung
dist-upgrade or dup
Dieses Kommando nutzt den Algorithmus zur Distributionsaktualisierung, der Paketaufteilungen, unbetreute Pakete und ähnliches handhaben kann. Nutzen Sie es, um zu einer anderen Distributionsausgabe zu wechseln.
Während eines dist-upgrade wird es empfohlen, nur das Hauptpaketdepot der Distribution zu aktivieren, die Sie installieren wollen, plus ein paar wichtige Paketdepots die Sie nutzen (noch besser - ihre Version die zum aktuellen Hauptdepot passt). Sie können dies erreichen, indem Sie die alten Paketdepots über zypper mr -da deaktivieren, die neuen Depots über zypper ar hinzufügen und zypper dup auslösen. Sie können die Depots auch über die Option --repo hinzufügen: zypper dup -r repo1 -r repo2 ....
FRAGE: Stimmt es, dass "zypper up" nur dann Pakete aktualisiert, wenn sich eine neuere Version im selben Paketdepot wie das veraltete Paket befindet, und dass "zypper dup" alles aktualisiert, egal in welchem Depot sich das neue Paket befindet?
ANTWORT: "zypper up" aktualisiert das Paket, wenn eine neuere Version verfügbar ist, ändert aber nicht den Anbieter/Vendor (Hinweis: Der komplette Build Service hat zur Zeit den gleichen Vendor). "zypper dup" wird versuchen, all ihre installierten Pakete mit denen aus (all) ihren aktivierten Paketdepots zu synchronisieren. Das heißt, dass es auch Pakete zurückstufen wird, wenn Sie eine neuere Version installiert haben, als im Paketdepot angeboten wird.
Zypper in Skripten und Anwendungen nutzen
Zypper unterstützt verschiedene globale Optionen, die es dafür geeignet machen, innerhalb automatisierter Prozesse wie Skripte zu nutzen. Außerdem können verschiedene Exit-Codes in automatisierten Prozessen genutzt werden, die in zyppers man-Seite aufgelistet sind.
Nicht-Interaktiver Modus
--non-interactive
In diesem Modus stellt Zypper dem Nutzer keine Fragen und nutzt stattdessen immer die Standardantworten. Wenn diese Option genutzt wird, ist es garantiert, dass Zypper den Nutzer nicht zu einer Eingabe über stdin auffordert, oder in einer endlosen Schleife stecken bleibt.
Um ihr System bspw. automatisch ohne Bestätigung zu aktualisieren, können Sie folgendes nutzen:
Dieses Kommando bedarf keiner Bestätigung des Nutzers um die Aktualisierung fortzusetzen, lässt alle interaktiven Patches, die eine zusätzliche Bestätigung bräuchten, aus, und beantwortet auch automatisch jede andere Eingabeaufforderung.
Keine-GPG-Prüfungen-Modus
--no-gpg-checks
Wenn diese Option genutzt wird, wird zypper immer fortfahren, wenn eine der GPG-Prüfungen fehl schlägt, wenn bspw. eine Paketdepotdatei nicht signiert ist, eine Datei signiert ist und die GPG-Prüfung fehl schlägt, usw.
Lizenzen automatisch annehmen
--auto-agree-with-licenses
Dies ist eine spezielle Option für die Kommandos install, remove und update. Wenn sie genutzt wird, erklärt der Nutzer, dass er den installierten Lizenzen zustimmt, und zypper wird bei Lizenzbestätigungen automatisch mit 'ja' antworten. Dies ist nützlich für Leute, die den selben Satz von Pakten (über einen automatisierten Prozess) auf mehreren Maschinen installieren und die Lizenzen vorher schon alle gelesen haben.
Stille Ausgabe
--quiet
Vermeidet die Anzeige von zu viel Text, wie Informationen zu Fortschritt, und zeigt nur die Ergebnisse der Operationen und Fehlermeldungen an.
XML-Ausgabe
--xmlout
Diese Option veranlasst zypper dazu, in XML zu sprechen. Dies erlaubt Skripten, grafischen Schnittstellen oder anderen Anwendungen, die zypper nutzen wollen, zyppers Ausgabe auf einem gut definierten, standardisierten Weg zu verarbeiten. Das RNC-Schema von zyppers XML-Ausgabe ist hier und unter /usr/share/zypper/xml/xmlout.rnc verfügbar.
Nicht die komplette (aber der Großteil) der Ausgabe ist zur Zeit in XML; Ziel ist es, alle möglichen Ausgaben in XML zu haben.
Eingabeaufforderungen
Das Folgende soll eine komplette Liste der Fälle werden, in denen Zypper eine Interaktion des Nutzers erwartet, zusammen mit den im Nicht-Interaktiven-Modus genutzten Antworten. Alle zusätzlichen hier aufgeführten Optionen haben eine höhere Priorität als --non-interactive, wenn Sie genutzt werden, wird die Antwort, die sie implizieren, automatisch genutzt, auch wenn --non-interactive nicht genutzt wird.
GPG-bezogene Eingabeaufforderungen
Wo --no-gpg-checks angewendet wird, wird eine Nachricht ausgegeben oder es wird eine Warnung nach stderr geschrieben und protokolliert.
Aufforderung | Standardantwort | Mit --no-gpgp-checks | Hinweis |
---|---|---|---|
unsignierte Datei akzeptieren? | N | J | |
neuen Schlüssel akzeptieren ((a)bweisen, (t)emporär oder (i)immer vertrauen? [A/t/i]) | A | A | ein neuer Schlüssel kann nur im interaktiven Modus importiert werden |
unbekannten Schlüssel akzeptieren? | N | J | |
Überprüfung signierter Dateien schlug fehl, fortfahren? | N | J | |
keine Signatur für eine Datei, fortfahren? | N | J | |
unbekannte Signatur akzeptieren? | N | J |
Andere Eingabeaufforderungen
Aufforderung | Standardantwort | Andere Antwort | Hinweis |
---|---|---|---|
mit Installation/Entfernen/Aktualisierung fortfahren? | J | zusätzlich kann bei install/remove/update auch die Option --no-confirm genutzt werden, auch ohne die globale Optipon --non-interactive | |
Drittanbieterlizenz bestätigen | N | J wenn --auto-agree-with-licenses genutzt wird | für zypper update kann zusätzlich die Option --skip-interactive genutzt werden, um interaktive Patches von der Zu-Installieren-Liste auszuschließen (eine Erbschaft von rug) |
bestätigen einer Patch-Nachricht | J | ||
Problem beim Installieren/Entfernen einer Auflösbarkeit, Abbrechen/Wiederholen/Ignorieren? | ABBRUCH | dies ist hässlich und kann in Zukunft verbessert werden | |
Problem beim Herunterladen eines Pakets, Abbrechen/Wiederholen/Ignorieren? | ABBRUCH | dies ist ebenfalls hässlich, kann irgendwann in der Zukunft verbessert werden | |
Abhängigkeitenkonflikt, #/u/w/a (Lösungsnummer, Überspringen, Wiederholen oder Abbrechen) | a | immer abbrechen, Nutzerinteraktion wird zur Auflösung benötigt | |
Aufforderung zum Wechseln eines Mediums | ABBRUCH | ||
problematische Sperre entfernen? | J |
In der XML-Ausgabe werden Eingabeaufforderungen durch das tag <prompt> angezeigt, das dass Attribut id enthält. Eine Auflistung aller bekannten ids ist in der Datei prompt.h verfügbar, die Sie im zypper Paket unter (/usr/include/zypper/prompt.h) finden.