Jak korzystać z Zyppera z opensuse i suse

{title}

{title}


Kontynuujemy pracę z menedżerami pakietów najważniejszych dystrybucji w sektorze serwerów, tym razem porozmawiamy o Zypper, który współpracuje z RPM i został stworzony przez SuSE dla jego prywatnych i publicznych dystrybucji, takich jak SLE i Opensuse .
Osobiście Zypper wydaje mi się jednym z najlepszych menedżerów, którzy istnieją dzisiaj. Suse włożył wiele wysiłku w Yast and Zypper, oferując 2 bardzo stabilne produkty i łatwy w użyciu, to prawda, że ​​w przeszłości Zypper miał wiele problemów z zależnościami, ale to wszystko się skończyło i daje wyjątkową wydajność.
1 Jak korzystać z Zypper.
Zaczniemy od najbardziej podstawowego, jeśli uruchomimy polecenie bez żadnego argumentu, zaoferuje nam on podstawowe streszczenie tego, jak go używać, a lista wszystkich globalnych opcji nie panikuje ilością opcji, które wyjaśnię najbardziej przydatne.
 : ~> zypper Sposób użycia: zypper [--global-options] [--command-options] [argumenty] Opcje globalne: --help, -h Pomoc. --version, -V Wypisuje numer wersji. --promptids Wypisuje listę podpowiedzi użytkownika zyppera. --config, -c Użyj podanego pliku konfiguracyjnego zamiast domyślnego. --userdata Zdefiniowany przez użytkownika identyfikator transakcji używany w historii i wtyczkach. --quiet, -q Pomiń normalne wyjście, drukuj tylko komunikaty o błędach. --verbose, -v Zwiększa gadatliwość. - [no-] color Określa, czy kolory wyjściowe mają być używane, jeśli tty je obsługuje. --no-skrót, -A Nie skracaj tekstu w tabelach. --table-style, -s Tabela stylów (liczba całkowita). --non-interactive, -n Nie pytaj o nic, automatycznie używaj domyślnych odpowiedzi. --non-interactive-include-reboot-patches Nie traktuj poprawek jako interaktywnych, które mają ustawione flagi rebootSomended-flag. --xmlout, -x Przełącz na wyjście XML. --ignore-unknown, -i Ignoruj ​​nieznane pakiety. --reposd-dir, -D Użyj alternatywnego katalogu plików definicji repozytorium. --cache-dir, -C Użyj alternatywnego katalogu dla wszystkich pamięci podręcznych. --raw-cache-dir Użyj alternatywnego katalogu surowej pamięci podręcznej metadanych. --solv-cache-dir Użyj alternatywnego katalogu pamięci podręcznej plików solv. --pkg-cache-dir Użyj katalogu alternatywnej pamięci podręcznej pakietów. 
Jeśli potrzebujemy pomocy dla jakiegoś argumentu, na przykład zainstaluj, którego używamy
 : ~> pomoc zypper w instalacji (w) [opcje] ... Zainstaluj pakiety o określonych możliwościach lub pliki RPM o określonej lokalizacji. Możliwością jest NAZWA [.ARCH] [OP], gdzie OP jest jednym z <, =, >. Opcje poleceń: - z Wybierz pakiety z określonego repozytorium. -r, --repo Załaduj tylko określone repozytorium. -t, --type Rodzaj opakowania (pakiet, łatka, wzór, produkt, srcpackage). Domyślnie: pakiet. -n, --name Wybierz pakiety według zwykłej nazwy, a nie według możliwości. -C, --capability Wybierz pakiety według możliwości. -f, --force Zainstaluj, nawet jeśli element jest już zainstalowany (przeinstaluj), obniżył wersję lub zmienia dostawcę lub architekturę. --oldpackage Pozwala na zastąpienie nowszego przedmiotu starszym. Przydatne, jeśli cofasz. W przeciwieństwie do opcji --force nie wymusi ponownej instalacji. --replacefiles Zainstaluj pakiety, nawet jeśli zastąpią one pliki z innych już zainstalowanych pakietów. Domyślnie konflikty plików traktuje się jako błąd. --pobierz-w razie potrzeby wyłącza konflikt plików

...

