Dzisiaj chciałbym przedstawić tym wszystkim, którzy jeszcze go nie znają, program zypper. Zypper służy do zarządzania pakietami i repozytoriami pakietów spod konsoli. Przy jego pomocy, możemy łatwo i szybko dodawać i usuwać repozytoria, wyszukiwać oraz instalować/aktualizować/usuwać pakiety i wzorce.

Wyszukiwanie i wyświetlanie informacji o pakietach

Pakiety wyszukujemy poleceniem (symbolami * i ? możemy zastąpić znaki i ciągi):

linux-dvgz:/home/mirek # zypper se mc-*
Reading installed packages...
S | Name | Summary | Type
--+---------+--------------------------+--------
i | mc-lang | Languages for package mc | package

Możemy także wyszukiwać wzorce:

linux-dvgz:/home/mirek # zypper se -t pattern app*
Reading installed packages...
S | Name | Summary | Type
--+--------------+-----------------+--------
| apparmor | Novell AppArmor | pattern

Żeby wyświetlić krótki opis pakietu, wydajemy polecenie:

linux-dvgz:/home/mirek # zypper if mc-lang
Reading installed packages...
Information for package mc-lang:
Repository: Repozytorium główne (OSS)
Name: mc-lang
Version: 4.6.2.pre1-71.1
Arch: i586
Vendor: SUSE LINUX Products GmbH, Nuernberg, Germany
Installed: Yes
Status: up-to-date
Installed Size: 2,1 M
Summary: Languages for package mc
Description:
Provides translations to the package mc

Żeby otrzymać szczegółowe informacje na temat wyszukiwane pakietu, wpisujemy:

linux-dvgz:/home/mirek # zypper se -s mc-*
Reading installed packages...
S | Name | Type | Version | Arch | Repository
--+---------+---------+-----------------+------+--------------------------
i | mc-lang | package | 4.6.2.pre1-71.1 | i586 | Repozytorium główne (OSS)
i | mc-lang | package | 4.6.2.pre1-71.1 | i586 | openSUSE-11.0-FTP 11.0

Instalacja i usuwanie pakietów i wzorców

Najprostszy sposobem instalacji i usuwania pakietów jest:

linux-dvgz:/home/mirek # zypper in mc
linux-dvgz:/home/mirek # zypper rm mc

Tak jak w przypadku wyszukiwania, możemy zastąpić niektóre znaki lub ciągi odpowiednimi symbolami:

linux-dvgz:/home/mirek # zypper in mc?lang
Reading installed packages...
'mc-lang' is already installed.
Nothing to do.
linux-dvgz:/home/mirek # zypper rm mc*
Reading installed packages...
The following packages are going to be REMOVED:
mc-lang mc
After the operation, 5,2 M will be freed.
Continue? [YES/no]:

Instalację i usuwanie pakietów możemy również łączyć:

linux-dvgz:/home/mirek # zypper in mc -pidgin +firefox
Reading installed packages...
'mc' is already installed.
'MozillaFirefox' providing 'firefox' is already installed.
The following package is going to be REMOVED:
pidgin
After the operation, 2,9 M will be freed.
Continue? [Y/n/p/?]: n

Czasem zdarza się, że jakiś pakiet nie chce się zainstalować. Możemy go do tego zmusić używając przełącznika –force (-f). Jednak należy pamiętać, żeby używać –force tylko w przypadku reinstalacji jakiegoś pakietu, a nie instalacji pakietu, który ma niespełnione zależności:

linux-dvgz:/home/mirek # zypper in -f mc
Reading installed packages...
The following package is going to be reinstalled:
mc
Overall download size: 1,0 M. No additional space will be used or freed after the operation.
Continue? [YES/no]: no

Przy pomocy zyppera, możemy również zainstalować pojedyncze pakiety rpm z dysku lokalnego, lub z jakiegoś adresu http:

