Jak korzystać z Zyppera z Opensuse i Suse

Kontynuujemy z menedżerami pakietów najważniejszych dystrybucji w sektorze serwerów, tym razem porozmawiamy Zipper to działa z RPM i został stworzony przez SuSE dla Twoich prywatnych i publicznych dystrybucji, jakie są SLE i Opensuse.
W osobisty sposób Zipper Myślę, że jest jednym z najlepszych menedżerów, jakie istnieją dzisiaj. Suse włożył wiele wysiłku w Yast i Zypper oferując 2 bardzo stabilne i łatwe w użyciu produkty, co prawda w przeszłości Zypper miał wiele problemów z zależnościami, ale to już koniec i daje znakomitą wydajność.
1 Jak używać Zippera.
Zaczniemy od najbardziej podstawowego, jeśli uruchomimy polecenie bez żadnego argumentu, zaoferuje nam podstawowe streszczenie, jak go używać i listę wszystkich opcji globalnych, nie bójcie się ilością opcji, które zajmę się wyjaśnieniem najbardziej przydatne.
 jcarrillo @ linux-bp4q: ~> zypper Sposób użycia: zypper [--opcje-globalne] [--opcje-komendy] [argumenty] Opcje globalne: --help, -h Pomoc. --version, -V Wypisuje numer wersji. --promptids Wyświetla 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 Pomija normalne wyjście, wyświetla tylko komunikaty o błędach. --verbose, -v Zwiększa szczegółowość. - [no-] color Określa, czy używać kolorów na wyjściu, jeśli tty je obsługuje. --no-abbrev, -A Nie skracaj tekstu w tabelach. --table-style, -s Styl tabeli (liczba całkowita). --non-interactive, -n Nie pytaj o nic, używaj domyślnych odpowiedzi automatycznie. --non-interactive-include-reboot-patches Nie traktuj łat jako interaktywnych, które mają ustawioną flagę rebootSuggested-. --xmlout, -x Przełącz na wyjście XML. --ignore-unknown, -i Ignoruj ​​nieznane pakiety. --reposd-dir, -D Użyj alternatywnego katalogu z plikami definicji repozytorium. --cache-dir, -C Użyj alternatywnego katalogu dla wszystkich pamięci podręcznych. --raw-cache-dir Użyj alternatywnego katalogu pamięci podręcznej surowych metadanych. --solv-cache-dir Użyj alternatywnego katalogu pamięci podręcznej plików solv. --pkg-cache-dir Użyj alternatywnego katalogu pamięci podręcznej pakietów.
Jeśli potrzebujemy pomocy dla argumentu, na przykład install, używamy.
 jcarrillo @ linux-bp4q: ~> pomoc zyppera w instalacji (in) [opcje]… Zainstaluj pakiety z określonymi możliwościami lub pliki RPM o określonej lokalizacji. Zdolnością jest NAZWA [.ŁUK] [OP], gdzie OP jest jednym z <, =,>. Opcje polecenia: --from Wybierz pakiety z określonego repozytorium. -r, --repo Załaduj tylko określone repozytorium. -t, --type Typ pakietu (pakiet, łatka, wzorzec, produkt, srcpackage). Domyślnie: pakiet. -n, --name Wybiera pakiety według zwykłej nazwy, a nie według możliwości. -C, --capability Wybiera pakiety według możliwości. -f, --force Instaluj, nawet jeśli element jest już zainstalowany (ponowna instalacja), obniżony lub zmienił dostawcę lub architekturę. --oldpackage Pozwala na zastąpienie nowszej pozycji starszą. Przydatne, jeśli robisz wycofanie. W przeciwieństwie do --force nie wymusza ponownej instalacji. --replacefiles Instaluje pakiety, nawet jeśli zastępują pliki z innych, już zainstalowanych pakietów. Domyślnie konflikty plików są traktowane jako błąd. --pobierz-w razie potrzeby wyłącza konflikt plików… 