Aby wyszukać pakiet, korzystamy z opcji se lub wyszukiwania używamy przykładu z Firefoksa.
 [chroniony przez e-mail] : ~> zypper se firefox Ładowanie danych repozytorium ... Odczytywanie zainstalowanych pakietów ... S | Imię | Podsumowanie | Wpisz - + ------------------------------------ + --------- ---------------------------------------------- + --- --------- i | Firefox | Przeglądarka internetowa | wniosek | MozillaFirefox | Przeglądarka internetowa Mozilla Firefox | srcpackage i | MozillaFirefox | Przeglądarka internetowa Mozilla Firefox | pakiet | MozillaFirefox-branding-openSUSE | branding openSUSE MozillaFirefox | srcpackage i | MozillaFirefox-branding-openSUSE | branding openSUSE MozillaFirefox | pakiet | MozillaFirefox-branding-upstream | Marki upstream dla przeglądarki Firefox | pakiet | MozillaFirefox-buildsymbols | Symbole budujące Breakpad dla Firefoksa | pakiet | MozillaFirefox-devel | Pakiet Devel dla Firefoksa | pakiet | MozillaFirefox-translation-common | Typowe tłumaczenia dla przeglądarki Firefox | pakiet | MozillaFirefox-translation-other | Dodatkowe tłumaczenia dla Firefoksa | pakiet | mhtml-firefox | Zapewnia Firefox kompatybilność archiwum internetowego MHTML | srcpackage | mhtml-firefox | Zapewnia Firefox kompatybilność archiwum internetowego MHTML | pakiet 
Możemy zobaczyć, czego szukasz na liście repozytoriów, a następnie zaoferować wszystkie pakiety zawierające słowo firefox, ponieważ mam już zainstalowany firefox, pojawia się „i”, aby mnie odróżnić.
Możemy wyszukiwać wzorce lub grupy pakietów, na przykład możemy zainstalować wzór lampy, który zawiera php, apache i mariadb, widzimy, że zawiera on bardzo przydatny opis do automatyzacji instalacji.
 zypper info -t wzorzec lamp_server Ładowanie danych repozytorium ... Odczytywanie zainstalowanych pakietów ... Informacje dla wzorca lamp_server: --------------------------- --------- Repozytorium: openSUSE-13.2-Update Name: lamp_server Wersja: 20141007-5.1 Arch: x86_64 Producent: openSUSE Zainstalowany: Nie widoczny dla użytkownika: Tak Podsumowanie: Web and LAMP Server Description: Oprogramowanie do skonfigurowania serwer WWW, który może obsługiwać treści statyczne, dynamiczne i interaktywne (np. sklep internetowy). Obejmuje to serwer HTTP Apache, system zarządzania bazą danych MySQL oraz języki skryptowe, takie jak PHP, Python, Ruby on Rails lub Perl. Zawartość: S | Imię | Wpisz | Zależność - + ------------------------------- + --------- + ---- ------- | apache2-mod_php5 | pakiet | | php5-iconv | pakiet | i | wzorce-openSUSE-base | pakiet | i | apache2-prefork | pakiet | | php5-dom | pakiet | | php5-mysql | pakiet | i | apache2 | pakiet | | apache2-example-pages | pakiet | | mariadb | pakiet | | apache2-mod_perl | pakiet | | php5-ctype | pakiet | | apache2-doc | pakiet | | yast2-http-server | pakiet | | Wzory-openSUSE-lamp_server | pakiet | 

1.1 Użyj Zypper Shell


Podobnie jak mniam, możemy uruchomić powłokę zyppera, jeśli będziemy nad nią długo pracować.
 # zypper shell OR # zypper sh zypper> help Sposób użycia: zypper [--global-options] 

2 Zarządzanie repozytorium za pomocą Zypper
Możemy dodawać, usuwać aktualizacje i modyfikować oficjalne i zewnętrzne repozytoria systemu za pomocą Zypper.

2.1 Wykaz repozytoriów


Możemy wyświetlić Repozytoria za pomocą argumentu repos lub lr wyświetlana jest lista filtrowania według włączonego i jeśli są aktualizowane.
 # repozytorium zypper LUB # zypper lr [chroniony przez e-mail] : ~> zypper lr # | Alias ​​| Imię | Włączone | Kontrola GPG | Odśwież --- + ----------------------------- + --------------- ---------------------- + --------- + ----------- + ----- --- 1 | download.opensuse.org-4.4 | openSUSE BuildService - LibreOffice | Tak | (r) Tak | Tak 2 | download.opensuse.org-Apps | openSUSE BuildService - GNOME: Aplikacje | Tak | (r) Tak | Tak 3 | download.opensuse.org-Extra | openSUSE BuildService - KDE: Extra | Tak | (r) Tak | Tak 4 | download.opensuse.org-games | openSUSE BuildService - Gry | Tak | (r) Tak | Tak 5 | download.opensuse.org-oss | Główne repozytorium (źródła) Tak | (r) Tak | Tak 6 | ftp.gwdg.de-suse | Repozytorium Packmana | Tak | (r) Tak | Tak 7 | gry: narzędzia | gry: narzędzia | Tak | (r) Tak | Tak 8 | geeko.ioda.net-amd-fglrx | Sterowniki graficzne AMD / ATI | Tak | (r) Tak | Tak 9 | google-chrome | google-chrome | Tak | (r) Tak | Tak 10 | repozytorium libdvdcss | repozytorium libdvdcss | Tak | (r) Tak | Tak 11 | openSUSE-13.2-0 | openSUSE-13.2-0 | Nie | ---- | Tak 12 | repo-debugowanie | openSUSE-13.2-Debugowanie | Nie | ---- | Tak 13 | aktualizacja repo-debugowania | openSUSE-13.2-Aktualizacja-debugowanie | Nie | ---- | Tak 14 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Nie | ---- | Tak 15 | repo-non-oss | openSUSE-13.2-Non-Oss | Tak | (p) Tak | Tak 16 | repo-oss | openSUSE-13.2-Oss | Tak | (p) Tak | Tak 17 | repo-source | openSUSE-13.2-Źródło | Nie | ---- | Tak 18 | aktualizacja repo | openSUSE-13.2-Aktualizacja | Tak | (r) Tak | Tak 19 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Tak | (p) Tak | Tak 