linux-dvgz:/home/mirek # zypper in Temp/hardinfo-0.4.2.3-7.1.i586.rpm
Reading installed packages...
The following package is going to be upgraded:
hardinfo
Overall download size: 284,0 K. No additional space will be used or freed after the operation.
Continue? [YES/no]: YES
Downloading package hardinfo-0.4.2.3-7.1.i586 (1/1), 284,0 K (607,0 K unpacked)
Installing: hardinfo-0.4.2.3-7.1 [done]

linux-dvgz:/home/mirek # zypper in http://download.opensuse.org/repositories/home:/keypl/openSUSE_11.0/i586/hardinfo-0.4.2.3-7.1.i586.rpm
Reading installed packages...
'hardinfo' providing 'hardinfo=0.4.2.3-7.1' is already installed.
Nothing to do.

Możemy zainstalować także znane z YaSTa wzorce. Żeby wyświetlić listę wzorców, wydajemy polecenie:

linux-dvgz:/home/mirek # zypper pt
Reading installed packages...
S | Name | Version | Repository | Dependency
--+----------------------+------------+-------------------------------+-----------
| apparmor | 11.0-110.3 | openSUSE-11.0-FTP 11.0 |
| apparmor | 11.0-110.3 | Repozytorium główne (OSS) |
i | apparmor_opt | 11.0-110.3 | openSUSE-11.0-FTP 11.0 |

Teraz możemy zainstalować wybrany wzorzec poleceniem:

linux-dvgz:/home/mirek # zypper in -t pattern apparmor
Reading installed packages...
The following NEW package is going to be installed:
apparmor

Bardzo przydatną opcją jest instalacji potrzebnych bibliotek i źródeł do zbudowania pakietu:

linux-dvgz:/home/mirek # zypper si -d kernel-pae
Reading installed packages...
The following NEW package is going to be installed:
makedumpfile
The following source package is going to be installed:
kernel-pae
Overall download size: 674,0 K. After the operation, additional 52,7 M will be used.
Continue? [YES/no]: no

Na koniec pozostaje aktualizowanie pakietów. Poleceniem:

linux-dvgz:/home/mirek # zypper up

zainstalujemy tylko łatki programów. Natomiast polecenie:

linux-dvgz:/home/mirek # zypper dup

służy do aktualizacji wszystkich pakietów do nowsze wersji, bądź aktualizacji całego systemu do wyższej wersji.

Zarządzanie repozytoriami pakietów

Tak jak wspomniałem, zypper umożliwia także zarządzanie repozytoriami pakietów. Poleceniem:

linux-dvgz:/home/mirek # zypper lr
uzyskamy listę wszystkich repozytoriów, jakie dodaliśmy, z wyszczególnieniem czy są uruchomione i odświeżane.

Żeby dodać repozytorium, wydajemy polecenie:

linux-dvgz:/home/mirek # zypper ar http://download.opensuse.org/repositories/home:/keypl/ pakiety
Dodawanie repozytorium "pakiety" [done]
Repository 'pakiety' successfully added
Enabled: Yes
Autorefresh: No
URI: http://download.opensuse.org/repositories/home:/keypl/

Usuwanie repozytorium odbywa się w podobny sposób:

linux-dvgz:/home/mirek # zypper rr pakiety
Usuwanie repozytorium 'pakiety' [done]
Repository 'pakiety' has been removed.

Zamiast usuwać repozytorium, możemy je po prostu zablokować:

linux-dvgz:/home/mirek # zypper mr -d pakiety
Repository 'pakiety' has been sucessfully disabled.

Możemy także ustawić auto odświeżanie repozytorium:

linux-dvgz:/home/mirek # zypper mr -r pakiety
Autorefresh has been enabled for repository 'pakiety'.
linux-dvgz:/home/mirek # zypper mr -R pakiety
Autorefresh has been disabled for repository 'pakiety'.

Tyle z podstaw, które na pewno przydadzą się każdemu użytkownikowi openSUSE.