Aby wyszukać pakiet użyjemy opcji se lub search użyjemy przykładu Firefox.
 jcarrillo @ linux-bp4q: ~> zypper se firefox Ładowanie danych repozytorium… Odczytywanie zainstalowanych pakietów… S | Nazwa | Podsumowanie | Typ - + ------------------------------------ + --------- - ---------------------------------------------- + --- - -------- i | Firefox | Przeglądarka internetowa | aplikacja | Mozilla Firefox | Przeglądarka internetowa Mozilla Firefox | srcpakiet i | Mozilla Firefox | Przeglądarka internetowa Mozilla Firefox | pakiet | MozillaFirefox-branding-openSUSE | branding openSUSE MozillaFirefox | srcpakiet i | MozillaFirefox-branding-openSUSE | branding openSUSE MozillaFirefox | pakiet | MozillaFirefox-branding-upstream | Branding nadrzędny dla Firefoksa | pakiet | MozillaFirefox-buildsymbols | Symbole budowania Breakpad dla Firefoksa | pakiet | Mozilla Firefox-devel | Pakiet deweloperski dla Firefoksa | pakiet | MozillaFirefox-tłumaczenia-wspólne | Popularne tłumaczenia Firefoksa | pakiet | MozillaFirefox-tłumaczenia-inne | Dodatkowe tłumaczenia dla Firefoksa | pakiet | mhtml-firefox | Zapewnia Firefoxowi kompatybilność z archiwum internetowym MHTML | pakiet src | mhtml-firefox | Zapewnia Firefoxowi kompatybilność z archiwum internetowym MHTML | pakiet
Widzimy, że przeszukuje listę repozytoriów, a następnie oferuje wszystkie pakiety zawierające słowo firefox, ponieważ mam już zainstalowany firefox, a „i” wydaje się odróżniać.
Możemy wyszukiwać wzorce lub grupy pakietów, na przykład możemy zainstalować wzorzec lamp zawierający php, apache i mariadb, widzimy, że zawiera bardzo przydatny opis do automatyzacji instalacji.
 zypper info -t pattern lamp_server Ładowanie danych repozytorium… Odczytywanie zainstalowanych pakietów… Informacje dla pattern lamp_server: ------------------------------- ----- Repozytorium: openSUSE-13.2-Nazwa aktualizacji: lamp_server Wersja: 20141007-5.1 Arch: x86_64 Dostawca: openSUSE Zainstalowane: Nie Widoczne dla użytkownika: Tak Podsumowanie: Serwer WWW i LAMP Opis: Oprogramowanie do konfiguracji serwera WWW, który potrafi obsługiwać treści statyczne, dynamiczne i interaktywne (np. sklep internetowy). Obejmuje to Apache HTTP Server, system zarządzania bazą danych MySQL oraz języki skryptowe, takie jak PHP, Python, Ruby on Rails czy Perl. Zawartość: S | Nazwa | Wpisz | Zależność - + ------------------------------- + --------- + ---- - ------ | apache2-mod_php5 | pakiet | | ikona php5 | pakiet | ja | pattern-openSUSE-base | pakiet | ja | apache2-prefork | pakiet | | php5-dom | pakiet | | php5-mysql | pakiet | ja | Apache2 | pakiet | | apache2-przykładowe-strony | pakiet | | mariadb | pakiet | | apache2-mod_perl | pakiet | | php5-ctype | pakiet | | apache2-doc | pakiet | | yast2-serwer http | pakiet | | pattern-openSUSE-lamp_server | pakiet | 

1.1 Użyj powłoki Zipper


Jak mniam możemy rzucić Powłoka na zamek błyskawiczny jeśli będziemy z nim długo pracować.
 # zypper shell LUB # zypper sh zypper> help Sposób użycia: zypper [--global-options]
2 Zarządzanie repozytoriami za pomocą Zypper
Możemy dodawać, usuwać, aktualizować i modyfikować oficjalne i zewnętrzne repozytoria systemowe za pomocą Zyppera.