W razie potrzeby możemy wyświetlić listę według idealnego identyfikatora URI, jeśli mamy lokalne repozytoria i chcemy je wspierać lub aktualizować.
 # zypper lr -u # | Alias ​​| Imię | Włączone | Odśwież | URI - + --------------------------- + ------------------ ------------------ + --------- + --------- + ----------- -------------------------------------------------- --- 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Tak | Nie | cd: ///? devices = / dev / disk / by-id / ata-VBOX_CD-ROM_VB2-01700376 2 | repo-debugowanie | openSUSE-13.2-Debugowanie | Tak | Tak | http://download.opensuse.org/debug/distribution/13.2/repo/oss/ 3 | aktualizacja repo-debugowania | openSUSE-13.2-Aktualizacja-debugowanie | Nie | Tak | http://download.opensuse.org/debug/update/13.2/ 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Nie | Tak | http://download.opensuse.org/debug/update/13.2-non-oss/ 5 | repo-non-oss | openSUSE-13.2-Non-Oss | Tak | Tak | http://download.opensuse.org/distribution/13.2/repo/non-oss/ 6 | repo-oss | openSUSE-13.2-Oss | Tak | Tak | http://download.opensuse.org/distribution/13.2/repo/oss/ 7 | repo-source | openSUSE-13.2-Źródło | Nie | Tak | http://download.opensuse.org/source/distribution/13.2/repo/oss/ 8 | aktualizacja repo | openSUSE-13.2-Aktualizacja | Tak | Tak | http://download.opensuse.org/update/13.2/ 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Tak | Tak | http://download.opensuse.org/update/13.2-non-oss/ 
Powinni wiedzieć, że repozytoria są obsługiwane według przykładu priorytetowego. Mamy pakiet mysql w lokalnej i oficjalnej REPO, aby zaoszczędzić przepustowość. Dobrą praktyką jest oferowanie wyższego priorytetu lokalnym REPO. Możemy wymienić REPO według priorytetu za pomocą -P
 # zypper lr -P # | Alias ​​| Imię | Włączone | Odśwież | Priorytet - + --------------------------- + ------------------ ------------------ + --------- + --------- + --------- 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Tak | Nie | 99 2 | repo-debugowanie | openSUSE-13.2-Debugowanie | Tak | Tak | 99 3 | aktualizacja repo-debugowania | openSUSE-13.2-Aktualizacja-debugowanie | Nie | Tak | 99 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Nie | Tak | 99 5 | repo-non-oss | openSUSE-13.2-Non-Oss | Tak | Tak | 85 6 | repo-oss | openSUSE-13.2-Oss | Tak | Tak | 99 7 | repo-source | openSUSE-13.2-Źródło | Nie | Tak | 99 8 | aktualizacja repo | openSUSE-13.2-Aktualizacja | Tak | Tak | 99 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Tak | Tak | 99 

2.2 Odświeżanie repozytoriów


Mamy globalne polecenie, aby odświeżyć wszystko w tym samym czasie lub opcję jednego w określonym
W przypadku chłodzenia wszyscy używamy ref lub odśwież
 # odświeżanie zypper LUB # zypper ref Repozytorium „openSUSE-13.2-0” jest aktualne. Repozytorium „openSUSE-13.2-Debug” jest aktualne. Repozytorium „openSUSE-13.2-Non-Oss” jest aktualne. Repozytorium „openSUSE-13.2-Oss” jest aktualne. Repozytorium „openSUSE-13.2-Update” jest aktualne. Repozytorium „openSUSE-13.2-Update-Non-Oss” jest aktualne. Wszystkie repozytoria zostały odświeżone. W przypadku chłodzenia konkretnego np. Repozytorium non-oss # zypper odświeżanie repo-non-oss Repozytorium „openSUSE-13.2-Non-Oss” jest aktualne. Określone repozytoria zostały odświeżone. 
