Zypper
Zypper to konsolowy menedżer pakietów. Po raz pierwszy pojawił się w openSUSE 10.2. W 10.3 przejął rolę ruga, konsolowego klienta ZMD. Jednak ze względu na dość ograniczoną funkcjonalność oraz kłopoty z rozwiązywaniem zależności, nie zdobył dużej popularności pośród zaawansowanych użytkowników. W 11.0 te niedogodności naprawiono, dzięki czemu zaawansowani użytkownicy już nie muszą instalować np. smarta do wygodnego zarządzania pakietami. Obecnie wielu użytkowników openSUSE nie wyobraża sobie zarządzania pakietami w systemie bez tego narzędzia.
| Uwaga: Poniższy opis został sprawdzony na wersji 12.1. Użycie zyppera w innych wersjach openSUSE może się nieco różnić. |
Spis treści |
Zypper na szybko
Najczęściej wykorzystywane komendy zyppepra:
zypper # wyświetli wszystkie informacje o użyciu zyppera zypper help search # wyświetli pomoc związaną z "search", czyli wyszukiwaniem zypper list-patches # wyświetli informację o poprawkach zypper patch # nałoży poprawki (czyli zpaczuje system) zypper search sqlite # wyszuka pakiety, których nazwa zawiera "sqlite" zypper remove sqlite2 # usunie sqlite2 zypper install sqlite3 # zainstaluje sqlite3 zypper install yast* # zainstaluje wszystkie pakiety, których nazwa zawiera 'yast*' zypper update # aktualizuje pakiety do ich najnowszych wersji - o ile to możliwe
lub krótko:
zypper zypper ? search zypper lp zypper patch zypper se sqlite zypper rm sqlite2 zypper in sqlite3 zypper in yast* zypper up
Repozytoria
Wyświetlenie listy repozytoriów
zypper repos
lub krótko:
zypper lr
Można użyć także:
zypper lr -u # wyświetli informacje o położeniu (URI) repozytorium zypper lr -d # wyświetli dodatkowe informacje o repozytoriach zypper lr -P # wyświetli priorytet repozytoriów i posortuje je według niego zypper lr -e moja_lista # zapisze (wyeksportuje) wszystkie zdefiniowane repozytoria do pliku 'moja_lista.repo'
Dodawanie repozytoriów
Dodawanie repozytorium nie jest trudne, a dodawanym repozytoriom można dodać nazwę odpowiednią dla osobistych preferencji. Warto wiedzieć, że opcja -f umożliwi automatyczne odświeżanie repozytorium:
zypper addrepo -f położenie_repozytorium nazwa
lub krótko:
zypper ar -f położenie_repozytorium nazwa
Po dodaniu repozytoriów należy odświeżyć informację o nich za pomocą:
zypper refresh
lub krótko:
zypper ref
Przykładowa sesja
Poniżej dodano repozytorium zawierające stabilną wersję pakietu LibreOffice dla openSUSE 12.1.
pendrak:~ # zypper ar -f http://download.opensuse.org/repositories/LibreOffice:/Stable/openSUSE_12.1/ LibreOffice Dodawanie repozytorium 'LibreOffice' [gotowe] Repozytorium 'LibreOffice' zostało dodane Włączono: Tak Automatyczne odświeżanie: Tak Sprawdź GPG: Tak URI: http://download.opensuse.org/repositories/LibreOffice:/Stable/openSUSE_12.1/
Informacje o repozytoriach:
Klucze
Po dodaniu repozytoriów należy odświeżyć informację o dostępnych pakietach za pomocą:
zypper ref
Może też być konieczne zaakceptowanie klucza, którym zostało ono podpisane. Przykładowa sesja może wyglądać tak: pendrak:~ # zypper ref
Pobieranie metadanych repozytorium 'LibreOffice' [\] Otrzymano nowy klucz podpisujący repozytorium albo pakiet: Identyfikator klucza: 1142BDE36BA6C051 Nazwa klucza: LibreOffice OBS Project <LibreOffice@build.opensuse.org> Odcisk klucza: B48F900581D652FA0131FC261142BDE36BA6C051 Klucz utworzony: śro, 13 paź 2010, 15:05:34 Klucz wygasa: pią, 21 gru 2012, 14:05:34 Repozytorium: LibreOffice Odrzucić ten klucz, zaufać tymczasowo, czy zaufać na zawsze? [o/t/z/?] (o): z Pobieranie metadanych repozytorium 'LibreOffice' [gotowe] Budowanie pamięci podręcznej repozytorium 'LibreOffice' [gotowe] Repozytorium "openSUSE-12.1-Update" jest aktualne. Repozytorium "openSUSE-12.1-Non-Oss" jest aktualne. Repozytorium "openSUSE-12.1-Oss" jest aktualne. Odświeżono wszystkie repozytoria.
Usuwanie repozytoriów
zypper removerepo
lub krótko:
zypper rr
Usuwać repozytoria można przy pomocy aliasu lub numeru, którym są one oznaczone.
Przykładowa sesja
Należy odszukać repozytoria do usunięcia:
# | Alias | Nazwa | Włączono | Odśwież --+----------------------+----------------------------+----------+-------- 2 | LibreOffice | LibreOffice | Tak | Tak
i usunąć je:
pendrak:~ # zypper rr LibreOffice Usuwanie repozytorium 'LibreOffice' [gotowe] Usunięto repozytorium 'LibreOffice'.
lub:
pendrak:~ # zypper rr 2 Usuwanie repozytorium 'LibreOffice' [gotowe] Usunięto repozytorium 'LibreOffice'.
Aktualizacja do nowszej wersji systemu zypperem
Polecenie to rozwiązuje zależności w przypadku pakietów w różnych wersjach, porzuconych, itp. Jest idealnym rozwiązaniem podczas zmiany wersji dystrybucji. W przypadku konfliktów zależności użytkownik zostanie zapytany, jak program powinien postąpić. Typowe użycie:
zypper ref # odświeży informacje o dostępnych pakietach zypper dup # pobierze i zainstaluje pakiety - UWAGA! zalecany, gdy trzeba zmienić dostawców pakietów
Temat jest szerzej opisany w artykule "aktualizacja systemu do nowszej wersji".
Eksportowanie i importowanie listy repozytoriów
zypper repos --export
lub krótko:
zypper lr -e
Repoztoria można zapisać w postaci pliku, który można w dowolnej chwili wykorzystać lub przenieść na inną maszynę. Zapisuje się je (eksportuje) tak: (np. do pliku moje_repozytoria.repo)
# zypper lr --export moje_repozytoria.repo
A wczytuje ponownie (importuje):
# zypper ar moje_repozytoria.repo