2.1 Repozytoria aukcji


Możemy wyświetlić listę repozytoriów za pomocą argumentu repos lub lr a lista jest wyświetlana z filtrowaniem według włączonych i czy są aktualizowane.
 # zypper lr LUB # zypper lr jcarrillo @ linux-bp4q: ~> zypper lr # | Alias ​​| Nazwa | Włączone | Kontrola GPG | Odśwież --- + ----------------------------- + --------------- ----------- + --------- + ----------- + ----- --- 1 | download.opensuse.org-4.4 | openSUSE BuildService - LibreOffice | Tak | (r) Tak | Tak 2 | download.opensuse.org-Aplikacje | openSUSE BuildService - GNOME: Aplikacje | Tak | (r) Tak | Tak 3 | download.opensuse.org-Extra | openSUSE BuildService - KDE: Dodatkowe | Tak | (r) Tak | Tak 4 | download.opensuse.org-games | openSUSE BuildService - Gry | Tak | (r) Tak | Tak 5 | download.opensuse.org-oss | Repozytorium główne (ź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 | debugowanie repozytorium | openSUSE-13.2-Debug | Nie ---- | Tak 13 | repo-debug-update | openSUSE-13.2-Aktualizacja-Debug | Nie ---- | Tak 14 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Nie ---- | Tak 15 | repo-nie-oss | openSUSE-13.2-Non-Oss | Tak | (p) Tak | Tak 16 | repo-oss | openSUSE-13.2-Oss | Tak | (p) Tak | Tak 17 | repo-źródło | 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-Aktualizacja bez Oss | Tak | (p) Tak | I to jest
W razie potrzeby możemy wyświetlić listę według idealnego URI, jeśli mamy lokalne repozytoria i chcemy wykonać kopię zapasową lub zaktualizować.
 # zypper lr -u # | Alias ​​| Nazwa | Włączone | Odśwież | URI - + --------------------------- + ------------------ - ----------------- + --------- + --------- + ----------- - -------------------------------------------------- - -- 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Tak | Nie cd: ///?urządzenia = / dev / dysk / by-id / ata-VBOX_CD-ROM_VB2-01700376 2 | debugowanie repozytorium | openSUSE-13.2-Debug | Tak | Tak | http://download.opensuse.org/debug/distribution/13.2/repo/oss/ 3 | repo-debug-update | openSUSE-13.2-Update-Debug | 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-nie-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-źródło | 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-Aktualizacja bez Oss | Tak | Tak | http://download.opensuse.org/update/13.2-non-oss/ 
Powinni wiedzieć, że repozytoria są zarządzane według priorytetów, na przykład mamy pakiet mysql w lokalnym i oficjalnym REPO, aby zaoszczędzić przepustowość, dobrą praktyką jest oferowanie wyższego priorytetu lokalnym REPO. Możemy wylistować REPO według priorytetu za pomocą -P
 # zypper lr -P # | Alias ​​| Nazwa | Włączone | Odśwież | Priorytet - + --------------------------- + ------------------ - ----------------- + --------- + --------- + --------- 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Tak | Nie 99 2 | debugowanie repozytorium | openSUSE-13.2-Debug | Tak | Tak | 99 3 | repo-debug-update | openSUSE-13.2-Update-Debug | Nie Tak | 99 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Nie Tak | 99 5 | repo-nie-oss | openSUSE-13.2-Non-Oss | Tak | Tak | 85 6 | repo-oss | openSUSE-13.2-Oss | Tak | Tak | 99 7 | repo-źródło | 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-Aktualizacja bez Oss | Tak | Tak | 99 

2.2 Odświeżanie repozytoriów