Czasami zypper nie pozwala na odświeżenie za pomocą certyfikatów bezpieczeństwa, możemy w takim przypadku wymusić użycie -f
 # zypper ref -f repo-non-oss Wymuszanie odświeżania surowych metadanych Odzyskiwanie repozytorium „openSUSE-13.2-Non-Oss” metadane ...................... ...................................... [zrobione] Wymuszanie budowania pamięci podręcznej repozytorium Budowanie repozytorium 'openSUSE -13.2-Pamięć podręczna dla osób innych niż Oss .......................................... .................. [zrobione] Określone repozytoria zostały odświeżone. 

2.3 Modyfikuj repozytoria


Kiedy mówimy o modyfikowaniu, mam na myśli włączanie lub wyłączanie REPO lub modyfikację jego priorytetu przed modyfikacją dowolnego REPO, musimy wiedzieć, że w Zypper każde repozytorium ma unikalny identyfikator, którego można użyć do włączenia REPO, możemy go numerować za pomocą zypper lr.
 # zypper lr # | Alias ​​| Imię | Włączone | Odśwież - + --------------------------- + ------------------ ------------------ + --------- + -------- 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Tak | Nr 2 | repo-debugowanie | openSUSE-13.2-Debugowanie | Tak | Tak 3 | aktualizacja repo-debugowania | openSUSE-13.2-Aktualizacja-debugowanie | Nie | Tak 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Nie | Tak 5 | repo-non-oss | openSUSE-13.2-Non-Oss | Tak | Tak 6 | repo-oss | openSUSE-13.2-Oss | Nie | Tak 7 | repo-source | openSUSE-13.2-Źródło | Nie | Tak 8 | aktualizacja repo | openSUSE-13.2-Aktualizacja | Tak | Tak 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Tak | Tak 
W przypadku wyłączenia ID 6, którym byłoby Oss, używamy
 # zypper mr -d 6 Repozytorium 'repo-oss' zostało pomyślnie wyłączone. 
Aby włączyć to ponownie, używamy -e przykład
 # zypper mr -e 6 Repozytorium 'repo-oss' zostało pomyślnie włączone. 
Przechodzimy do bardziej zaawansowanych opcji, na przykład włączamy automatyczne odświeżanie i przypisujemy priorytet 85 repozytorium non-oss.
 # zypper mr -rk -p 85 repo-non-oss Priorytet repo-non-oss repozytorium nie został zmieniony (85) Nic nie trzeba zmieniać w repozytorium „repo-non-oss”. 
Lub możemy ograniczyć buforowanie wszystkich repozytoriów w przypadku braku miejsca.
 # zypper mr -Ka Buforowanie plików RPM zostało wyłączone dla repozytorium „openSUSE-13.2-0”. Buforowanie plików RPM zostało wyłączone dla repozytorium „repo-debug”. Buforowanie plików RPM zostało wyłączone dla repozytorium „repo-debug-update”. Buforowanie plików RPM zostało wyłączone dla repozytorium „repo-debug-update-non-oss”. Buforowanie plików RPM zostało wyłączone dla repozytorium „repo-non-oss”. Buforowanie plików RPM zostało wyłączone dla repozytoriów „repo-oss”. Buforowanie plików RPM zostało wyłączone dla repozytorium „repo-source”. Buforowanie plików RPM zostało wyłączone dla repozytorium „repo-update”. Buforowanie plików RPM zostało wyłączone dla repozytorium „repo-update-non-oss”. 
Jeśli chcemy je ponownie włączyć, używamy.
 # zypper mr -ka Buforowanie plików RPM zostało włączone dla repozytorium „openSUSE-13.2-0”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-debug”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-debug-update”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-debug-update-non-oss”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-non-oss”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-oss”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-source”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-update”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-update-non-oss”. 
Ale możemy nawet filtrować między repozytorium lokalnym i zdalnym i możliwe jest wyłączenie buforowania tylko repozytorium zdalnego.
 # zypper mr -Kt Buforowanie plików RPM zostało włączone dla repozytorium „repo-debug”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-debug-update”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-debug-update-non-oss”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-non-oss”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-oss”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-source”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-update”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-update-non-oss”. 
Aby je ponownie włączyć, używamy prawie tego samego argumentu, ale z małą literą K.
 # zypper mr -kt Buforowanie plików RPM zostało włączone dla repozytorium „repo-debug”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-debug-update”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-debug-update-non-oss”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-non-oss”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-oss”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-source”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-update”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-update-non-oss”. 

