Vytisknout

openSUSE - používáme zypper

Napsal Martin Kušnir. Zařazeno v openSUSE

Zypper je velmi snadno ovladatelný a výkonný správce balíčků, který se používá z příkazového řádku a ke své práci využívá knihovnu libzypp. Tento článek je o tom, jak používat Zypper z příkazového řádku v linuxové distribuci openSUSE. Zypper je velmi rychlý, přehledný, stabilní a také srozumitelný aplikační nástroj pro práci s balíčky v operačním systému a teď si dáme trochu té teorie ...

Obsah

Stručný přehled (Quick reference)

Zypper

# vytisknout seznam dostupných globálních voleb a příkazů

zypper help search  

# tisknout nápovědu k příkazu Hledat

zypper lp

# zobrazí co je potřeba aktualizovat

zypper patch

# aplikovat potřebné opravy

zypper se sqlite

# hledat sqlite

zypper rm sqlite2

# odstranit sqlite2

zypper in sqlite3

# pro instalaci sqlite3

zypper in yast*

# pro instalaci všech balíků vyhovující "YaST * '

zypper up

# aktualizovat všechny nainstalované balíčky novou verzí

Tahák (Cheat sheet)

Zde naleznete informace zobrazované na této stránce, ale komprimované ve formátu pdf jako tahák. Obsahuje také několik odkazů převzatých z manuálových stránek. Pro vážné zájemce doporučujeme prostudovat.

Všeobecné příkazy (General usage)

Obecná syntaxe Zypper je:

# zypper [global-options] command [command-options] [arguments] ...

Součásti v hranatých závorkách nejsou povinné, nejjednodušší způsob, jak použít příkaz Zypper je zadat jeho název a poté následuje příkaz. Viz příkazy.

# zypper patch

Kromě toho si můžete vybrat z jedné nebo více globálních možností zadáním těsně před příkazem: (spustit příkaz, ale neptejte se mě na nic konkrétního, tento postup lze zvolit na vlastní pěst)

# zypper --non-interactive patch

Chcete-li používat možnosti specifické pro konkrétní příkaz, napište je hned po příkazu.

# zypper patch --auto-agree-with-licenses

Některé příkazy vyžadují jeden či více argumentů pro práci: (instalovat nebo aktualizovat balíček mplayer)

# zypper install mplayer

Některé z možností lze také doplnit třeba o argument: (hledání vzorce)

# zypper search -t pattern

Všechna výše uvedená spojení lze: (nainstalovat MPlayer a Amarok výhradně pomocí Factory úložiště)

# zypper -v install --repo factory mplayer amarok

Uživatelské výzvy (User prompts)

Kdykoliv Zypper potřebuje nějaký vstup od uživatele, je seznam možných odpovědí v závorkách vedle řádku textu. Chcete-li zvolit výchozí odpověď, stačí stisknout klávesu Enter (standardní odpověď je vytištěna velkými písmeny (s výjimkou ne-ASCII znaků)). Některé výzvy mají také pomoci, v takovém případě je otazník '?' uveden jako možná odpověď.

Slovník (Vocabulary)

repository 
lokální nebo vzdálené adresáře, kde jsou veškeré různé informace o balíčku (balíček metadat). Úložiště byla dříve známa jako instalační zdroje.
alias je zkrácená verze jména úložiště pro použití v příkazech repository pro jejich ovládání, jako je například removerepo nebo - repo.
package softwarový balíček (RPM balíček, zdrojový balíček).
patch jedná se o soubor aktualizovaných souborů dané aplikace, potřebný pro fix softwaru
pattern představuje skupinu balíčků. Například HTTP server by měl mít závislosti definovány tak, aby všechny balíky potřebné pro běh a správu serveru HTTP byly spuštěny při instalaci, dle instl. vzoru.
product představuje skupinu balíčků. Například HTTP server by měl mít závislosti definovány tak, aby všechny balíky potřebné pro běh a správu serveru HTTP byly spuštěny při instalaci, dle instl. vzoru.

Příkazy (Commands)

repository management  
refresh, repos, addrepo, removerepo, modifyrepo, namerepo
refresh-services, services, addservice, removeservice, modifyservice
package management install, remove, source-install
update management patch, list-patches, patch-check, patches, update, list-updates, dist-upgrade
querying patch, list-patches, patch-check, patches, update, list-updates, dist-upgrade
locking locks, addlock, removelock, cleanlocks
utilities verify, install-new-recommends
other help, licenses, versioncmp, targetos

Tisková nápověda (Printing help)

Za prvé, je dobré vědět, jak se dostat k jakékoliv pomoci. Chcete-li vytisknout Obecnou nápovědu (seznam příkazů a globálních voleb), stačí napsat Zypper bez možností nebo dalších dolpňujících argumentů. Chcete-li vytisknout nápovědu pro konkrétní příkaz, použijte:

# zypper help [command]

Chcete-li získat nápovědu pro specifický příkaz použijte:

# zypper [command] --help

Všimněte si, že lze použít -h namísto - help což poskytuje jisté pohodlí.

Správce repositářů (Repository management)