Mamy globalne polecenie odświeżenia wszystkich jednocześnie lub opcję konkretnego
W przypadku odświeżania wszyscy używamy ref lub refresh
 # zypper refresh 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 odświeżenia konkretnego, na przykład Non-oss # zypper refresh 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 po certyfikatach bezpieczeństwa, które możemy w takim przypadku wymusić za pomocą -f
 # zypper ref -f repo-non-oss Wymuszanie odświeżania surowych metadanych Pobieranie metadanych repozytorium 'openSUSE-13.2-Non-Oss'… [done] Wymuszanie budowania pamięci podręcznej repozytorium Budowanie repozytorium 'openSUSE-13.2-Non-Oss' pamięci podręcznej… [done] 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 modyfikowanie jego priorytetu przed modyfikacją dowolnego REPO, musimy wiedzieć, że w Zypper każde repozytorium ma unikalny identyfikator, który jest używany do włączenia REPO, możemy podać jego numer za pomocą zypper lr .
 # zamek błyskawiczny # | Alias ​​| Nazwa | Włączone | Odśwież - + --------------------------- + ------------------ - ----------------- + --------- + -------- 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Tak | Nr 2 | debugowanie repozytorium | openSUSE-13.2-Debug | Tak | Tak 3 | repo-debug-update | openSUSE-13.2-Update-Debug | Nie Tak 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Nie Tak 5 | repo-nie-oss | openSUSE-13.2-Non-Oss | Tak | Tak 6 | repo-oss | openSUSE-13.2-Oss | Nie Tak 7 | repo-źródło | 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-Aktualizacja bez Oss | Tak | I to jest
W przypadku wyłączenia ID 6, czyli Oss, używamy
 # zypper mr -d 6 Repozytorium 'repo-oss' zostało pomyślnie wyłączone.
Aby włączyć go 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 do repo non-oss.
 # zypper mr -rk -p 85 repo-non-oss Priorytet repozytorium 'repo-non-oss' pozostał niezmieniony (85) Nic nie można zmienić dla repozytorium 'repo-non-oss'.
Lub możemy ograniczyć buforowanie wszystkich repo w przypadku, gdy brakuje nam 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 repozytorium „repo-oss”. Buforowanie plików RPM zostało wyłączone dla repozytorium „źródło-repo”. Buforowanie plików RPM zostało wyłączone w przypadku aktualizacji repozytorium. Buforowanie plików RPM zostało wyłączone dla repozytorium „repo-update-non-oss”.
W przypadku, gdy chcemy je ponownie włączyć, używamy.
 # zypper mr -ka Włączono buforowanie plików RPM 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 „źródło-repo”. Buforowanie plików RPM zostało włączone dla „aktualizacji repozytorium”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-update-non-oss”.
Ale możemy nawet filtrować między lokalnym i zdalnym repozytorium i możliwe jest wyłączenie buforowania tylko zdalnego repozytorium.
 # 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 „źródło-repo”. Buforowanie plików RPM zostało włączone dla „aktualizacji repozytorium”. 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 K małymi literami.
 # 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 „źródło-repo”. Buforowanie plików RPM zostało włączone dla „aktualizacji repozytorium”. Buforowanie plików RPM zostało włączone dla repozytorium „repo-update-non-oss”.

2.4 Dodawanie REPO za pomocą Zypper


Zamierzamy dodać repozytoria, nie myl z włączaniem, wskazane jest dodanie REPO z aktualnym sprawdzaniem GPG, aby uniknąć ataków.
Zacznijmy od dodania oficjalnego REPO, ale ze starej wersji Opensuse.
 # zypper ar http://download.opensuse.org/update/11.1/ update Dodawanie repozytorium 'update'… [done] Repozytorium 'update' zostało pomyślnie dodane Włączone: Tak Automatyczne odświeżanie: Brak kontroli GPG: Tak URI: http: // download.opensuse.org/update/11.1/
Zauważ, że Zypper daje nam podsumowanie REPO po ważnym dodaniu opcji GPG.
W przypadku zaplątania się w podobne nazwy REPO, możemy zmodyfikować jego ALIAS, aby lepiej go 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 Zmieniono nazwę repozytorium 'update' na 'upd8'.

2.5 Usuwanie repozytoriów