2.4 Dodawanie REPO za pomocą Zyppera


Dodamy repozytoria nie mylące z włączeniem, zaleca się dodanie REPO do bieżącej kontroli GPG, aby uniknąć ofiar ataków.
Zacznijmy od dodania oficjalnego REPO, ale ze starej wersji opensuse.
 # zypper ar http://download.opensuse.org/update/11.1/ update Dodawanie „aktualizacji” repozytorium ........................... .................................................. .................................................. .............................. [zrobione] Pomyślnie dodano „aktualizację” repozytorium Włączone: Tak Odświeżanie automatyczne: Nie Sprawdzanie GPG: Tak URI : http://download.opensuse.org/update/11.1/ 
Zauważ, że Zypper daje nam podsumowanie REPO po dodaniu opcji GPG.
W przypadku splątania się z podobnymi nazwami REPO możemy zmodyfikować ALIAS, aby móc go lepiej zidentyfikować, powiedzmy, że chcemy zmienić nazwę repo 10 na upd8, najpierw musimy znać jego identyfikator w moim przypadku to 10, a następnie uruchamiamy
 # zypper nr 10 upd8 „Aktualizacja” repozytorium zmieniona na „upd8”. 

2.5 Usuwanie repozytoriów


Do usunięcia używamy rr lub removerepo, po usunięciu REPO nie będziemy w stanie go odzyskać, nie wiedząc, że jego adres źródłowy jest tutaj ostrożny.
 # zypper rr upd8 # Usuwanie repozytorium 'upd8' ........................................ ................................................. [ gotowe] Repozytorium „upd8” zostało usunięte. 

3 Zarządzanie pakietami za pomocą Zypper
Dzięki Zypper możemy łatwiej wykonywać wiele funkcji RPM, porozmawiamy o całym zarządzaniu pakietami.

3.1 Zainstaluj pakiet z Zypper


Aby zainstalować nowy pakiet, którego używamy lub instalujemy, zrobimy przykład z przeglądarką Firefox.
 # zypper w MozillaFirefox Ładowanie danych repozytorium ... Odczytywanie zainstalowanych pakietów ... Rozwiązywanie zależności między pakietami ... Zainstalowane zostaną następujące 128 NOWE pakiety: adwaita-icon-theme at-spi2-atk-common at-spi2-atk -gtk2 at-spi2-core cantarell-fonts cups-libs desktop-file-utils fontconfig gdk-pixbuf-query-loaders gstreamer gstreamer-fluendo-mp3 gstreamer-plugins-base gtk2-branding-openSUSE gtk2-data gtk2-immodule-amharski gtk2-immodule-inuktitut gtk2-immodule-thai gtk2-immodule-wietnamski gtk2-metatheme-adwaita gtk2-theming-engine-adwaita gtk2-tools gtk3-data gtk3-metatheme-adwaita gtk3-icon hicolor-icon-icon hicolor-icon branding-branding-openSUSE libasound2 libatk-1_0-0 libatk-bridge-2_0-0 libatspi0 libcairo2 libcairo-gobject2 libcanberra0 libcanberra-gtk0 libcanberra-gtk2-moduł libcanberra-gtk3-0 libcanberra-gtk3-moduł libcanberra-moduł libcanberra-moduł libcdda_paranoia0 libcolord2 libdrm2 libdrm_intel1 libdrm_nouveau2 libdrm_radeon1 libFLAC8 libfreebl3 libgb m1 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 libgthreadt-2 -2_0-0 libgtk-3-0 libharfbuzz0 libjasper1 libjbig2 libjpeg8 libjson-c2 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-powiadomienie-1-0 libtheoradec1 libtheoraenc1 libtiff5 libvisual libvorbis0 libvorbisenc2 libvorbisfile3 libwayland-client0 libwayland-cursor0 libwayland-server0 libX11-xcb1 libxcb-dri2-0 libxcb-dri3-0 libxcb-lib3 -sync1 libxcb-util1 libxcb-xfixes0 libXcomposite1 libXcursor1 libXdamage1 libXevie1 libXfixes3 libXft2 libXi6 libXinerama1 libxkbcommon-0_4_3 tabela libXrandr2 libXrender1 libxshml1 1 libXax1 libXax1 libXax1 tabela libXa zillaFirefox MozillaFirefox-branding-openSUSE mozilla-nss mozilla-nss-certs PackageKit-gstreamer-plugin pango-tools sound-theme-freedesktop Następujące 10 poleconych pakietów zostało automatycznie wybranych: gstreamer-fluendo-mp3 gtk2-branding-openSUSE gtk2-data gtk2 -immodule-amharic gtk2-immodule-inuktitut gtk2-immodule-thai gtk2-immodule-wietnamski libcanberra0 libpulse0 PackageKit-gstreamer-plugin 128 nowych pakietów do zainstalowania. Całkowity rozmiar pliku do pobrania: 77, 2 MiB. Już buforowane: 0 B Po operacji zostanie użyte dodatkowe 200.0 MiB. Kontynuować? [t / n /? pokazuje wszystkie opcje] (y): y Pobieranie pakietu cantarell-fonts-0.0.16-1.1.noarch (1/128), 74, 1 KiB (115, 6 KiB rozpakowany) Pobieranie: cantarell-fonts-0.0.16-1.1.noarch.rpm .................................................. .................................................. ..................... [zrobione (63, 4 KiB / s)] Pobieranie pakietu hicolor-icon-theme-0.13-2.1.2.noarch (2/128), 40, 1 KiB (50, 5 KiB rozpakowane) Pobieranie: hicolor-icon-theme-0.13-2.1.2.noarch.rpm ......................... .................................................. .................................................. ...... [zrobione] Pobieranie pakietu sound-theme-freedesktop-0.8-7.1.2.noarch (3/128), 372, 6 KiB (460, 3 KiB rozpakowane) 
