Wir fahren mit den Paketmanagern der wichtigsten Distributionen im Serverbereich fort. Dieses Mal werden wir über Zypper sprechen, der mit RPM arbeitet und von SuSE für seine privaten und öffentlichen Distributionen wie SLE und Opensuse erstellt wurde .
Persönlich scheint mir Zypper einer der besten Manager zu sein, die es heute gibt. Suse hat sich sehr viel Mühe gegeben, um Yast und Zypper 2 sehr stabile und benutzerfreundliche Produkte anzubieten. Es ist wahr, dass Zypper in der Vergangenheit viele Probleme mit den Abhängigkeiten hatte, aber all dies ist vorbei und liefert eine hervorragende Leistung.
Wir beginnen mit den grundlegendsten Optionen. Wenn Sie den Befehl ohne Argument starten, erhalten Sie eine grundlegende Übersicht über die Verwendung des Befehls und eine Liste aller globalen Optionen. Lassen Sie sich nicht von der Anzahl der Optionen in Panik versetzen, die ich am nützlichsten erläutere.
jcarrillo @ linux-bp4q: ~> zypper Verwendung: zypper [--global-options] <Befehl> [--command-options] [Argumente] Globale Optionen: --help, -h Help. --version, -V Gibt die Versionsnummer aus. --promptids Ausgabe in eine Liste der Benutzeraufforderungen von zypper. --config, -c <Datei> Verwendet die angegebene Konfigurationsdatei anstelle der Standarddatei. --userdata <string> Benutzerdefinierte Transaktions-ID für Verlauf und Plugins. --quiet, -q Normale Ausgabe unterdrücken, nur Fehler drucken nachrichten. --verbose, -v Erhöht die Ausführlichkeit. - [no-] color Gibt an, ob Farben in der Ausgabe verwendet werden sollen, wenn dies von tty unterstützt wird. --no-abbrev, -A Text in Tabellen nicht abkürzen. --table-style, -s Tabellenstil (Ganzzahl). --non-interactive, -n Frag nichts, verwende Standardantworten automatisch --non-interactive-include-reboot-patches Behandeln Sie Patches nicht als interaktiv das Flag rebootSuggested gesetzt. --xmlout, -x Wechselt zur XML-Ausgabe. --ignore-unknown, -i Unbekannte Pakete ignorieren. --reposd-dir, -D <dir> Alternative Repository-Definitionsdatei verwenden Verzeichnis. --cache-dir, -C <dir> Verwendet ein alternatives Verzeichnis für alle Caches. --raw-cache-dir <dir> Verwendet ein alternatives Roh-Metadaten-Cache-Verzeichnis. --solv-cache-dir <dir> Verwendet ein alternatives Solv-Datei-Cache-Verzeichnis. --pkg-cache-dir <dir> Verwendet ein alternatives Paket-Cache-Verzeichnis.
Wenn wir für ein Argument eine Hilfe benötigen, zum Beispiel für install, verwenden wir.
jcarrillo @ linux-bp4q: ~> zypper hilfe in install (in) [options] <capacity | rpm_file_uri> ... Installieren Sie Pakete mit den angegebenen Funktionen oder RPM-Dateien mit den angegebenen Standort. Eine Funktion ist NAME [.ARCH] [OP <VERSION>], wobei OP eins ist von <, <=, =,> =,>. Befehlsoptionen: --from <alias | # | URI> Wählen Sie Pakete aus dem angegebenen Repository aus. -r, --repo <Alias | # | URI> Lädt nur das angegebene Repository. -t, --type <Typ> Pakettyp (Paket, Patch, Muster, Produkt, Quellpaket). Voreinstellung: package. -n, --name Wählt Pakete nach einfachem Namen und nicht nach Funktion aus. -C, --capability Wählen Sie Pakete nach Fähigkeit aus. -f, --force Install, auch wenn das Element bereits installiert ist (Neuinstallation), Herabstufung oder Änderung des Anbieters oder der Architektur. --oldpackage Ermöglicht das Ersetzen eines neueren Artikels durch einen älteren. Praktisch, wenn Sie ein Rollback durchführen. Im Gegensatz zu --force Eine Neuinstallation wird nicht erzwungen. --replacefiles Installiere die Pakete, auch wenn sie Dateien von anderen ersetzen, bereits installiert, Pakete. Standardmäßig werden Dateikonflikte behandelt als ein Fehler. --download-as-needed deaktiviert den Dateikonflikt ...
Um nach einem Paket zu suchen, verwenden wir die Option se oder suchen wir am Beispiel von Firefox.
jcarrillo @ linux-bp4q: ~> zypper ist firefox Repository-Daten werden geladen ... Installierte Pakete werden gelesen ... S | Name | Zusammenfassung Typ - + -------------------------------- + ---------- --------------------------------------------- + ---- -------- ich | Firefox | Webbrowser | anwendung | MozillaFirefox | Mozilla Firefox Webbrowser | srcpackage ich | MozillaFirefox | Mozilla Firefox Webbrowser | paket | MozillaFirefox-branding-openSUSE | openSUSE-Branding von MozillaFirefox | srcpackage ich | MozillaFirefox-branding-openSUSE | openSUSE-Branding von MozillaFirefox | paket | MozillaFirefox-Branding-Upstream | Upstream-Branding für Firefox | paket | MozillaFirefox-Buildsymbole | Breakpad-Buildsymbole für Firefox | paket | MozillaFirefox-Entwicklung | Entwicklungspaket für Firefox | paket | MozillaFirefox-Übersetzungen-allgemein | Gemeinsame Übersetzungen für Firefox | paket | MozillaFirefox-Übersetzungen-andere | Zusätzliche Übersetzungen für Firefox | paket | mhtml-firefox | Bietet Firefox MHTML-Webarchivkompatibilität srcpackage | mhtml-firefox | Bietet Firefox MHTML-Webarchivkompatibilität paket
Wir können sehen, wonach es in der Liste der Repositorys sucht, und dann werden alle Pakete angeboten, die das Wort Firefox enthalten, da Firefox bereits installiert ist. Ich erhalte ein “i” zur Unterscheidung.
Wir können nach Mustern oder Gruppen von Paketen suchen, zum Beispiel können wir das Lampenmuster installieren, das PHP, Apache und Mariadb enthält. Wir sehen, dass es eine sehr nützliche Beschreibung zur Automatisierung von Installationen enthält.
zypper info -t pattern lamp_server Repository-Daten werden geladen ... Installierte Pakete werden gelesen ... Informationen zum Muster lamp_server: ------------------------------------ Repository: openSUSE-13.2-Update Name: Lampenserver Version: 20141007-5.1 Arch: x86_64 Anbieter: openSUSE Installiert: Nein Sichtbar für Benutzer: Ja Zusammenfassung: Web- und LAMP-Server Beschreibung: Software zum Einrichten eines Webservers, der statische, dynamische und interaktive Inhalte bereitstellen kann (z. B. ein Webshop). Dies umfasst Apache HTTP Server, das MySQL-Datenbankverwaltungssystem, und Skriptsprachen wie PHP, Python, Ruby on Rails oder Perl. Inhalt: S | Name | Typ | Abhängigkeit - + ------------------------------- + --------- + ----- ------ | apache2-mod_php5 | paket | | php5-iconv | paket | ich | patterns-openSUSE-base | paket | ich | apache2-prefork | paket | | PHP5-Sonne | paket | | php5-mysql | paket | ich | apache2 | paket | | apache2-beispielseiten | paket | | mariadb | paket | | apache2-mod_perl | paket | | php5-ctype | paket | | apache2-doc | paket | | yast2-http-server | paket | | patterns-openSUSE-lamp_server | paket |
1.1 Verwenden Sie Zypper Shell
Wie yum können wir eine Zypper-Shell starten, wenn wir lange damit arbeiten werden.
# Zypper Shell ODER # zypper sh Zypper> Hilfe Verwendung: zypper [--global-options]
Wir können die offiziellen und externen Repositorys des Systems mit Zypper hinzufügen, entfernen, aktualisieren und ändern.
2.1 Auflisten von Repositorys
Wir können die Repositories mit dem Argument repos auflisten oder eine Liste wird angezeigt, indem sie aktiviert und aktualisiert wird.
# zypper repos ODER # zypper lr jcarrillo @ linux-bp4q: ~> zypper lr # | Alias | Name | Aktiviert | GPG Check | Aktualisieren --- + ----------------------------- + ---------------- --------------------- + --------- + ----------- + ------ - 1 | download.opensuse.org-4.4 | openSUSE BuildService - LibreOffice | Ja | r) Ja Ja 2 | download.opensuse.org-Apps | openSUSE BuildService - GNOME: Apps | Ja | r) Ja Ja 3 | download.opensuse.org-Extra | openSUSE BuildService - KDE: Extra | Ja | r) Ja Ja 4 | download.opensuse.org-spiele | openSUSE BuildService - Spiele | Ja | r) Ja Ja 5 | download.opensuse.org-oss | Hauptverzeichnis (Quellen) | Ja | r) Ja Ja 6 | ftp.gwdg.de-suse | Packman Repository | Ja | r) Ja Ja 7 | Spiele: Werkzeuge | Spiele: Werkzeuge | Ja | r) Ja Ja 8 | geeko.ioda.net-amd-fglrx | AMD / ATI-Grafiktreiber | Ja | r) Ja Ja 9 | google-chrome | google-chrome | Ja | r) Ja Ja 10 | libdvdcss-Repository | libdvdcss-Repository | Ja | r) Ja Ja 11 | openSUSE-13.2-0 | openSUSE-13.2-0 | Nein | ---- | Ja 12 | repo-debug | openSUSE-13.2-Debug | Nein | ---- | Ja 13 | repo-debug-update | openSUSE-13.2-Update-Debug | Nein | ---- | Ja 14 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Nein | ---- | Ja 15 | repo-non-oss | openSUSE-13.2-Non-Oss | Ja | p) Ja Ja 16 | repo-oss | openSUSE-13.2-Oss | Ja | p) Ja Ja 17 | repo-source | openSUSE-13.2-Source | Nein | ---- | Ja 18 | repo-update | openSUSE-13.2-Update | Ja | r) Ja Ja 19 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Ja | p) Ja Ja
Bei Bedarf können wir nach idealen URIs auflisten, ob wir lokale Repositorys haben und diese sichern oder aktualisieren möchten.
# zypper lr -u # | Alias | Name | Aktiviert | Aktualisieren | URI - + --------------------------- + ------------------- ----------------- + --------- + --------- + ------------ -------------------------------------------------- - 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Ja | Nein | cd: ///? devices = / dev / disk / by-id / ata-VBOX_CD-ROM_VB2-01700376 2 | repo-debug | openSUSE-13.2-Debug | Ja | Ja | http://download.opensuse.org/debug/distribution/13.2/repo/oss/ 3 | repo-debug-update | openSUSE-13.2-Update-Debug | Nein | Ja | http://download.opensuse.org/debug/update/13.2/ 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Nein | Ja | http://download.opensuse.org/debug/update/13.2-non-oss/ 5 | repo-non-oss | openSUSE-13.2-Non-Oss | Ja | Ja | http://download.opensuse.org/distribution/13.2/repo/non-oss/ 6 | repo-oss | openSUSE-13.2-Oss | Ja | Ja | http://download.opensuse.org/distribution/13.2/repo/oss/ 7 | repo-source | openSUSE-13.2-Source | Nein | Ja | http://download.opensuse.org/source/distribution/13.2/repo/oss/ 8 | repo-update | openSUSE-13.2-Update | Ja | Ja | http://download.opensuse.org/update/13.2/ 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Ja | Ja | http://download.opensuse.org/update/13.2-non-oss/
Sie sollten wissen, dass die Repositorys nach Priorität behandelt werden. Wir haben das mysql-Paket in der lokalen REPO und offiziell, um Bandbreite zu sparen, sollten lokale REPOs eine höhere Priorität erhalten. Wir können die REPOs nach Priorität mit -P auflisten
# zypper lr -P # | Alias | Name | Aktiviert | Aktualisieren | Priorität - + --------------------------- + ------------------- ----------------- + --------- + --------- + --------- 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Ja | Nein | 99 2 | repo-debug | openSUSE-13.2-Debug | Ja | Ja | 99 3 | repo-debug-update | openSUSE-13.2-Update-Debug | Nein | Ja | 99 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Nein | Ja | 99 5 | repo-non-oss | openSUSE-13.2-Non-Oss | Ja | Ja | 85 6 | repo-oss | openSUSE-13.2-Oss | Ja | Ja | 99 7 | repo-source | openSUSE-13.2-Source | Nein | Ja | 99 8 | repo-update | openSUSE-13.2-Update | Ja | Ja | 99 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Ja | Ja | 99
2.2 Repositorys aktualisieren
Wir haben einen globalen Befehl zum gleichzeitigen Aktualisieren oder die Option eines bestimmten Befehls
Im Falle einer Aktualisierung verwenden wir alle ref oder refresh
# zypper refresh ODER # zypper ref Das Repository 'openSUSE-13.2-0' ist aktuell. Das Repository 'openSUSE-13.2-Debug' ist auf dem neuesten Stand. Das Repository 'openSUSE-13.2-Non-Oss' ist aktuell. Das Repository 'openSUSE-13.2-Oss' ist aktuell. Das Repository 'openSUSE-13.2-Update' ist auf dem neuesten Stand. Das Repository 'openSUSE-13.2-Update-Non-Oss' ist aktuell. Alle Repositorys wurden aktualisiert. Im Falle einer Auffrischung in bestimmten zum Beispiel Non-Oss # zypper refresh repo-non-oss Das Repository 'openSUSE-13.2-Non-Oss' ist aktuell. Angegebene Repositorys wurden aktualisiert.
Manchmal erlaubt zypper keine Aktualisierung durch Sicherheitszertifikate, die wir in diesem Fall mit -f erzwingen können
# zypper ref -f repo-non-oss Erzwingen der Aktualisierung von Rohmetadaten Abrufen der Metadaten des Repositorys 'openSUSE-13.2-Non-Oss' .................................. ...................... [erledigt] Erzwingen der Erstellung eines Repository-Caches Erstellen des 'openSUSE-13.2-Non-Oss'-Cache des Repositorys ...................... [erledigt] Angegebene Repositorys wurden aktualisiert.
2.3 Repositorys ändern
Wenn wir über das Ändern sprechen, meine ich das Aktivieren oder Deaktivieren eines REPO oder das Ändern seiner Priorität vor dem Ändern eines REPO. Wir müssen wissen, dass in Zypper jedes Repository eine eindeutige ID hat, die verwendet wird, um ein REPO zu aktivieren. Wir können eine Nummernauflistung mit zypper lr haben.
# zypper lr # | Alias | Name | Aktiviert | Aktualisieren - + --------------------------- + ------------------- ----------------- + --------- + -------- 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Ja | Nein 2 | repo-debug | openSUSE-13.2-Debug | Ja | Ja 3 | repo-debug-update | openSUSE-13.2-Update-Debug | Nein | Ja 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Nein | Ja 5 | repo-non-oss | openSUSE-13.2-Non-Oss | Ja | Ja 6 | repo-oss | openSUSE-13.2-Oss | Nein | Ja 7 | repo-source | openSUSE-13.2-Source | Nein | Ja 8 | repo-update | openSUSE-13.2-Update | Ja | Ja 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Ja | Ja
Im Falle der Deaktivierung der ID 6, die Oss wäre, verwenden wir
# zypper mr -d 6 Repository 'repo-oss' wurde erfolgreich deaktiviert.
Um es wieder zu aktivieren, verwenden wir -e example
# zypper mr -e 6 Repository 'repo-oss' wurde erfolgreich aktiviert.
Wir gehen zu erweiterten Optionen, aktivieren zum Beispiel die automatische Aktualisierung und legen eine Priorität von 85 Repo-Nonoss fest.
# zypper mr -rk -p 85 repo-non-oss Repository 'repo-non-oss' Priorität wurde unverändert gelassen (85) Für das Repository 'repo-non-oss' nichts zu ändern.
Oder wir können das Caching aller Repos einschränken, falls der Speicherplatz knapp wird.
# zypper mr -Ka Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'openSUSE-13.2-0' deaktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-debug' deaktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-debug-update' deaktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-debug-update-non-oss' deaktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-non-oss' deaktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-oss' deaktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-source' deaktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-update' deaktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-update-non-oss' deaktiviert.
Wenn Sie sie wieder aktivieren möchten, verwenden wir sie.
# zypper mr -ka Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'openSUSE-13.2-0' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-debug' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'Repo-Debug-Update' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-debug-update-non-oss' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-non-oss' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-oss' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-source' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-update' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-update-non-oss' aktiviert.
Aber wir können sogar zwischen lokalem und Remote-Repo filtern und es ist möglich, das Caching nur für das Remote-Repo zu deaktivieren.
# zypper mr -Kt Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-debug' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'Repo-Debug-Update' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-debug-update-non-oss' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-non-oss' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-oss' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-source' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-update' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-update-non-oss' aktiviert.
Um sie wieder zu aktivieren, verwenden wir fast das gleiche Argument, jedoch mit K in Kleinbuchstaben.
# zypper mr -kt Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-debug' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'Repo-Debug-Update' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-debug-update-non-oss' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-non-oss' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-oss' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-source' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-update' aktiviert. Das Zwischenspeichern von RPM-Dateien wurde für das Repository 'repo-update-non-oss' aktiviert.
2.4 Hinzufügen von REPOs mit Zypper
Wir werden Repositories hinzufügen, nicht zu verwechseln mit der Aktivierung. Es ist ratsam, REPO mit der aktuellen GPG-Prüfung hinzuzufügen, um zu vermeiden, Opfer von Angriffen zu werden.
Beginnen wir mit dem Hinzufügen eines offiziellen REPOs, jedoch aus der alten Opensuse-Version.
# zypper ar http://download.opensuse.org/update/11.1/ update Repository 'Update' hinzufügen ............................................. .................................................. .................................................. ............ [fertig] Repository 'Update' erfolgreich hinzugefügt Aktiviert: Ja Autorefresh: Nein GPG-Prüfung: Ja URI: http://download.opensuse.org/update/11.1/
Beachten Sie, dass Zypper uns nach dem Hinzufügen der GPG-Option eine Zusammenfassung des REPO gibt.
Falls Sie mit ähnlichen REPO-Namen verwickelt werden, können wir Ihren ALIAS ändern, um ihn besser zu identifizieren. Nehmen wir an, wir möchten den Namen von repo 10 in upd8 ändern. Zuerst müssen wir seine ID kennen, in meinem Fall ist es 10, und dann starten wir
# zypper nr 10 upd8 Repository 'Update' umbenannt in 'Upd8'.
2.5 Repositorys entfernen
Zum Entfernen verwenden wir rr oder removerepo. Nachdem wir ein REPO entfernt haben, können wir es nicht wiederherstellen, ohne seine Ursprungsadresse zu kennen, um hier vorsichtig zu sein.
# zypper rr upd8 # Repository 'upd8' entfernen ............................................ ............................................. [erledigt] Repository 'upd8' wurde entfernt.
Mit Zypper können wir viele RPM-Funktionen einfacher ausführen, und wir werden uns über Ihr gesamtes Paketmanagement unterhalten.
3.1 Installieren Sie ein Paket mit Zypper
Um ein neues Paket zu installieren, das wir verwenden oder installieren, werden wir das Beispiel mit dem Firefox-Browser machen.
# zypper in MozillaFirefox Repository-Daten werden geladen ... Installierte Pakete werden gelesen ... Paketabhängigkeiten werden aufgelöst ... Die folgenden 128 NEUEN Pakete werden installiert: adwaita-icon-theme at-spi2-atk-common at-spi2-atk-gtk2 at-spi2-core cantarell-schriftarten cups-libs desktop-datei-utils fontconfig gdk-pixbuf-query-loader gstreamer gstreamer-fluendo-mp3 gstreamer-plugins-base gtk2-branding-openSUSE gtk2-data gtk2-immodul-amharisch gtk2-immodul-inuktitut gtk2-immodul-thailändisch gtk2-immodul-vietnamesisch gtk2-metatheme-adwaita gtk2-theming-engine-adwaita gtk2-tools gtk3-data gtk3-metathem-adwaita gtk3-tools hicolor-icon-theme hicolor-icon-theme-branding-openSUSE libasound2 libatk-1_0-0 libatk-bridge-2_0-0 libespi0 libcairo2 libcairo-gobject2 libcanberra0 libcanberra-gtk0 libcanberra-gtk2-modul libcanberra-gtk3-0 libcanberra-gtk3-modul libcanberra-gtk-modul-common libcdda_interface0 libcdda_paranoia0 libcolord2 libdrm2 libdrm_intel1 libdrm_nouveau2 libdrm_radeon1 libFLAC8 libfreebl3 libgbm1 libgdk_pixbuf-2_0-0 libgraphite2-3 libgstapp-1_0-0 libgstaudio-1_0-0 libgstpbutils-1_0-0 libgstreamer-1_0-0 libgstriff-1_0-0 libgsttag-1_0-0 libgstvideo-1_0-0 libgthread-2_0-0 libgtk-2_0-0 libgtk-3-0 libharfbuzz0 libjasper1 libjbig2 libjpeg8 liblcms2-2 libLLVM libltdl7 libnsssharedhelper0 libogg0 liborc-0_4-0 libpackagekit-glib2-18 libpango-1_0-0 libpciaccess0 libpixman-1-0 libpulse0 libsndfile1 libsoftokn3 libspeex1 libsqlite3-0 libstartup-notification-1-0 libtheoradec1 libtheoraenc1 libtiff5 libvisual libvorbis0 libvorbisenc2 libvorbisfile3 libwayland-client0 libwayland-cursor0 libwayland-server0 libX11-xcb1 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-render0 libxcb-shm0 libxcb-sync1 libxcb-util1 libxcb-xfixes0 libXcomposite1 libXcursor1 libXdamage1 libXfixes3 libXft2 libXi6 libXinerama1 libxkbcommon-0_4_3 libXrandr2 libXrender1 libxshmfence1 libXtst6 libXv1 libXxf86vm1 Mesa Mesa-libEGL1 Mesa-libGL1 Mesa-libglapi0 metatheme-adwaita-common MozillaFirefox MozillaFirefox-branding-openSUSE Mozilla-nss Mozilla-nss-certs PaketKit-gstreamer-Plugin Pango-Tools Sound-Theme-freedesktop Die folgenden 10 empfohlenen Pakete wurden automatisch ausgewählt: gstreamer-fluendo-mp3 gtk2-branding-openSUSE gtk2-data gtk2-immodul-amharisch gtk2-immodul-inuktitut gtk2-immodul-thailändisch gtk2-immodul-vietnamesisch libcanberra0 libpulse0 PackageKit-gstreamer-Plugin 128 neue zu installierende Pakete. Gesamte Downloadgröße: 77,2 MiB. Bereits zwischengespeichert: 0 B Nach der Operation werden zusätzliche 200,0 MiB verwendet. Weiter? [j / n /? zeigt alle Optionen] (y): y Paket cantarell-fonts-0.0.16-1.1.noarch (1/128), 74,1 KiB (115,6 KiB ausgepackt) abrufen Abrufen: cantarell-fonts-0.0.16-1.1.noarch.rpm ............................... .................................................. .................................... [erledigt (63,4 KiB / s)] Abrufen des Pakets hicolor-icon-theme-0.13-2.1.2.noarch (2/128), 40,1 KiB (50,5 KiB entpackt) Abrufen: hicolor-icon-theme-0.13-2.1.2.noarch.rpm ................................. .................................................. ................................................ [fertig ] Paket abrufen sound-theme-freedesktop-0.8-7.1.2.noarch (3/128), 372,6 KiB (460,3 KiB ausgepackt)
Wir können sogar eine bestimmte Version eines Pakets installieren.
# zypper in 'gcc <5.1' Repository-Daten werden geladen ... Installierte Pakete werden gelesen ... Paketabhängigkeiten werden aufgelöst ... Die folgenden 13 NEUEN Pakete werden installiert: cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libmpc3 libmpfr4 libtsan0-gcc49 13 neue zu installierende Pakete. Gesamte Downloadgröße: 14,5 MiB. Bereits zwischengespeichert: 0 B Nach der Operation werden zusätzliche 49,4 MiB verwendet. Weiter? [j / n /? zeigt alle Optionen] (y): y
Da wir wissen, dass die Pakete für verschiedene Architekturen vorkompiliert sind, können wir eine bestimmte Version installieren. Es kann hilfreich sein, wenn wir 64 Bit haben, aber eine Software funktioniert nur unter 32 Bit. Es ist am besten, einen PATH für 32 Bit durchzuführen und das Paket dann zu installieren.
# zypper in gcc.i586 Repository-Daten werden geladen ... Installierte Pakete werden gelesen ... Paketabhängigkeiten werden aufgelöst ... Die folgenden 13 NEUEN Pakete werden installiert: cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libmpc3 libmpfr4 libtsan0-gcc49 13 neue zu installierende Pakete. Gesamte Downloadgröße: 14,5 MiB. Bereits zwischengespeichert: 0 B Nach der Operation werden zusätzliche 49,4 MiB verwendet. Weiter? [j / n /? zeigt alle Optionen] (y): y Paket libasan0-4.8.3 + r212056-2.2.4.x86_64 (1/13), 74,2 KiB (166,9 KiB ausgepackt) abrufen Abrufen: libasan0-4.8.3 + r212056-2.2.4.x86_64.rpm ............................. .................................................. .................................... [fertig (79,2 KiB / s)] Abrufen des Pakets libatomic1-gcc49-4.9.0 + r211729-2.1.7.x86_64 (2/13), 14,3 KiB (26,1 KiB entpackt) Abrufen: libatomic1-gcc49-4.9.0 + r211729-2.1.7.x86_64.rpm ............................... .................................................. .............................. [erledigt (55,3 KiB / s)]
Um eine Version und eine Architektur zu installieren, verwenden wir.
# zypper in 'gcc.i586 <5.1' Repository-Daten werden geladen ... Installierte Pakete werden gelesen ... Paketabhängigkeiten werden aufgelöst ... ...
Es ist möglich, ein Paket eines bestimmten REPO zu installieren. Beispiel Ich werde nach dem libxinel-Paket des amarok REPO suchen, um die Kompatibilität zu verbessern.
# zypper in amarok upd: libxine1 Repository-Daten werden geladen ... Installierte Pakete werden gelesen ... Paketabhängigkeiten werden aufgelöst ... Die folgenden 202 NEUEN Pakete werden installiert: amarok bundle-lang-kde-en clamz cups-libs enscript fontconfig gdk-pixbuf-abfragelader ghostscript-fonts-std gptfdisk gstreamer gstreamer-plugins-base hicolor-icon-theme hicolor-icon-theme-branding-openSUSE htdig hunspell hunspell-tools icoutils ispell ispell-american kde4-dateisystem kdebase4-runtime kdebase4-runtime-branding-openSUSE kdelibs4 kdelibs4-branding-openSUSE kdelibs4-core kdialog libakonadi4 l .....
Es ist möglich, Platzhalter für die Suche zu verwenden
# zypper in php5 * Repository-Daten werden geladen ... Installierte Pakete werden gelesen ... Paketabhängigkeiten werden aufgelöst ... Problem: Für php5-5.6.1-18.1.x86_64 ist smtp_daemon erforderlich, diese Anforderung kann jedoch nicht bereitgestellt werden Deinstallierbare Anbieter: exim-4.83-3.1.8.x86_64 [openSUSE-13.2-0] postfix-2.11.0-5.2.2.x86_64 [openSUSE-13.2-0] sendmail-8.14.9-2.2.2.x86_64 [openSUSE-13.2-0] exim-4.83-3.1.8.i586 [repo-oss] msmtp-mta-1.4.32-2.1.3.i586 [repo-oss] postfix-2.11.0-5.2.2.i586 [repo-oss] sendmail-8.14.9-2.2.2.i586 [repo-oss] exim-4.83-3.1.8.x86_64 [repo-oss] msmtp-mta-1.4.32-2.1.3.x86_64 [repo-oss] postfix-2.11.0-5.2.2.x86_64 [repo-oss] sendmail-8.14.9-2.2.2.x86_64 [repo-oss] postfix-2.11.3-5.5.1.i586 [repo-update] postfix-2.11.3-5.5.1.x86_64 [repo-update] Lösung 1: Folgende Aktionen werden ausgeführt: Installieren Sie nicht php5-5.6.1-18.1.x86_64 Installieren Sie nicht php5-pear-Auth_SASL-1.0.6-7.1.3.noarch Installieren Sie nicht php5-pear-Horde_Http-2.0.1-6.1.3.noarch Installieren Sie nicht php5-pear-Horde_Image-2.0.1-6.1.3.noarch Installieren Sie nicht php5-pear-Horde_Kolab_Format-2.0.1-6.1.3.noarch Installieren Sie nicht php5-pear-Horde_Ldap-2.0.1-6.1.3.noarch Installieren Sie nicht php5-pear-Horde_Memcache-2.0.1-7.1.3.noarch Installieren Sie nicht php5-pear-Horde_Mime-2.0.2-6.1.3.noarch Installieren Sie nicht php5-pear-Horde_Oauth-2.0.0-6.1.3.noarch Installieren Sie nicht php5-pear-Horde_Pdf-2.0.1-6.1.3.noarch ....
Wie bereits erwähnt, ist es möglich, Gruppen zu verwenden, um beispielsweise den gesamten Lampenserver-Stack zu installieren
# zypper in -t pattern lamp_server Repository-Daten werden hinzugefügt ... Installierte Pakete werden gelesen ... Paketabhängigkeiten werden aufgelöst ... Die folgenden 29 NEUEN Pakete werden installiert: apache2 apache2-doc apache2-beispielseiten apache2-mod_perl apache2-prefork-muster-openSUSE-lampenserver perl-daten-dump perl-verschlüsseln-locale perl-dateiliste perl-HTML-Parser perl-HTML-Tagset perl-HTTP-Cookies perl-HTTP-Daemon perl-HTTP-Datum perl-HTTP-Nachricht perl-HTTP-Verhandeln perl-IO-HTML perl-IO-Socket-SSL perl-libwww-perl perl-Linux -Pid Perl-LWP-Medientypen Perl-LWP-Protokoll-https Perl-Net-HTTP Perl-Net-SSLeay Perl-Tie-IxHash Perl-TimeDate Perl-URI Perl-WWW-RobotRules yast2-http-Server Das folgende NEUE Muster wird installiert: lamp_server Die folgenden 10 empfohlenen Pakete wurden automatisch ausgewählt: apache2 apache2-doc apache2-Beispielseiten apache2-mod_perl apache2-prefork perl-Daten-Dump perl-IO-Socket-SSL perl-LWP-Protokoll-https perl-TimeDate yast2-http-Server 29 neue zu installierende Pakete. Gesamte Downloadgröße: 7,2 MiB. Bereits zwischengespeichert: 1,2 MiB Nach der Operation werden zusätzliche 34,7 MiB verwendet. Weiter? [j / n /? zeigt alle Optionen] (y):
Eine mögliche und nützliche Option besteht darin, ein neues Paket zu installieren und dessen Alternative wie die Installation von nano und das Entfernen von vi zu beseitigen.
# zypper in nano -vi Repository-Daten werden geladen ... Installierte Pakete werden gelesen ... '-vi' nicht in Paketnamen gefunden. Möglichkeiten ausprobieren. Paketabhängigkeiten werden aufgelöst ... Die folgenden 2 NEUEN Pakete werden installiert: nano nano-lang Das folgende Paket wird ENTFERNT: vim Das folgende empfohlene Paket wurde automatisch ausgewählt: nano-lang 2 neue Pakete zu installieren, 1 zu entfernen. Gesamte Downloadgröße: 550,0 KiB. Bereits zwischengespeichert: 0 B Nach der Operation werden 463,3 KiB freigegeben. Weiter? [j / n /? zeigt alle Optionen] (y): ...
Wenn wir ein RPM-Paket extern heruntergeladen haben und es mit zypper installieren möchten, um die Abhängigkeiten aufzulösen (empfohlen), starten wir es
zypper im teamviewer * .rpm Repository-Daten werden geladen ... Installierte Pakete werden gelesen ... Paketabhängigkeiten werden aufgelöst ... Die folgenden 24 NEUEN Pakete werden installiert: alsa-oss-32bit fontconfig-32bit libasound2-32bit libexpat1-32bit libfreetype6-32bit libgcc_s1-gcc49-32bit libICE6-32bit libjpeg62-32bit libpng12-0-32bit libpng16-16-32bit libSM6-32bit libuuid1-32bit libX11-6-32bit libXau6-32bit libxcb1-32bit libXdamage1-32bit libXext6-32bit libXfixes3-32bit libXinerama1-32bit libXrandr2-32bit libXrender1-32bit libXtst6-32bit libz1-32bit teamviewer Das folgende empfohlene Paket wurde automatisch ausgewählt: alsa-oss-32bit 24 neue zu installierende Pakete. Download-Gesamtgröße: 41,2 MiB. Bereits zwischengespeichert: 0 B Nach der Operation werden zusätzliche 119,7 MiB verwendet. Weiter? [j / n /? zeigt alle Optionen] (y): ..
3.2 Pakete mit Zypper entfernen
Zum Entfernen von Paketen können wir zypper remove verwenden oder nur rm, zum Beispiel das apache2-Paket.
# zypper entferne apache2 Oder # zypper rm apache2 Repository-Daten werden geladen ... Installierte Pakete werden gelesen ... Paketabhängigkeiten werden aufgelöst ... Die folgenden 2 Pakete werden ENTFERNT: apache2 apache2-prefork 2 Pakete zum Entfernen. Nach der Operation werden 4,2 MiB frei. Weiter? [j / n /? zeigt alle Optionen] (y): y (1/2) apache2-2.4.10-19.1 entfernen ..................................... ................................... [erledigt] (2/2) apache2-prefork-2.4.10-19.1 entfernen ................................... ............................. [erledigt]
3.3 Aktualisieren Sie Pakete mit Zypper
Wir können den universellen Befehl zypper up verwenden, um alles zu aktualisieren.
# zypper up ODER # zypper update Repository-Daten werden geladen ... Installierte Pakete werden gelesen ... Nichts zu tun
Oder aktualisieren Sie nur ein bestimmtes Paket, ideal in einer kontrollierten Produktionsumgebung.
# zypper up apache2 openssh Repository-Daten werden geladen ... Installierte Pakete werden gelesen ... Kein Update-Kandidat für 'apache2-2.4.10-19.1.x86_64'. Die höchste verfügbare Version ist bereits installiert. Kein Update-Kandidat für 'openssh-6.6p1-5.1.3.x86_64'. Die höchste verfügbare Version ist bereits installiert. Paketabhängigkeiten werden aufgelöst ... Nichts zu tun
Jedes Mal, wenn wir einen Zypper darin starten, wird überprüft, ob das Paket installiert ist, wenn überprüft wird, ob es aktualisiert wurde.
# Zypper in Mariadb Repository-Daten werden geladen ... Installierte Pakete werden gelesen ... 'mariadb' ist bereits installiert. Kein Update-Kandidat für 'mariadb-10.0.13-2.6.1.x86_64'. Die höchste verfügbare Version ist bereits installiert. Paketabhängigkeiten werden aufgelöst ... Nichts zu tun
Wenn wir bei der Installation eines sehr seltenen Pakets Probleme haben, können wir versuchen, es direkt von der Quelle im Stil von Arch Linux zu installieren. Wir verwenden Zypper Source-Install oder Zypper If.
# zypper yes mariadb Installierte Pakete werden gelesen ... Repository-Daten werden geladen ... Paketabhängigkeiten werden aufgelöst ... Die folgenden 36 NEUEN Pakete werden installiert: autoconf automake bison cmake cpp cpp48 gcc gcc48 gcc48-c ++ gcc-c ++ libaio-devel libarchive13 libasan0 libatomic1-gcc49 libcloog-isl4 libedit-devel libevent-devel libgomp1-gcc49 libisl10 libitm1-gcc49 libltdl7 libmpc3 libmpfr4 libopenssl-devel libstdc ++ 48-devel libtool libtsan0-gcc49 m4 make ncurses-devel pam-devel readline-devel site-config tack tcpd-devel zlib-devel Das folgende Quellpaket wird installiert: Mariadb 36 neue Pakete zu installieren, 1 Quellpaket. Gesamte Downloadgröße: 71,5 MiB. Bereits zwischengespeichert: 129,5 KiB Nach der Operation werden zusätzliche 183,9 MiB verwendet. Weiter? [j / n /? zeigt alle Optionen] (y): y
Alle vorherigen Befehle erfordern die Benutzerinteraktion, und wir können sie nicht zu Skripten hinzufügen, aber keine Sorge, wir werden darüber sprechen, welche Optionen uns zur Verfügung stehen.
4.1 Installieren Sie ein Paket für Skripte.
Wir verwenden die Option –nicht interaktiv. Wir werden mit dem Beispiel von Mariadb fortfahren.
# zypper - In Mariadb nicht interaktiv Repository-Daten werden geladen ... Installierte Pakete werden gelesen ... 'mariadb' ist bereits installiert. Kein Update-Kandidat für 'mariadb-10.0.13-2.6.1.x86_64'. Die höchste verfügbare Version ist bereits installiert. Paketabhängigkeiten werden aufgelöst ... Nichts zu tun
4.2 Entfernen Sie ein Paket für Skripte.
Wir verwenden die gleiche Option, aber mit rm.
# zypper - nicht interaktives rm mariadb Repository-Daten werden geladen ... Installierte Pakete werden gelesen ... Paketabhängigkeiten werden aufgelöst ... Das folgende Paket wird ENTFERNT: Mariadb 1 Packung zu entfernen. Nach der Operation werden 71,8 MiB freigesetzt. Weiter? [j / n /? zeigt alle Optionen] (y): y (1/1) Entfernen von mariadb-10.0.13-2.6.1 ................................... ..........................................[done]
Por defecto zypper tiene una cuota para el caché cuando esta cuota llega el tope el nuevo caché reemplaza al antiguo pero si tenemos problemas al instalar un paquete puede que al momento de descargar estuviera corrupto y es recomendable limpiar el cache.
5.1 Limpiar cache de los REPO
Aca solo eliminamos el cache descargado por los REPO.
# zypper clean All repositories have been cleaned up.
5.2 Limpiar Metadatos y Cache
Limpiar los metadatos puede solucionar algunos problemas.
# zypper clean -a All repositories have been cleaned up.
Para finalizar es posible actualizar a una nueva versión de SuSE por ejemplo tenemos OpenSuSE 12.3 y queremos migrar a las 13.2 lanzamos.
# zypper dist-upgrade You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command. Building repository 'openSUSE-13.2-0' cache .....................................................................[done] Retrieving repository 'openSUSE-13.2-Debug' metadata ............................................................[done] Building repository 'openSUSE-13.2-Debug' cache .................................................................[done] Retrieving repository 'openSUSE-13.2-Non-Oss' metadata ..........................................................[done] Building repository 'openSUSE-13.2-Non-Oss' cache ...............................................................[done]