Do usunięcia używamy rr lub removerepo, po usunięciu REPO nie będziemy mogli go odzyskać bez znajomości jego adresu źródłowego, bądź ostrożny tutaj.
 # zypper rr upd8 # Usuwanie repozytorium 'upd8'… [done] Repozytorium 'upd8' zostało usunięte. 
3 Zarządzanie pakietami za pomocą Zipper
Dzięki Zypperowi możemy ułatwić wiele funkcji RPM, porozmawiamy o całym zarządzaniu pakietami.

3.1 Zainstaluj pakiet za pomocą Zypper


Aby zainstalować nowy pakiet, którego używamy lub zainstalować, zrobimy przykład z przeglądarką firefox.
 # zypper w MozillaFirefox Ładowanie danych repozytorium… Odczytywanie zainstalowanych pakietów… Rozwiązywanie zależności pakietów… Zostanie zainstalowanych 128 NOWYCH pakietów: 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-immutodule-inuktit - immodule-thai gtk2-immodule-wietnamski gtk2-metatheme-adwaita gtk2-theming-engine-adwaita gtk2-tools gtk3-data gtk3-metatheme-adwaita gtk3-tools hicolor-icon-theme hicolor-icon-theme-branding-openSUSE2 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-gtk-moduł0libcanberra-gtk0 libcanberra-gtk2-moduł libcanberra-gtk3-0 libcanberra-gtk3-moduł libcanberra-gtk3-0 libcanberra-gtk3-moduł libcanberra-gtk-module-commonautel0cddacol_interface1 libdrano_drum_ordrano02_db_interface libFLAC8 libfreebl3 libgbm1 lib gdk_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 libgtread 2_0-0 libgtreamer 2_0-0 libgtk-3-0 libharfbuzz0 libjasper1 libjbig2 libjpeg.webp8 libjson C2 liblcms2-2 libLLVM libltdl7 libnsssharedhelper0 libogg0 liborc-0_4-0 libpackagekit-glib2-18 libpango-1_0pix3-0 libpciasccess0 libfpulto1_0pix1-0 libpciasccess0 libilepulto1_0pix1-0 libpciasccess0 libfpulto1_0pix1-0 libpciasccess0 libfpulto 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-glbx0 libcx present0 libxcb-glbx0 libcx renderowanie sync1 libxcb-util1 libxcb-xfixes0 libXcomposite1 libXcursor1 libXdamage1 libXevie1 libXfixes3 libXft2 libXi6 libXinerama1 libxkbcommon-0_4_3 libXrandr2 libXrender1 libxshmfence1 libXtst6 tablefXvm libthemetaxGL0 Tablewamex-GL86 wspólny tablewa-GL0M Mesapiillax1-MesagGL086 libitamex-GLM0 Mesa irefox MozillaFirefox-branding-openSUSE mozilla-nss mozilla-nss-certs PackageKit-gstreamer-plugin pango-tools sound-theme-freedesktop Automatycznie wybrano 10 zalecanych pakietów: 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 pobierania: 77,2 MiB. Już zbuforowane: 0 B Po operacji zostanie wykorzystane dodatkowe 200,0 MiB. Kontyntynuj? [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 ….[Gotowe (63.4 KiB/s)] Pobieranie pakietu hicolor-icon-theme-0.13-2.1.2.noarch (2/128), 40.1 KiB (50.5 KiB rozpakowany) Pobieranie: hicolor-icon-theme-0.13-2.1 .2.noarch.rpm… [done] Pobieranie pakietu sound-theme-freedesktop-0.8-7.1.2.noarch (3/128), 372.6 KiB (460,3 KiB rozpakowany)
Możemy nawet zainstalować wersję konkretnego pakietu.
 # zypper w 'gcc <5.1' Ładowanie danych repozytorium… Odczytywanie zainstalowanych pakietów… Rozwiązywanie zależności pakietów… Zostanie zainstalowanych 13 NOWYCH pakietów: cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libmp.webpc libmp.webpfr4 libtsan0-gcc49 13 nowych pakietów do zainstalowania. Całkowity rozmiar pobierania: 14,5 MiB. Już zbuforowane: 0 B Po operacji zostanie wykorzystane dodatkowe 49,4 MiB. Kontyntynuj? [t / n /? pokazuje wszystkie opcje] (y): y 