Můžete určit stávající úložišťe jeho číslem v seznamu pomocí příkazu Zypper LR, aliasem, nebo URI. Při použití čísla, se nejdříve ujistěte vždy příkazem Zypper LR o číslování repozitářů, protože čísla se mohou změnit kdykoliv poté, co jste provedli nějaké změny v repozitářích.

Výpis definovaných repozitářů (List defined repositories)

Pro tento účel nám slouží příkaz repos nebo lr

Příklad výstupu:

# | Alias                 | Name                  | Enabled | Refresh
--+-----------------------+-----------------------+---------+--------
1 | packman               | Packman 11.1          | Yes     | No
2 | fate                  | fate                  | No      | No
3 | openSUSE-11.1-Updates | Updates for 11.1      | Yes     | Yes
4 | repo-oss              | openSUSE-11.1-Oss     | Yes     | No
5 | repo-non-oss          | openSUSE-11.1-Non-Oss | Yes     | No
6 | repo-debug            | openSUSE-11.1-Debug   | No      | No
# zypper lr 5 4
Alias          : openSUSE-11.3-Non-Oss
Name           : openSUSE-11.3-Non-Oss
URI            : http://download.opensuse.org/distribution/11.3/repo/non-oss/
Enabled        : Yes
Priority       : 99
Auto-refresh   : Off
Keep Packages  : Off
Type           : yast2                                                       
GPG Check      : On
GPG Key URI    : 
Path Prefix    : /
Parent Service : 
MD Cache Path  : /var/cache/zypp/raw/openSUSE-11.3-Non-Oss
Alias          : openSUSE-11.3-Oss
Name           : openSUSE-11.3-Oss
URI            : http://download.opensuse.org/distribution/11.3/repo/oss/
Enabled        : Yes
Priority       : 99
Auto-refresh   : Off
Keep Packages  : Off 
Type           : yast2
GPG Check      : On
GPG Key URI    :   
Path Prefix    : /
Parent Service :
MD Cache Path  : /var/cache/zypp/raw/openSUSE-11.3-Oss

Další příklad:

zypper lr -u

# zahrnovat URI do i REPO URI do tabulky

zypper lr -d

# bude obsahovat několik dalších vlastností repo v tabulce

zypper lr -P

# zahrnuje i repo priority a seřadí seznam repositářu dle priorit

zypper lr -e my  

# export všech repositních definic do souboru s názvem 'my.repo'

Přidání repozitářů (Adding repositories)

Pro tento účel nám slouží příkaz addrepo nebo ar

Před tím, než bude možné balíčky instalovat, je nutné mít alespoň jedno úložiště definováno. Pro přidání repozitáře, použijte příkaz addrepo:

Příklad výstupu:

# zypper ar http://download.videolan.org/pub/vlc/SuSE/11.1 vlc

Adding repository 'vlc' [done]
Repository 'vlc' successfully added
Enabled: Yes
Autorefresh: No
URI: http://download.videolan.org/pub/vlc/SuSE/11.1

Další příklady:

zypper ar http://download.opensuse.org/repositories/X11:/XGL/openSUSE_11.1/X11:XGL.repo  

# pomocí souboru .repo myalias

zypper ar -c ftp://some.download.site myalias

# pro přidání repozitáře

zypper ar my/dir/with/rpms local

# lokální repozitní adresář s RPM soubory

Viz také Libzypp seznam podporovaných typů médií a URI.

Obnovení repozitářů (Refreshing repositories)

Pro tento účel nám slouží příkaz refresh of ref

Po přidání repozitáře, nebo-li úložiště se stane časem zastaralé, je třeba jej obnovovat. To znamená, stahování balíku metadat z něho poté předzpracovat data do. SOLV vyrovnávací paměti pro rychlé čtení. Slouží nám k tomu příkaz:

# zypper refresh

Příklad výstupu:

Downloading repository 'Packman 11.1' metadata [done]
Building repository 'Packman 11.1' cache [done]
Downloading repository 'Updates for 11.1' metadata [done]
Building repository 'Updates for 11.1' cache [done]
Repository 'openSUSE-11.1-Oss' is up to date.
All repositories have been refreshed.

Je-li povolen autorefresh pro úložiště, nemusíte se starat o obnovování repozitářů, ten se děje automaticky, když je potřeba. Nicméně, někteří lidé maji raději pod kontrolou průběh aktualizací (např. aby se zabránilo čekání na dokončení aktualizací, když se chtěl podívat například jen po určité aktualizaci pro aplikaci např: "Zypper info krusader"), tak upřednostní možnost vypnout autorefresh. Pro více informací se podívejte man zypper

Další příklady

zypper ref packman main 

# můžete určit, který repozitář bude obnoven

zypper ref -f upd

# aktualizace "upd" repozitáře

Odebrání repozitáře (Removing repository)

Pro tento účel nám poslouží příkaz removerepo nebo rr

# zypper rr vlc 1 23 foo

Repository 23 not found by alias, number or URI.
Repository foo not found by alias, number or URI.
Removing repository 'repo-debug' [done]
Repository 'repo-debug' has been removed.
Removing repository 'vlc' [done]
Repository 'vlc' has been removed.

Úprava repozitářů (Modifying repository)

Pro tento účel nám poslouží příkaz modifyrepo nebo mr

Zakázání repozitáře # 6:

# zypper mr -d 6
Repository 'repo-non-oss' has been sucessfully disabled.

Povolíme autorefresh a RPM soubory do mezipaměti pro repozitář "Packman" a nastavíme mu jeho prioritu na 70:

# zypper mr -rk -p 70 packman
Autorefresh has been enabled for repository 'packman'.
RPM files caching has been enabled for repository 'packman'.
Repository 'packman' priority has been set to 70.

Zakázání cachování pro RPM soubory ve všech repozitářích:

# zypper mr -Ka
Nothing to change for repository 'local'.
RPM files caching has been disabled for repository 'packman'.
Nothing to change for repository 'fate'.
Nothing to change for repository 'upd'.
Nothing to change for repository 'repo-oss'.
Nothing to change for repository 'repo-non-oss'.

Povolení cachování pro RPM soubory ve všech repozitářích:

# zypper mr -ka
RPM files caching has been enabled for repository 'repo-non-oss'.
RPM files caching has been enabled for repository 'Main Repository (OSS)'.
RPM files caching has been enabled for repository 'Main Repository (NON-OSS)'.
RPM files caching has been enabled for repository 'openSUSE-11.1-Updates'.

Přejmenování repozitářů (Renaming repositories)

Pro tento účel nám poslouží příkaz renamerepo nebo rn

# zypper nr 3 upd
Repository 'openSUSE-11.1-Updates' renamed to 'upd'.

Tento příkaz je v současné době k dispozici pouze pro možnost měnit alias repozitáře. Pokud chcete změnit zobrazený název repozitáře, podívejte se na příkaz mr.

Mějte aliasy krátké a jednoduché pro snadné ovládání podobně jako argumenty příkazů a - repo možnosti. Použití aliasu je bezpečnější, než s použitím repo čísla (protože číslo se může změnit a můžete snadno udělat chybu) a je jednodušší, než za pomoci URI (protože jsou dlouhé, pro kopírování a vkládání).

Export/Import repozitářů (Export/Import repositories)

Pro tento účel nám poslouží příkaz repos --export or lr -e

# zypper lr --export backups/repos/foo.repo
# zypper ar backups/repos/foo.repo

Správa balíků (Package management)

Výběr balíčků (Selecting packages)

Existuje několik způsobů, jak si můžete vybírat balíčky k instalaci nebo odstranění.

podle (schopnosti) jména aplikace / nástroje

zypper in eclipse
zypper in qt

podle jména/architektury/verze

zypper in 'zypperzypper in zypper.i586=0.12.11

podle přesného názvu balíčku (- jméno) 

zypper in -n ftp

přesný název balíčku a repozitáře (implikuje - jméno)  

zypper in factory:zypper

podle názvu balíčku pomocí zástupných znaků

zypper in yast*ftp*

zadáním .RPM balíčku k instalaci

Instalace balíčků (Installing packages)

Pro tento účel nám poslouží příkaz install nebo in

Můžete instalovat balíčky podle jména ...

# zypper install git
Reading installed packages...
The following NEW packages are going to be installed:
  subversion-perl sqlite3 perl-DBD-SQLite git-svn git-cvs git
Overall download size: 1.1 M. After the operation, additional 4.6 M will be used.
Continue? [YES/no]:
Downloading package subversion-perl-1.5.0-96.1.x86_64 (1/6), 950.0 K (4.1 M unpacked)
Downloading: subversion-perl-1.5.0-96.1.x86_64.rpm [done]
Installing: subversion-perl-1.5.0-96.1 [done]
Downloading package sqlite3-3.5.7-17.1.x86_64 (2/6), 30.0 K (40.0 K unpacked)
Downloading: sqlite3-3.5.7-17.1.x86_64.rpm [done]
Installing: sqlite3-3.5.7-17.1 [done]
Downloading package perl-DBD-SQLite-1.14-41.1.x86_64 (3/6), 44.0 K (103.0 K unpacked)
Downloading: perl-DBD-SQLite-1.14-41.1.x86_64.rpm [done]
Installing: perl-DBD-SQLite-1.14-41.1 [done]
Downloading package git-svn-1.5.4.5-26.1.x86_64 (4/6), 66.0 K (195.0 K unpacked)
Downloading: git-svn-1.5.4.5-26.1.x86_64.rpm [done]
Installing: git-svn-1.5.4.5-26.1 [done]
Downloading package git-cvs-1.5.4.5-26.1.x86_64 (5/6), 63.0 K (205.0 K unpacked)
Downloading: git-cvs-1.5.4.5-26.1.x86_64.rpm [done]
Installing: git-cvs-1.5.4.5-26.1 [done]
Downloading package git-1.5.4.5-26.1.x86_64 (6/6), 10.0 K (3.0 K unpacked)
Downloading: git-1.5.4.5-26.1.x86_64.rpm [done]
Installing: git-1.5.4.5-26.1 [done]

... nebo podle schopnosti, kterou poskytují:

# zypper in MozillaFirefox \< 3
Reading installed packages...
'MozillaFirefox' providing 'MozillaFirefox< 3' is already installed.
Nothing to do.
$ zypper in MozillaFirefox \>= 3
Reading installed packages...
The following packages are going to be upgraded:
  mozilla-xulrunner190-translations MozillaFirefox mozilla-xulrunner190-gnomevfs