Możemy nawet zainstalować wersję konkretnego pakietu.
 # zypper w 'gcc <5.1' Ładowanie danych repozytorium ... Odczytywanie zainstalowanych pakietów ... Rozwiązywanie zależności między pakietami ... Zainstalowanych zostanie 13 nowych pakietów: cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1- gcc49 libisl10 libitm1-gcc49 libmpc3 libmpfr4 libtsan0-gcc49 13 nowych pakietów do zainstalowania. Całkowity rozmiar pliku do pobrania: 14, 5 MiB. Już buforowane: 0 B Po operacji zostanie wykorzystany dodatkowy 49, 4 MiB. Kontynuować? [t / n /? pokazuje wszystkie opcje] (y): i 
Ponieważ wiemy, że pakiety są wstępnie skompilowane dla kilku architektur, możemy zainstalować konkretną wersję, może być pomocne, jeśli mamy 64 bity, ale soft działa tylko pod 32 bitami, najlepiej jest zrobić PATH dla 32 bitów, a następnie zainstalować pakiet.
 # zypper w gcc.i586 Ładowanie danych repozytorium ... Odczytywanie zainstalowanych pakietów ... Rozwiązywanie zależności między pakietami ... Następujące 13 NOWYCH pakietów zostanie zainstalowanych: cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libmpc3 libmpfr4 libtsan0-gcc49 13 nowych pakietów do zainstalowania. Całkowity rozmiar pliku do pobrania: 14, 5 MiB. Już buforowane: 0 B Po operacji zostanie wykorzystany dodatkowy 49, 4 MiB. Kontynuować? [t / n /? pokazuje wszystkie opcje] (y): y Pobieranie pakietu libasan0-4.8.3 + r212056-2.2.4.x86_64 (1/13), 74, 2 KiB (166, 9 KiB rozpakowane) Pobieranie: libasan0-4.8.3 + r212056-2.2.4 .x86_64.rpm .............................................. .................................................. ....................... [zrobione (79, 2 KiB / s)] Pobieranie pakietu libatomic1-gcc49-4.9.0 + r211729-2.1.7.x86_64 ( 2/13), 14, 3 KiB (26, 1 KiB rozpakowane) Pobieranie: libatomic1-gcc49-4.9.0 + r211729-2.1.7.x86_64.rpm ................... .................................................. .......................................... [zrobione (55, 3 KiB / s) ] 
Aby zainstalować wersję i architekturę, której używamy.
 # zypper w 'gcc.i586 <5.1' Ładowanie danych repozytorium ... Odczytywanie zainstalowanych pakietów ... Rozwiązywanie zależności pakietów ...

...

.

Możliwe jest zainstalowanie określonego pakietu REPO. Na przykład poszukaj pakietu libxinel REPO amaroka pod kątem zgodności.
 # zypper in amarok upd: libxine1 Ładowanie danych repozytorium ... Odczytywanie zainstalowanych pakietów ... Rozwiązywanie zależności między pakietami ... Zainstalowane zostaną następujące 202 NOWE pakiety: amarok bundle-lang-kde-en clamz cups-libs enscript fontconfig gdk-pixbuf-query-loaders 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-system plików kdebdeb44 runt -runtime-branding-openSUSE kdelibs4 kdelibs4-branding-openSUSE kdelibs4-core kdialog libakonadi4 l ..... 