Ponieważ wiemy, że pakiety są wstępnie skompilowane dla różnych architektur, możemy zainstalować konkretną wersję, może to być pomocne, jeśli mamy 64 bity, ale soft działa tylko pod 32 bitami, najlepiej 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… Zostanie zainstalowanych 13 NOWYCH pakietów: cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libmfr43 -gcc49 libmp.webpc3 libmp.webpfr4 -gcc49 13 nowych pakietów do zainstalowania. Całkowity rozmiar pobierania: 14,5 MiB. Już zbuforowane: 0 B Po operacji zostanie wykorzystane dodatkowe 49,4 MiB. Kontyntynuj? [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 rozpakowany) Pobieranie: libasan0-4.8.3 + r212056-2.2.4 .x86_64.rpm… [wykonano (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 bez opakowania) Pobieranie: libatomic1-gcc49- 4.9.0 + r211729-2.1.7.x86_64.rpm… [wykonano (55,3 KiB / s)]
Aby zainstalować wersję i architekturę, której używamy.
 # zypper in 'gcc.i586 <5.1' Ładowanie danych repozytorium… Odczytywanie zainstalowanych pakietów… Rozwiązywanie zależności pakietów…….
Istnieje możliwość zainstalowania pakietu z konkretnego REPO. Przykład Będę szukał pakietu libxinel z amarok REPO dla lepszej kompatybilności.
 # zypper in amarok upd: libxine1 Ładowanie danych repozytorium… Odczytywanie zainstalowanych pakietów… Rozwiązywanie zależności pakietów… Zostanie zainstalowanych 202 NOWYCH pakietów: amarok bundle-lang-kde-en clamz cups-libs enscript fontconfig gdk-pixbuf-query- loadery ghostscript-fonts-std gptfdisk gstreamer gstreamer-plugins-base hicolor-icon-theme hicolor-icon-theme-branding-openSUSE htdig hunspell narzędzia-hunspell icoutils ispell ispell-american kde4-filesystem kdebase4-runtime kdebase4-runtime-branding-openS - kdelibs4 kdelibs4-branding-openSUSE kdelibs4-core kdialog libakonadi4 l… 
W wyszukiwaniu 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 wymagania nie można zapewnić dostawców odinstalowujących: 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- aktualizacja] 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 instaluj php5-pear-Horde_Image-2.0.1-6.1.3.noarch nie instaluj php5-pear-Hor de_Kolab_Format-2.0.1-6.1.3.noarch nie instaluj php5-pear-Horde_Ldap-2.0.1-6.1.3.noarch nie instaluj php5-pear-Horde_Memcache-2.0.1-7.1.3.noarch nie instaluj php5-pear-Horde_Mime-2.0.2-6.1.3.noarch nie instaluj php5-pear-Horde_Oauth-2.0.0-6.1.3.noarch nie instaluj php5-pear-Horde_Pdf-2.0.1-6.1.3. noarcha….
Jak wspomniałem wcześniej możliwe jest użycie grup na przykład do zainstalowania całego stosu lamp-serwer
 # zypper in -t pattern lamp_server dodawanie danych repozytorium… Odczytywanie zainstalowanych pakietów… Rozwiązywanie zależności pakietów… Zostanie zainstalowanych 29 NOWYCH pakietów: apache2 apache2-doc apache2-przykładowe strony apache2-mod_perl apache2-prefork pattern-openSUSE-lamp_server Perl-Data-Dump Perl-Encode-Locale Perl-File-Listing Perl-HTML-Parser Perl-HTML-Tagset Perl-HTTP-Cookies Perl-HTTP-Daemon Perl-HTTP-Data Perl-HTTP-Komunikat perl-HTTP-Negocjacje 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 wzorzec: lamp_server Automatycznie wybrano następujące 10 zalecanych pakietów: apache2 apache2-doc apache2-przykładowe strony 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 pobierania: 7,2 MB. Już zbuforowane: 1,2 MiB Po operacji zostanie wykorzystane dodatkowe 34,7 MiB. Kontyntynuj? [t / n /? pokazuje wszystkie opcje] (i):