mozilla-xulrunner190 MozillaFirefox-translations
The following package is going to be REMOVED:
  mozilla-xulrunner190-lang
Overall download size: 11.0 M. After the operation, 12.9 M will be freed.
Continue? [Y/n/p/?]:
$ zypper in 'libqtiff.so()(64bit)'
Reading installed packages...
'libqt4-x11' providing 'libqtiff.so()(64bit)' is already installed.
Nothing to do.

Další příklady:

zypper in yast*

# instalovat všechny moduly YaST

zypper in -t pattern lamp_server

# instalace lamp_server (nutné pro LAMP server)

zypper in vim -emacs

# instalace vim a odebrání emacs

zypper in amarok packman:libxine1

# instalace libxine1 z Packman a Amarok odkudkoli

zypper in bitchx-1.1-81.x86_64.rpm  

# instalace BitchX RPM balíku z místního adresáře

zypper in -f subversion

# reinstalace subversion (Force Reinstallation)

Odebrání balíčků (Removing package)

Pro tento účel nám poslouží příkaz remove nebo rm

Příkaz remove je velmi podobný jako instalační příkaz kromě toho, že jeho efekt je opačný :o)

# zypper remove sqlite
Reading installed packages...
The following packages are going to be REMOVED:
  sqlite3 perl-DBD-SQLite git-cvs git
After the operation, 351.0 K will be freed.
Continue? [YES/no]: n

Zdrojové balíčky s vybudováním závislostí (Souce packages and build dependencies)

Pro nás účel použijeme příkaz source-install nebo si

# zypper si zypper
Reading installed packages...
The following NEW packages are going to be installed:
  libzypp-devel libsatsolver-devel
The following source package is going to be installed:
  zypper
Overall download size: 1.5 M. After the operation, additional 6.7 M will be used.
Continue? [YES/no]:

Můžete také nainstalovat pouze build deps, nebo jen zdrojové balíky:

zypper si -D zypper 

#

jen zdrojové balíčky (ne build deps)

zypper si -d zypper

#

jen build deps (ne zdrojové balíčky)

Aktualizace balíků (Updating packages)

Pro náš účel použijeme příkaz update nebo up

Následující příkazy pro aktualizaci balíčků jejich novějších verzí, jež je k dispozici. Viz též Update Management pro více informací.

zypper up

# aktualizace všech balíčků novější verzí

zypper up libzypp zypper  

# aktualizace libzypp a Zypper

zypper in sqlite3

# aktualizace sqlite3 nebo jeho instalace

Dotazy (Querying)

Vyhledávání balíčků (Searching packages)

Pro náš účel použijeme příkaz search nebo se

Ve výchozím nastavení příkaz search hledá balíky všeho druhu, stavu nebo repozitáře, které obsahují název zadaný v řetězci (nepřesné srovnávání):

Reading installed packages...
S | Name                     | Summary                                                        | Type
--+--------------------------+----------------------------------------------------------------+--------
  | libapr-util1-dbd-sqlite3 | DBD driver for SQLite 3                                        | package
i | libgda-3_0-sqlite        | Sqlite Provider for GNU Data Access (GDA)                      | package
  | libqt4-sql-sqlite        | Qt 4 sqlite plugin                                             | package
i | libsqlite3-0             | Shared libraries for the Embeddable SQL Database Engine        | package
  | libsqlite3-0-32bit       | Shared libraries for the Embeddable SQL Database Engine        | package
  | mediatomb-sqlite         | UPnP AV MediaServer                                            | package
i | mono-data-sqlite         | Database connectivity for Mono                                 | package
  | pdns-backend-sqlite2     | SQLite 2 backend for pdns                                      | package
  | pdns-backend-sqlite3     | SQLite 3 backend for pdns                                      | package
i | perl-DBD-SQLite          | The DBD::SQLite is a self contained RDBMS in a DBI driver      | package
i | php5-sqlite              | PHP5 Extension Module                                          | package
  | python-sqlite2           | Python bindings for sqlite 2                                   | package
  | qt3-sqlite               | SQLite Database Plug-In for Qt                                 | package
  | rekall-sqlite            | Rekall sqlite Database Backend                                 | package
  | rubygem-sqlite3          | A Ruby interface for the SQLite3 database engine               | package
i | sqlite2                  | Embeddable SQL Database Engine                                 | package
  | sqlite2-32bit            | Embeddable SQL Database Engine                                 | package
  | sqlite2-devel            | Embeddable SQL Database Engine                                 | package
i | sqlite3                  | Embeddable SQL Database Engine                                 | package
  | sqlite3-devel            | Embeddable SQL Database Engine                                 | package
  | sqlite3-tcl              | Tcl binding for SQLite                                         | package
  | tntdb1-sqlite            | Tntdb is a c++-class-library for easy database-access - sqlite | package
  | ulogd-sqlite             | SQLite output plugin for ulogd                                 | package

Písmeno "i" v prvním sloupci (1), uvádí, že balíček je již nainstalován na lokálním počítači. Chcete-li zobrazit všechny dostupné verze vyhledáného balíčků, použijte "--details/-s" možnost:

# Zypper search-S - Match-přesné VirtualBox-ose
Reading installed packages...
S | Name           | Type    | Version    | Arch   | Repository
--+----------------+---------+------------+--------+------------------------------------
v | virtualbox-ose | package | 1.6.2-2.1  | x86_64 | VirtualBox OSE
i | virtualbox-ose | package | 1.5.6-33.1 | x86_64 | openSUSE-11.1-Oss
v | virtualbox-ose | package | 1.5.6-20.5 | x86_64 | VirtualBox OSE (
v | virtualbox-ose | package | 1.6.2-2.1  | i586   | VirtualBox OSE
v | virtualbox-ose | package | 1.5.6-33.1 | i586   | openSUSE-11.1-Oss
v | virtualbox-ose | package | 1.5.6-20.3 | i586   | VirtualBox OSE

Písmeno "i" v prvním sloupci (1) uvádí, že vybraný software je již nainstalován na lokálním počítači, přičemž písmeno "V" v prvním sloupci (1) uvádí, že existují i jiné verze produktu nainstalováné v Místním počítači.

Další příklady:

zypper se -dC --match-words RSI  

# hledání zkratkou RSI, také ve shrnutí a popisu

zypper se 'yast*'

# zobrazit všechny balíčky začínající na' YaST, (pozor na rozšíření shellu, citujte řetězce pokud si nejste jisti!)

zypper se -r packman

# vypíše všechny balíky z repozitáře "Packman"

zypper se -i sqlite

# zobrazí všechny nainstalované balíčky obsahující "SQLite"v názvu

zypper se -t pattern -r repo-oss

# seznam všech skupin, jež jsou k dispozici v repozitáři

zypper se -t product

# seznam všech dostupných produktů

Získávání informací o balíčcích (Obtaining information about packages)

Pro náš účel použijeme příkaz info nebo if

# zypper info amarok

Reading installed packages...
Information for package amarok:
Repository: Packman 11.1
Name: amarok
Version: 1.4.9.1-103.pm.1
Arch: x86_64
Vendor: packman.links2linux.de
Installed: Yes
Status: up-to-date
Installed Size: 12.1 M
Summary: Media Player for KDE
Description:
Amarok is a media player for all kinds of media, supported by aRts, GStreamer
or Xine (depending on the packages you install). This includes MP3, Ogg
Vorbis, audio CDs and streams.
It also supports audio effects of all kinds that are provided by aRts.
Playlists can be stored in .m3u or .pls files.
Amarok also provides audio file collection management, by using either an
embedded sqlite3, a MySQL or a PostgreSQL database.

Tento příkaz zobrazí podrobné informace o balíčku s názvem "Amarok".

Další příklady:

zypper info -t patch MozillaFirefox

# zobrazí informace o opravě pro "MozillaFirefox"

zypper patch-info MozillaFirefox

# stejné jako předchozí příkaz

zypper info -t pattern lamp_server

# zobrazí informace o ...

zypper info -t product openSUSE-FTP 

# zobrazí informace o specifickém výrobku

Závislosti (Dependencies)

Pro náš účel poslouží příkaz what-provides nebo wp

Seznam všech uvedených poskytovatelů pro daný zdroj:

# zypper wp firefox
Reading installed packages...
S | Name           | Type    | Version     | Arch   | Repository
--+----------------+---------+-------------+--------+------------------
i | MozillaFirefox | package | 3.0-0.1     | x86_64 | Updates for 11.1
v | MozillaFirefox | package | 2.9.95-25.1 | x86_64 | openSUSE-11.1-Oss
v | MozillaFirefox | package | 3.0-0.1     | i586   | Updates for 11.1
v | MozillaFirefox | package | 2.9.95-25.1 | i586   | openSUSE-11.1-Oss

Tento příkaz je podobný rpm-q - whatprovides Firefox, ale rpm je možné vyhledávat jen v databázi RPM (databáze nainstalovaných balíčků). Zypper, na druhou stranu, vám řekne o poskytovateli zdroje ze všech repozitářů, a to nejen z těch, jež jsou nainstalovány.

Ostatní dotazy (Other Queries)

Příkazy patches, packages, patterns a products jsou podobné search -s -t [patch,package,pattern,product], s výjimkou, že se zobrazí další informace specifické pro příslušný typ balíčku. Například patches ukazuje i typ opravy (Needed/Security/Not Applicable).

Příkazy list-updates a patch-check jsou popsány v Update Management.

Uzamčení balíčků (Package locks)

Pro náš účel poslouží příkaz locks, ll addlock, al removelock, rl cleanlocks nebo cl

Package locks slouží k zabránění změny balíčků v systému. Balíky vyhovující aktivnímu zámku nemohou změnit svůj status, balíky nemohou být odstraněny nebo aktualizovány a ty, které dosud nebyly nainstalovány, již nelze nainstalovat.

Chcete-li zamknout všechny balíčky z 'YaST2 ", zadejte:

# zypper al 'yast2*'
Reading installed packages...
Specified lock has been successfully added.

Opět si dejte pozor na shell rozšíření, jelikož použití uvozovek zejména v případě YaST * (tomuto výrazu budou odpovídat nějaké soubory či adresáře v pracovním adresáři).

Chcete-li zobrazit právě aktivní zámky:

# zypper ll
# | Name             | Type    | Repository
--+------------------+---------+-----------
1 | libpoppler3      | package | (any)
2 | libpoppler-glib3 | package | (any)
3 | yast*            | package | (any)

Chcete-li odstranit zámek, zadejte:

# zypper rl yast2-packager
Reading installed packages...
The following query locks some of the objects you want to unlock:
type: package
match_type: glob
case_sensitive: on
solvable_name: yast2*
Do you want remove this lock? [YES/no]: y
Lock count has been succesfully decreased by: 1

Další příklady:

zypper al zypper

# balíček Zypper uzamčen "(přesná shoda)

zypper al -r repo-oss virtualbox*  

# omezení zámku do oblíbených" repo-oss (umožňující instalaci dalších)

zypper rl 3

# odebrání zámku podle čísla

Manipulovat se zámky lze také přímo změnou v souboru zámků (locks file).

Utility (Utilities)

Oveření závislostí (Verify dependencies)

Můžete někdy skončit s poškozeným systémem, pokud jde o závislosti balíčků. Pokud se některé aplikace nespustí, zobrazí se oznamení, že něco chybí a na to je vhodné použít Zypper ke kontrole:

$ rpm -e --nodeps mozilla-xulrunner190 $ firefox

Could not find compatible GRE between version 1.9.0 and 1.9.0.
# zypper ve
Reading installed packages...
Some of the dependencies of installed packages are broken. In order to fix these dependencies, the following actions need to be taken:
The following NEW package is going to be installed:
  mozilla-xulrunner190
Overall download size: 6.5 M. After the operation, additional 23.5 M will be used.
Continue? [YES/no]: y

Instalace nových doporučených balíčků (Install new recommended packages)

Pro náš účel poslouží příkaz install-new-recommends nebo inr

Tento příkaz najde a nainstaluje nově přidané a doporučené balíčky pro již nainstalované balíky. To poskytuje snadný způsob, jak získat nové jazykové balíčky pro software nebo ovladače pro nově přidaný hardware.

# zypper inr
Reading installed packages...

 The following NEW packages are going to be installed: kdebase4-openSUSE-lang bundle-lang-common-cs

Overall download size: 534.0 K. After the operation, additional 1.9 M will be used. Continue? [YES/no]:

Kontrola procesů (Check processes)

Pro náš účeů použijeme příkaz ps

Tento příkaz zobrazí procesy, které používají soubory z odebraných posledních balíčků, aktualizací nebo odstranění.

Jsou programy, které používají odstraněné soubory z poslední aktualizace.  Možná budete chtít znovu některé z nich zpátky.  Pusťte Zypper ps pro seznam těchto programů.

# zypper ps
The following running processes use deleted files:
PID   | PPID  | UID  | Login | Command       | Service | Files
------+-------+------+-------+---------------+---------+--------------------------------
10604 | 10603 | 1000 | geeko | chrome        |         | /usr/share/mime/mime.cache
      |       |      |       |               |         | /usr/share/mime/mime.cache
15304 | 3195  | 1000 | geeko | kio_thumbnail |         | /var/tmp/kdecache-geeko/ksycoca4
      |       |      |       |               |         | /var/tmp/kdecache-geeko/ksycoca4
You may wish to restart these processes.
See 'man zypper' for information about the meaning of values in the above table.

Správa aktualizací (Update management)

Existují dva přístupy k udržování systému v aktuálním stavu. Jednou z prvních možností je patch-wise nebo druhá možnost package-wise.

První možnost je patch-wise, který je užitečný zejména pro lidi, kteří používají stabilní verze a chtějí aktualizovat své systémy opravou vydanou prostřednictvím on-line update repozitářů. Aktualizace repozitářů jsou přidány ve výchozím nastavení při instalaci nebo aktualizaci systému nebo mohou být přidány pomocí on-line konfigurace aktualizací softwaru v programu YaST Control Center, anebo ručně pomocí Zypper. Zde je seznam dostupných repozitářů openSUSE update. YaST ekvivalent této funkce je Online Update modul.

Druhá možnost je pomocí package-wise, jež je popsána v kapitole "aktualizace balíčků".

Výpis potřebných oprav (Listing needed patches)

Pro náš účel použijeme příkaz list-patches or lp

Chcete-li zobrazit všechny potřebné opravy (aktualizace), zadejte:

# zypper lp
Reading installed packages...
Patches
Repository       | Name               | Version | Category    | Status
-----------------+--------------------+---------+-------------+-------
Updates for 11.1 | KDE4-fixes         | 38      | recommended | Needed
Updates for 11.1 | MozillaFirefox     | 50      | recommended | Needed
Updates for 11.1 | NetworkManager-kde | 49      | recommended | Needed

Někdy se pouze uvedou aktualizace ovlivňující správu balíčků, neboť tyto by měly být použity jako první. Poté se zbytek dostupných aktualizací zavede tímto příkazem.

Tento příkaz je ekvivalentem zypper up -t patch známý ze starších verzí Zypper. Chcete-li zobrazit všechny dostupné aktualizace balíčků, použijte:

# zypper lu

Aplikace aktualizací (Applying patches)

Pro náš účel použijeme příkaz patch

Chcete-li aplikovat potřebné záplaty, zadejte:

# zypper patch
Reading installed packages...
The following packages are going to be upgraded:
  NetworkManager-kde mozilla-nss mozilla-nspr kde4-korganizer
The following NEW patches are going to be installed:
  NetworkManager-kde MozillaFirefox KDE4-fixes
Overall download size: 2.9 M. After the operation, additional 283.0 K will be used.
Continue? [YES/no]:

Výpis všech aktualizací (Listing all patches)

Pro náš účel použijeme příkat patches

V list-updates příkazu jsou uvedeny pouze potřebné aktualizace. Chcete-li zobrazit všechny dostupné záplaty, použijte:

# zypper patches
Reading installed packages...
Catalog          | Name               | Version | Category    | Status
-----------------+--------------------+---------+-------------+---------------
Updates for 11.1 | KDE4-fixes         | 38      | recommended | Installed
Updates for 11.1 | MozillaFirefox     | 50      | recommended | Installed
Updates for 11.1 | NetworkManager-kde | 49      | recommended | Installed
Updates for 11.1 | autoyast2          | 37      | recommended | Installed
Updates for 11.1 | courier-authlib    | 42      | security    | Not Applicable
Updates for 11.1 | insserv            | 47      | recommended | Installed
Updates for 11.1 | opera              | 43      | security    | Installed

Kontrola aktualizací (Checking patches)

Tento příkaz vám sdělí, zda jsou všechny důležité záplaty pro váš systém dostupné a také sdělí jejich počet:

# zypper pchk
Reading installed packages...
0 patches needed (0 security patches)

Získávání informací o aktualizacích (Getting information about patches)

Pro náš účel poslouží příkazy patch-info nebo info -t patch

# zypper info -t patch MozillaFirefox
Reading installed packages...
Information for patch MozillaFirefox:
Name: MozillaFirefox
Version: 50
Arch: noarch
Vendor: Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.
Status: Installed
Category: recommended
Created On: Thu 01 Jan 1970 01:00:00 AM CET
Reboot Required: No
Package Manager Restart Required: No
Interactive: No
Summary: Mozilla Firefox 3.0
Description:
This patch updates Mozilla Firefox to the final 3.0 version.
The dependend libraries mozilla-xulrunner190, mozilla-nspr
and mozilla-nss were also brought to their release version.

Aktualizace balíčků (Package updates)

Pro náš účel použijeme příkaz list-updates nebo lu | update nebo up

Jednoduše můžete aktualizovat instalované balíky za novější verze pomocí:

# zypper up

Můžete také získat seznam dostupných aktualizací:

# zypper lu

Výše uvedené příkazy jsou pro výpis seznamu balíků nebo pouze aktualizaci těchto balíčků, jejichž aktualizace nemá žádné problémy se závislostmi. Chcete-li získat nezpracovaný seznam balíčků v novějších verzích, než instalované, zadejte:

# zypper lu -a

Tím se aktualizuje seznam všech balíků, bez ohledu na to, zda jsou instalovatelné nebo ne, nebo zda je nutné interakce uživatele pro vyřešení některých problémů.

Aktualizace distribuce (Distribution upgrade)

Pro náš účel použijeme příkaz dist-upgrade or dup

Tento příkaz používá aktualizaci distribuce jako algoritmus, který balíčky rozdělí, unmaintaned balíčky a podobně. Použijte jej k přechodu na jinou verzi vydání své distribuce.

# zypper dup

Doporučuje se povolit nejen hlavní repozitáře distribuce, který chcete nainstalovat a několik důležitých repozitářů, které jste používali (ještě lépe - jejich verze, která odpovídá aktuálnímu hlavnímu repozitáři) během dist-upgrade. Toho lze dosáhnout vypnutím starých repozitářů pomocí Zypper MR-da, přidání nových úložišť pomocí Zypper ar a vydávající Zypper DUP. Můžete také zadat repozitáře, jež mají být použity. Použitím - repo příklad: Zypper DUP-r-r repo1 repo2 ....

Otázka: Je pravda, že Zypper up je pouze pro aktualizace balíčků, kdy novější verze je ve stejném repozitáři jako zastaralé a příkaz Zypper dup aktualizuje vše, bez ohledu na to, ve kterém repozitáři se nový balíček nachází?

Odpověď: Zypper up aktualizuje balíčky, pokud jsou k dispozici novější verze, ale nebude měnit dodavatele (Poznámka: Celý Build Service v současné době má stejného výrobce). Zypper DUP se naopak pokusí synchronizovat aktuálně nainstalované balíčky s těmi k dispozici od (všech) repozitářů, které jste povolili. To znamená, že to bude výhodné, pokud provádíte downgrade nainstalované verze na novější než tu, jež je k dispozici v repozitářích.

Použití Zypper ve skriptech a aplikacích (Using zypper in scripts and applications)

Zypper podporuje několik globálních voleb, díky kterým je vhodný pro použití v automatizovaných procesech jako jsou skripty. Také několik různých exit kódů uvedených v manuálové stránce Zypper je třeba zkontrolovat při použití Zypper v automatizovaném procesu.

Neinteraktivní režim (Non interactive mode)

Pro náš účel použijeme příkaz --non-interactive

V tomto režimu Zypper nevyzve uživatele k jakékoliv odpovědi a místo toho používá standardní typ odpovědi. Při použití této volby je zaručeno, že Zypper nebude viset v čekání na výzvu pro odpověď na stdin nebo v nekonečné smyčce.

Chcete-li například aktualizaci automaticky bez potvrzení, můžete zadat:

# zypper --non-interactive update

Tento příkaz nevyžaduje potvrzení od uživatele v pokračovaní aktualizace, přeskočí všechny interaktivní patche, které budou potřebovat další potvrzení, a dále automaticky odpoví na další výzvy.

Žádný režim GPG kontroly (No GPG checks mode)

Pro náš účel použijeme příkaz --no-gpg-checks

Pokud se tato možnost používá, Zypper se vždy rozhodne pokračovat, pokud některá z kontrol gpg selže, např. repozitář nemá podepsán soubor nebo je soubor podepsán GPG, ale kontrola selže, atd.

Automatický souhlas s licencí (Auto-agree with licenses)

Pro náš účel použijeme příkaz --auto-agree-with-licenses

Toto je speciální volba pro instalaci, odstranění a aktualizaci pomocí příkazu. Při použití uživatel prohlašuje, že on nebo ona souhlasí s podmínkami licence a příkaz nainstaluje dané balíčky a samozřejmě Zypper bude automaticky říkat "ano" na licenční výzvy k potvrzení. To je užitečné pro lidi, kteří instalují stejnou sadu balíčků na více počítačích (díky automatizaci procesu) a kdy se seznámili s obsahem licence již dříve.

Zkrácený/tichý výstup (Quiet output)

Pro náš účel použijeme příkaz --quiet

Předchází zobrazování velkého množství textů, jako jsou informace o průběhu a zobrazuje pouze výsledek operace a chybové zprávy.

XML výstup (XML output)

Pro náš účel použijeme příkaz --xmlout

Tato volba umožňuje nástroji Zypper vyjadřovat se v XML. To umožňuje skriptům, grafickým front-end aplikacím nebo jiným typům aplikací, zobrazit výsledek, který chcete použít pro analýzu Zypper výstupu v dobře definovaném a standardním způsobu. RNC XML schéma výstupu Zypper je k dispozici zde: /usr/share/Zypper/xml/xmlout.rnc

Ne všechny (ale většina) výstupy jsou v současné době v XML, cílem je mít všechny možné výstupy v XML.

Výzvy (Prompts)

Následující výčet by měl být kompletní seznam případů, kdy Zypper potřebuje interakci s uživatelem, spolu s odpověďmi použitými v neinteraktivním režimu. Všechny další možnosti zde uvedené mají vyšší prioritu než --non-interactive, takže jsou použity odpovědi, které vyplývají z automatického použítí, i když se --non-interactive nepoužívá.

Výzvy související s GPG volbou (GPG-related prompts)

V případě --no-gpg-checks, se zobrazí zpráva s upozorněním, nebo je napsána na stderr a přihlášení.

výzva výchozí odpověď s --no-gpgp-checks poznámka

accept unsigned file?

N

Y

accept new key (reject the key, trust temporarily, or trust always? [r/t/a])

R R

nový klíč se dá ověřit nebo importovat pouze v interaktivním režimu

accept unknown key?

N

Y

verification of signed file failed, continue?

N

Y

no digest for a file, continue?

N

Y

accept unknown digest?

N

Y

Ostatní výzvy (Other prompts)

výzva

výchozí odpověď

s --no-gpgp-checks

poznámka

 proceed with installation /removal/update?

Kromě toho --no-confirm volba může být využita pro instalaci/odstranění/aktualizaci příkazy i bez globálního --non-interactive

 confirm 3rd party license  N

Jest-li --auto-agree-with-licenses použijete

Kromě toho, pro Zypper update, existuje --skip-interactive možnost, jež může být použita k vyloučení interaktivní záplaty z to-be-installed list.

confirm a patch message

Y

problem while installing /removing a resolvable, Abort /Retry /Ignore?

ABORT

problem while downloading a package, Abort/Retry/Ignore?

ABORT

dependency conflict, #/s/r/c (solution number, skip, retry, or cancel)

c  Vždy zrušit, interakce s uživatelem je potřeba pro vyřešení závislostí

media change request

ABORT

remove problematic lock?

Y

XML výstup, výzvy (prompts) je vždy označen značkou, která obsahuje atribut id. Výčet všech známých IDS je k dispozici v prompt.h soubor je součástí balíčku Zypper (/usr/include/Zypper/prompt.h).


Kompatiblita s RUG (Compatibility with Rug)

Zypper syntaxe je podobná Rug, ale jeho příkazy a možnosti nastavení se od začátku odlišují od Rug, stejně jako jeho výstup a chování. Nicméně Zypper je schopen pracovat i s Rug kompatibilním módem a podporuje většinu jeho příkazů. Pro více informací viz: man zypper, oddíl COMPATIBILITY WITH RUG.


| zdroj: en.opensuse.org | článek je dostupný pod GFDL 1.2, autoři: zde |

Přidat komentář


Bezpečnostní kód
Obnovit

Joomla SEF URLs by Artio

linuxportal-one ictmanazer joomladev-logo firefox-podpora  ocal-logo