Do wyszukiwania można używać symboli wieloznacznych
 # zypper w php5 * Ładowanie danych repozytorium ... Odczytywanie zainstalowanych pakietów ... Rozwiązywanie zależności między pakietami ... Problem: php5-5.6.1-18.1.x86_64 wymaga smtp_daemon, ale tego wymogu nie można zapewnić odinstalowalnych dostawców: 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 [aktualizacja repo] Rozwiązanie 1: Zostaną wykonane następujące działania: nie instaluj php5-5.6.1-18.1.x86_64 nie instaluj php5-pear-Auth_SASL-1.0.6-7.1.3.noarch nie instaluj php5-pear-Horde_Http-2.0.1-6.1.3.noarch nie instaluje php5-pear-Horde_Image-2.0.1-6.1.3.noarch nie instaluje php5-pe ar-Horde_Kolab_Format-2.0.1-6.1.3.noarch nie instaluje php5-pear-Horde_Ldap-2.0.1-6.1.3.noarch nie instaluje php5-pear-Horde_Memcache-2.0.1-7.1.3.noarch do nie instaluj php5-pear-Horde_Mime-2.0.2-6.1.3.noarch nie instaluj php5-pear-Horde_Maut-2.0.0-6.1.3.noarch nie instaluj php5-pear-Horde_Pdf-2.0.1-6.1. 3. brak… 
Jak wspomniałem wcześniej, możliwe jest użycie grup, na przykład zainstalowanie całego stosu lampa-serwer
 # zypper in -t wzorzec lamp_server wyświetlanie danych repozytorium ... Odczytywanie zainstalowanych pakietów ... Rozwiązywanie zależności między pakietami ... Zainstalowanych zostanie 29 nowych pakietów: apache2 apache2-doc apache2-przykładowe strony apache2-mod_perl apache2- prefork patterns-openSUSE-lamp_server perl-Data-Dump perl-Kod-Locale perl-File-Listing perl-HTML-Parser perl-HTML-Tagset perl-HTTP-Pliki cookie perl-HTTP-Daemon perl-HTTP-Date perl-HTTP- Wiadomość perl-HTTP-Negotiate perl-IO-HTML perl-IO-Socket-SSL perl-libwww-perl perl-Linux-Pid perl-LWP-MediaTypes perl-LWP-Protocol-https perl-Net-HTTP perl-Net-SSLeay perl-Tie-IxHash perl-TimeDate perl-URI perl-WWW-RobotRules yast2-http-server Zostanie zainstalowany następujący NOWY wzór: serwer_serwera Automatycznie wybrano 10 zalecanych pakietów: apache2 apache2-doc apache2-example-pages apache2-mod_perl apache2-prefork perl-Data-Dump perl-IO-Socket-SSL perl-LWP-Protocol-https perl-TimeDate yast2-http-server 29 nowych pakietów do zainstalowania. Całkowity rozmiar pliku do pobrania: 7, 2 MiB. Już buforowane: 1, 2 MiB Po operacji zostaną wykorzystane dodatkowe 34, 7 MiB. Kontynuować? [t / n /? pokazuje wszystkie opcje] (y): 
Możliwą i przydatną opcją jest zainstalowanie nowego pakietu i usunięcie jego alternatywy, takiej jak instalacja nano i usunięcie vi.
 # zypper in nano -vi Ładowanie danych repozytorium ... Odczytywanie zainstalowanych pakietów ... '-vi' nie znaleziono w nazwach pakietów. Próbowanie możliwości Rozwiązywanie zależności między pakietami ... Zainstalowane zostaną 2 NOWE pakiety: nano nano-lang Następujący pakiet zostanie USUNIĘTY: vim Następujący zalecany pakiet został automatycznie wybrany: nano-lang 2 nowe pakiety do zainstalowania, 1 do usuń. Całkowity rozmiar pliku do pobrania: 550, 0 KiB. Już buforowane: 0 B Po operacji 463, 3 KiB zostanie zwolnione. Kontynuować? [t / n /? pokazuje wszystkie opcje] (y): ... 
Jeśli pobraliśmy pakiet RPM zewnętrznie i chcemy zainstalować zypper, aby rozwiązać jego zależności (zalecane), uruchamiamy
 zypper in teamviewer * .rpm Ładowanie danych repozytorium ... Odczytywanie zainstalowanych pakietów ... Rozwiązywanie zależności między pakietami ... Zainstalowane zostaną 24 nowe pakiety: 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 libxextix -32bit libXrandr2-32bit libXrender1-32bit libXtst6-32bit libz1-32bit teamviewer Następujący zalecany pakiet został automatycznie wybrany: alsa-oss-32bit 24 nowe pakiety do zainstalowania. Całkowity rozmiar pliku do pobrania: 41, 2 MiB. Już buforowane: 0 B Po operacji zostanie wykorzystane dodatkowe 119, 7 MiB. Kontynuować? [t / n /? pokazuje wszystkie opcje] (y): .. 

3.2 Usuń paczki za pomocą Zyppera


Aby usunąć pakiety, możemy użyć zypper remove lub po prostu rm, na przykład usuniemy pakiet apache2.
 # zypper remove apache2 Lub # zypper rm apache2 Ładowanie danych repozytorium ... Odczytywanie zainstalowanych pakietów ... Rozwiązywanie zależności między pakietami ... Następujące 2 pakiety zostaną USUNIĘTE: apache2 apache2-prefork 2 pakiety do usunięcia. Po operacji zostanie zwolnione 4, 2 MiB. Kontynuować? [t / n /? pokazuje wszystkie opcje] (y): y (1/2) Usuwanie apache2-2.4.10-19.1 ............................ ............................................ [zrobione] (2 / 2) Usuwanie apache2-prefork-2.4.10-19.1 ...................................... .......................... [zrobione] 

3.3 Aktualizuj pakiety za pomocą Zyppera


Możemy użyć uniwersalnego polecenia zypper up, aby zaktualizować wszystko.
 # zypper up LUB # aktualizacja zypper Ładowanie danych repozytorium ... Odczytywanie zainstalowanych pakietów ... Nic nie robić. 
Lub zaktualizuj tylko jeden konkretny pakiet, idealny w kontrolowanym środowisku produkcyjnym.
 # zypper up apache2 openssh Ładowanie danych repozytorium ... Odczytywanie zainstalowanych pakietów ... Brak kandydata na aktualizację dla 'apache2-2.4.10-19.1.x86_64'. Najwyższa dostępna wersja jest już zainstalowana. Brak kandydata do aktualizacji dla „openssh-6.6p1-5.1.3.x86_64”. Najwyższa dostępna wersja jest już zainstalowana. Rozwiązywanie zależności pakietów ... Nic nie robić. 
Za każdym razem, gdy uruchamiamy program zypper, sprawdź, czy pakiet jest zainstalowany, jeśli jest, sprawdź, czy jest zaktualizowany.
 # zypper in mariadb Ładowanie danych repozytorium ... Odczytywanie zainstalowanych pakietów ... 'mariadb' jest już zainstalowany. Brak kandydata do aktualizacji dla „mariadb-10.0.13-2.6.1.x86_64”. Najwyższa dostępna wersja jest już zainstalowana. Rozwiązywanie zależności pakietów ... Nic nie robić. 
Jeśli mamy problemy podczas instalowania pakietu, co jest bardzo rzadkie, możemy spróbować zainstalować bezpośrednio ze źródła w stylu arch Linux. Używamy zypper source-install lub zypper tak.
 # zypper si mariadb Odczytywanie zainstalowanych pakietów ... Ładowanie danych repozytorium ... Rozwiązywanie zależności pakietów ... Następujące 36 NOWYCH pakietów zostanie zainstalowanych: 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-gcc config tack tcpd-devel zlib-devel Zostanie zainstalowany następujący pakiet źródłowy: mariadb 36 nowych pakietów do zainstalowania, 1 pakiet źródłowy. Całkowity rozmiar pliku do pobrania: 71, 5 MiB. Już buforowane: 129, 5 KiB Po operacji zostanie wykorzystane dodatkowe 183, 9 MiB. Kontynuować? [t / n /? pokazuje wszystkie opcje] (y): i 

4 Użyj Zyppera w skryptach automatycznych.
Wszystkie powyższe polecenia wymagają interakcji użytkownika i nie możemy dodawać ich do skryptów, ale nie martw się, porozmawiamy o dostępnych opcjach.

4.1 Zainstaluj pakiet dla skryptów.


Korzystamy z opcji --non-interactive. Kontynuujemy na przykładzie mariadb.
 # zypper --non-interactive in mariadb Ładowanie danych repozytorium ... Odczytywanie zainstalowanych pakietów ... 'mariadb' jest już zainstalowany. Brak kandydata do aktualizacji dla „mariadb-10.0.13-2.6.1.x86_64”. Najwyższa dostępna wersja jest już zainstalowana. Rozwiązywanie zależności pakietów ... Nic nie robić. 

4.2 Usuń pakiet skryptów.


Używamy tej samej opcji, ale z rm.
 # zypper --non-interactive rm mariadb Loading repository data... Reading installed packages... Resolving package dependencies... The following package is going to be REMOVED: mariadb 1 package to remove. After the operation, 71.8 MiB will be freed. Kontynuować? [y/n/? shows all options] (y): y (1/1) Removing mariadb-10.0.13-2.6.1 .............................................................................[done] 

5 Limpiar cache con Zypper
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. 

6 Actualizar Distro Usando Zypper
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] 

  • 0