Jedną z możliwych i użytecznych opcji jest zainstalowanie nowego pakietu i usunięcie jego alternatywy, np. zainstalowanie nano i usunięcie vi.
 # zypper in nano -vi Ładowanie danych repozytorium… Odczytywanie zainstalowanych pakietów… Nie znaleziono „-vi” w nazwach pakietów. Próbowanie możliwości. Rozwiązywanie zależności między pakietami… Zostaną zainstalowane następujące 2 NOWE pakiety: nano nano-lang Następujący pakiet zostanie USUNIĘTY: vim Następujący zalecany pakiet został wybrany automatycznie: nano-lang 2 nowe pakiety do zainstalowania, 1 do usunięcia. Całkowity rozmiar pobierania: 550,0 KiB. Już zbuforowane: 0 B Po operacji zwolnione zostanie 463,3 KiB. Kontyntynuj? [t / n /? pokazuje wszystkie opcje] (i):… 
Jeśli pobraliśmy pakiet RPM z zewnątrz i chcemy zainstalować z zypperem, aby rozwiązać jego zależności (zalecane) uruchamiamy
 zypper w teamviewer * .rpm Ładowanie danych repozytorium… Odczytywanie zainstalowanych pakietów… Rozwiązywanie zależności pakietów… Zostaną zainstalowane następujące 24 NOWE pakiety: alsa-oss-32bit fontconfig-32bit libasound2-32bit libexpat1-32bit libfreetype6-32bit libgcc_s1-gcc49- 32-bitowa libICE6-32bitowa libjpeg.webp62-32bitowa libpng12-0-32bitowa libpng16-16-32bitowa libSM6-32bitowa libuuid1-32bitowa libX11-6-32bitowa libXau6-32bitowa libxcb1-32bitowa libXdamage1-32bitowa libXext6-32bit-32bitramaX32bit-32bit-libender-libender libXtst6-32bit libz1-32bit teamviewer Następujący zalecany pakiet został wybrany automatycznie: alsa-oss-32bit 24 nowe pakiety do zainstalowania. Całkowity rozmiar pobierania: 41,2 MiB. Już zbuforowane: 0 B Po operacji zostanie wykorzystane dodatkowe 119,7 MiB. Kontyntynuj? [t / n /? pokazuje wszystkie opcje] (i):… 

3.2 Usuń pakiety za pomocą Zipper


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. Kontyntynuj? [t / n /? pokazuje wszystkie opcje] (y): y (1/2) Usuwanie apache2-2.4.10-19.1… [done] (2/2) Usuwanie apache2-prefork-2.4.10-19.1…. [done] 

3.3 Aktualizuj pakiety za pomocą Zypper


Możemy użyć uniwersalnego polecenia zypper up, aby zaktualizować wszystko.
 # zypper up LUB # zypper update Ładowanie danych repozytorium… Odczytywanie zainstalowanych pakietów… Nic do zrobienia.
Lub uaktualnij tylko określony 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 na aktualizację 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 do zrobienia.
Za każdym razem, gdy uruchamiamy zyppera, sprawdza on, czy pakiet jest zainstalowany, jeśli jest zainstalowany, sprawdza, czy jest zaktualizowany.
 # zypper in mariadb Ładowanie danych repozytorium… Odczytywanie zainstalowanych pakietów… 'mariadb' jest już zainstalowany. Brak kandydata na aktualizację 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 do zrobienia.
Jeśli mamy problemy z instalacją pakietu, co jest bardzo rzadkie, możemy spróbować zainstalować bezpośrednio ze źródeł w najczystszym stylu arch linux. Używamy zypper source-install lub zypper si.
 # zypper si mariadb Odczytywanie zainstalowanych pakietów… Ładowanie danych repozytorium… Rozwiązywanie zależności pakietów… Zostanie zainstalowanych 36 NOWYCH pakietów: 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 libmp.webpc3 libmp.webpfr4 libopenssl-devel libstdc ++ 48-devel libtool libcc-de-de-vel devel zcib config tavel-devel zcib site config-devel-devel-devel-devel -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 pobierania: 71,5 MiB. Już zbuforowane: 129,5 KiB Po operacji zostanie wykorzystane dodatkowe 183,9 MiB. Kontyntynuj? [t / n /? pokazuje wszystkie opcje] (y): y
4 Użyj Zyppera w zautomatyzowanych skryptach.
Wszystkie poprzednie polecenia wymagają interakcji użytkownika i nie będziemy mogli dodawać ich do skryptów, ale nie martw się, porozmawiamy o dostępnych opcjach.

4.1 Zainstaluj pakiet skryptów.


Używamy opcji --non-interactive i będziemy kontynuować przykład mariadb.
 # zypper --non-interactive w mariadb Ładowanie danych repozytorium… Odczytywanie zainstalowanych pakietów… 'mariadb' jest już zainstalowany. Brak kandydata na aktualizację 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 do zrobienia.

4.2 Usuń pakiet ze skryptami.


Używamy tej samej opcji, ale z rm.
 # zypper --non-interactive rm mariadb Ładowanie danych repozytorium… Odczytywanie zainstalowanych pakietów… Rozwiązywanie zależności pakietów… Następujący pakiet zostanie USUNIĘTY: mariadb 1 pakiet do usunięcia. Po operacji zwolnione zostanie 71,8 MiB. Kontyntynuj? [t / n /? pokazuje wszystkie opcje] (y): y (1/1) Usuwanie mariadb-10.0.13-2.6.1… [wykonane] 
5 Wyczyść pamięć podręczną za pomocą Zipper
Domyślnie zypper ma limit pamięci podręcznej, gdy ten limit osiągnie szczyt, nowa pamięć podręczna zastępuje starą, ale jeśli mamy problemy z zainstalowaniem pakietu, może on być uszkodzony w momencie pobierania i zaleca się wyczyszczenie pamięci podręcznej.

5.1 Wyczyść pamięć podręczną REPO


Tutaj usuwamy tylko pamięć podręczną pobraną przez REPO.
 # zypper clean Wszystkie repozytoria zostały wyczyszczone.

5.2 Wyczyść metadane i pamięć podręczną


Wyczyszczenie metadanych może rozwiązać niektóre problemy.
 # zypper clean -a Wszystkie repozytoria zostały wyczyszczone. 
6 Zaktualizuj dystrybucję za pomocą Zypper
Wreszcie, możliwa jest aktualizacja do nowej wersji SuSE, na przykład mamy OpenSuSE 12.3 i chcemy przeprowadzić migrację do wersji 13.2, którą uruchomiliśmy.
 # zypper dist-upgrade Zamierzasz dokonać aktualizacji dystrybucji ze wszystkimi włączonymi repozytoriami. Upewnij się, że te repozytoria są zgodne, zanim przejdziesz dalej. Zobacz 'man zypper', aby uzyskać więcej informacji o tym poleceniu. Budowanie pamięci podręcznej repozytorium 'openSUSE-13.2-0'… [gotowe] Pobieranie metadanych repozytorium 'openSUSE-13.2-Debug'… [gotowe] Budowanie pamięci podręcznej repozytorium 'openSUSE-13.2-Debug'… [gotowe] Pobieranie repozytorium 'openSUSE-13.2-Nie Metadane -Oss… [Gotowe] Tworzenie pamięci podręcznej repozytorium „openSUSE-13.2-Non-Oss”… [gotowe] 
Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave