Portal:Zypper

Opensuse.gif Ez a szócikk a Zypper használatát ismerteti. A Zypper egy parancssoros csomagkezelő, amely független a ZMD-től és nem is használja annak adatbázisát. A Zypper szintaxisa szinte teljesen megegyezik a rug-éval.

Támogatott szolgáltatások

A Zypper a Libzypp által támogatott telepítési forrásokból képes szoftverek telepítésére. Jelenleg ezek a következők:

  • YaST telepítési források (mint a telepítő CD/DVD-k, azaz susetag-ek)
  • XML RPM metadata (repodata/repomd.xml, azaz YUM)

Megjegyzés: a Zypper nem használja a zmd (ZENworks Menagement Daemon) adatbázist.

Csomagok

A Zypper az openSUSE 10.2 beta1 óta a disztribúció része. Az openSUSE 10.1-hez is készült libzypp-1.x.x -et használó zypper és a legújabb libzypp-et használó zypper.

Hibaelhárítás

Létezik egy globális --verbose kapcsoló, amely több lépésben is használható a kimenet részletességének növelésére (jelenleg 2 szintig), például: zypper -vv up.

Hibák bejelentésekor kérjük használja a Libzypp komponenst, valamint csatolja a logfájlt és a zypper kimenetét. Amennyiben a hiba egyszerűen reprodukálható, nincs szükség a teljes fájlra. Ekkor a ZYPP_LOGFILE=logfile_name változó megadásával futtassa a Zyppert, és a létrejött fájlt csatolja.

A 0.8.0 verziótól kezdve a zypper logja a /var/log/zypper.log.

A zypp-devel levelezőlistán bekapcsolódhat a Zypperről folyó beszélgetésbe.


A Build Service tárolóinak hozzáadása

Lásd a [1] felhasználói oldalát.

Röviden a zypper-ről

A zypper egy parancssoros csomagkezelő, amely független a ZMD-től és nem is használja annak adatbázisát. Mivel a rugg/ZMD esetenként nagyon lassú és erőforrásigényes lehet, érdemes megfontolni a zypper, mint alternatíva használatát.

A zypper szintaxisa szinte teljesen megegyezik a rug-éval. Szemléltetésül telepítsük fel a VLC médialejátszót a VideoLAN tárolójából.

1) A tároló felvétele videolan néven

Adjuk hozzá a http://download.videolan.org/pub/vlc/SuSE/10.2 tárolót, a szolgáltatás neve legyen videolan. Ehhez a service-add (sa) parancsot használjuk.

testicek2:~ # zypper sa http://download.videolan.org/pub/vlc/SuSE/10.2 videolan
Determining http://download.videolan.org/pub/vlc/SuSE/10.2 source type...
http://download.videolan.org/pub/vlc/SuSE/10.2 is type YUM
Added Installation Sources:
[x]* videolan (http://download.videolan.org/pub/vlc/SuSE/10.2)

2) A csomag kiválasztása

Listáztassuk ki a vlc szót tartalmazó csomagokat. Ehhez a search (se) parancsot használjuk.

testicek2:~ # zypper se vlc
Restoring system sources...
Parsing metadata for 20070605-173658...
Parsing metadata for 20070605-173645...
Parsing metadata for SUSE-Linux-10.2-Updates...
Parsing metadata for videolan...
S | Catalog         | Type    | Name                   | Version       | Arch
--+-----------------+---------+------------------------+---------------+-----
  | videolan        | package | vlc                    | 0.8.6c-1.3    | i586
  | videolan        | package | vlc-beta               | 0.9.0-20910.1 | i586
  | videolan        | package | vlc-beta-debuginfo     | 0.9.0-20910.1 | i586
  | videolan        | package | vlc-beta-mozillaplugin | 0.9.0-20910.1 | i586
  | videolan        | package | vlc-debuginfo          | 0.8.6c-1.3    | i586
  | videolan        | package | vlc-devel              | 0.8.6c-1.3    | i586
  | videolan        | package | vlc-mozillaplugin      | 0.8.6c-1.3    | i586

3) A csomag telepítése

Láttuk, hogy a vlc csomagra van szükségünk. Telepítsük az install (in) parancs használatával.

testicek2:~ # zypper in vlc
Restoring system sources...
Parsing metadata for 20070605-173658...
Parsing metadata for 20070605-173645...
Parsing metadata for SUSE-Linux-10.2-Updates...
Parsing metadata for videolan...
Parsing RPM database...
Summary:
<install>   [S4:0][package]libdvdcss-1.2.9-5.1.i586
<install>   [S4:0][package]libmad-0.15.1b-2.1.i586
<install>   [S4:0][package]ffmpeg-0.4.9.9778-4.1.i586
<install>   [S4:0][package]vlc-0.8.6c-1.3.i586
Continue? [y/n] y
Downloading: [S4:0][package]libdvdcss-1.2.9-5.1.i586, 19.0 K(33.9 K unpacked)
Installing: [S4:0][package]libdvdcss-1.2.9-5.1.i586
Downloading: [S4:0][package]libmad-0.15.1b-2.1.i586, 66.5 K(90.2 K unpacked)
Installing: [S4:0][package]libmad-0.15.1b-2.1.i586
Downloading: [S4:0][package]ffmpeg-0.4.9.9778-4.1.i586, 2.1 M(5.6 M unpacked)
Installing: [S4:0][package]ffmpeg-0.4.9.9778-4.1.i586
Downloading: [S4:0][package]vlc-0.8.6c-1.3.i586, 5.7 M(16.1 M unpacked)
Installing: [S4:0][package]vlc-0.8.6c-1.3.i586

A vlc csomag (és függőségeinek) telepítése kész. Ha ennyit tudunk róla, már használhatjuk a zyppert. Nem árt persze a mélyebb ismerete, ehhez olvassunk tovább.

Részletesen a zypper-ről

Globális opciók

A következő kapcsolók az összes zypper tranzakciónál használhatók:

  • -V, --version
    a verziószám kiíratása
  • -v, --verbose
    debug kimenet
  • -t, --terse
    tömör kimenet.
  • -s, --table-style
    tábla stílusa (integer).
  • -r, --rug-compatible
    a rug kompatibilitás bekapcsolása.
  • --non-interactive
    a nem-interaktív mód bekapcsolása. (Fejlesztés alatt) Ilyen módban a zypper nem vár felhasználói döntésekre, hanem az alapértelmezett lehetősége választja. Ez hasznos a zypper cronból vagy scriptból való futtatása esetén.

Támogatott csomagtípusok

A Zypper különféle erőforrás objektumokkal képes dolgozni. A támogatott típusok:

csomag (package)
Minden RPM csomag, beleértve a patcheket és delta csomagokat
folt (patch)
A csomagok frissítései, lehetnek speciális scriptek és üzenetek
minta (pattern)
A csomagok egy csoportja
nyelv (language)
Nyelvi támogatást nyújtó csomagtípus
Termék (product)
Csomagok csoportja, amely egy kiegészítő termék telepítéséhez szükséges
atom (atom)
Egy folt része

Parancsok

A zypper többféle műveletet támogat, amelyek külön paranccsal érhetőek el. Minden parancs fogadja a fentebb felsorolt globális opciókat.

A leggyakrabban használt parancs a zypper update amely letölti és telepíti a frissítéseket a felvett csatornákról. Ha frissíteni szeretné a rendszerét, erre a parancsra van szüksége.

Segítség megjelenítése

Az általános szintaxis:

help, -h

Segítség megjelenítése. Az általános segítség megjelenítéséhez:

zypper -h

Egy parancshoz tartozó segítség megjelenítése:

zypper -h [parancs]

Szolgáltatások listázása

Az általános szintaxis:

service-list, sl

A szolgáltatások (az elérhető csatornák) listázása.

A kimenetre példa:

testicek2:~ # zypper sl
# | Enabled | Refresh | Type | Name                    | URI
--+---------+---------+------+-------------------------+---------------------------------------------------------------
1 | No      | Yes     | YaST | 20061129-152243         | http://download.opensuse.org/distribution/10.2/repo/non-oss/
2 | Yes     | Yes     | YUM  | SUSE-Linux-10.2-Updates | http://ftp.uni-kl.de/pub/linux/suse/update/10.2
3 | Yes     | Yes     | YaST | 20061129-133739         | ftp://10.20.3.1/netboot/find/openSUSE-10.2-RC3-retail-i386-CD1

Szolgáltatások hozzáadása

Mielőtt bármely csomagot telepíthetnénk egy csatornából, fel kell vennünk a szolgáltatások közé. Az általános szintaxis:

service-add, sa <URI> [alias]

Új szolgáltatás hozzáadása. A parancs következő opciókat fogadja:

  • -r, --repo <fájl.tároló> - Az URI és a név beolvasása fájlból

Példa:

testicek2:~ # zypper sa http://ftp.uni-kl.de/pub/linux/suse/update/10.2 SUSE-Linux-10.2-Updates
Determining http://ftp.uni-kl.de/pub/linux/suse/update/10.2 source type...
http://ftp.uni-kl.de/pub/linux/suse/update/10.2 is type YUM
Added Installation Sources:
[x]* SUSE-Linux-10.2-Updates (http://ftp.uni-kl.de/pub/linux/suse/update/10.2)

Szolgáltatások törlése

service-delete, sd <URI|alias>

Szolgáltatás törlése.

Példa:

zypper sd http://ftp.uni-kl.de/pub/linux/suse/update/10.2

vagy

zypper sd SUSE-Linux-10.2-Updates

Szolgáltatás átnevezése

Az általános szintaxis:

service-rename, sr <URI|alias> <új-alias>

Szolgáltatás átnevezése.

Csomagok telepítése

Az általános szintaxis:

install, in [csomagnév] 

Csomagok telepítése. A parancs a következő kapcsolókat fogadja:

  • -c, --catalog - csak ebből a katalógusból
  • -t, --type,-t [típus] - a paraméter típusa (alapértelmezett: csomag)

Kapcsolók nélkül a keresés minden szolgáltatásban fog történni. Egy adott szolgáltatás használatához van szükség a -c kapcsoló és az URI vagy a katalógus aliasának használatára.

Csomagok eltávolítása

Az általános szintaxis:

remove, rm  [csomagnév]

Csomagok eltávolítása. A parancs a következő kapcsolókat fogadja:

  • -t, --type [típus] - a paraméter típusa (alapértelmezett: csomag)

Csomagok keresése

Az általános szintaxis:

search, se [minta]

Egy mintára illeszkedő csomagok keresése. A parancs a következő kapcsolókat fogadja:

  • --match-all - Keresés az összes keresési feltételre (alapértelmezés)
  • --match-any - Keresés bármely keresési feltételre
  • --match-substrings - A keresési feltételekkel bármely egyezésre keres (alapértelmezett)
  • --match-words - Csak teljes kifejezésekre keres
  • --match-exact - Egyy adott csomagnévre keres
  • -d, --search-descriptions - A csomagleírásokban és összegzésekben is keres
  • -c, --case-sensitive - Kis/nagybetűérzékeny keresés.
  • -i, --installed-only - Csak a már telepített csomagokat mutass.
  • -u, --uninstalled-only - Csak a még nem telepített csomagokkat mutassa.
  • -t, --type - Csak a megadott típusú csomagok keresése.
  • --sort-by-name - Csomagok rendezése név szerint (alapértelmezzett).
  • --sort-by-catalog - Csomagok rendezése katalógus szerint.

Példa:

testicek2:~ # zypper se help
Restoring system sources...
Parsing metadata for 20061115-083114...
Parsing metadata for SUSE-Linux-10.2-Updates...
S | Catalog         | Type    | Name        | Version       | Arch
--+-----------------+---------+-------------+---------------+-------
  | 20061115-083114 | package | devhelp     | 0.10-55       | i586
i | 20061115-083114 | package | gimp-help   | 0.9-40        | noarch
i | 20061115-083114 | package | susehelp    | 2006.06.20-22 | noarch
i | 20061115-083114 | package | susehelp_cz | 2006.06.20-22 | noarch
  | 20061115-083114 | package | susehelp_de | 2006.06.20-22 | noarch
  | 20061115-083114 | package | susehelp_en | 2006.06.20-22 | noarch
  | 20061115-083114 | package | susehelp_es | 2006.06.20-22 | noarch
  | 20061115-083114 | package | susehelp_fr | 2006.06.20-22 | noarch
  | 20061115-083114 | package | susehelp_hu | 2006.06.20-22 | noarch
  | 20061115-083114 | package | susehelp_it | 2006.06.20-22 | noarch

Patchek ellenőrzése

Az általános szintaxis:

patch-check, pchk

Patchek keresése.

Példa:

testicek2:~ # zypper pchk
Restoring system sources...
Parsing metadata for 20061115-083114...
Parsing metadata for SUSE-Linux-10.2-Updates...
Parsing RPM database...
2 patches needed. ( 0 security patches )

Patchek listázása

Az általános szintaxis:

patches, pch

Az elérhető patchek listázása.

Példa:

testicek2:~ # zypper pch
Restoring system sources...
Parsing metadata for 20061115-083114...
Parsing metadata for SUSE-Linux-10.2-Updates...
Parsing RPM database...
Catalog                 | Name               | Version | Category    | Status
------------------------+--------------------+---------+-------------+-----------
SUSE-Linux-10.2-Updates | kwin-decor-suse2   | 2213-0  | optional    | Not Needed
SUSE-Linux-10.2-Updates | suspend            | 2247-0  | recommended | Needed
SUSE-Linux-10.2-Updates | update-test-trival | 2212-0  | optional    | Not Needed
SUSE-Linux-10.2-Updates | update-test-trival | 2214-0  | recommended | Needed

Részletes információ megjelenítése a patchről

Az általános szintaxis:

patch-info [patch_neve1] [patch_neve2]...

Teljes információ a patchről.

Példa:

testicek2:~ # zypper patch-info suspend
Restoring system sources...
Parsing metadata for 20061115-083114...
Parsing metadata for SUSE-Linux-10.2-Updates...
Parsing RPM database...

Information for patch suspend:
Name: suspend Version: 2247-0 Arch: noarch Status: Broken Category: recommended Created On: Fri Nov 10 02:44:36 2006 Reboot Required: No Package Manager Restart Required: No Interactive: No Summary: supend to disk never resumes, but reboots instead Description: Due to an error in the "resume" program, resume from suspend to disk was not possible. The machine booted up normally instead.
Provides: patch: suspend == 2247-0
Requires: atom: suspend == 0.20.20061106-4

Frissítések listázása

Az általános szintaxis:

list-updates, lu

Frissítések listázása. A parancs a következő kapcsolókat fogadja:

  • -t, --type - a paraméter típusa (alapértelmezett: patch)

Példa:

testicek2:~ # zypper lu
Restoring system sources...
Parsing metadata for 20061115-083114...
Parsing metadata for SUSE-Linux-10.2-Updates...
Parsing RPM database...
Catalog                 | Name               | Version | Category    | Status
------------------------+--------------------+---------+-------------+-------
SUSE-Linux-10.2-Updates | suspend            | 2247-0  | recommended | Needed
SUSE-Linux-10.2-Updates | update-test-trival | 2214-0  | recommended | Needed

Frissítés

Az általános szintaxis:

update, up

Csomagok frissítése.

  • -t, --type - a paraméter típusa (alapértelmezett: patch)

Példa:

testicek2:~ # zypper update
Restoring system sources...
Parsing metadata for 20061115-083114...
Parsing metadata for SUSE-Linux-10.2-Updates...
Parsing RPM database...
Summary:
<install>   [S3:0][patch]suspend-2247-0.noarch
<uninstall> [S0:0][package]update-test-trival-1.1-2.noarch
<install>   [S3:0][patch]update-test-trival-2214-0.noarch
<install>   [S3:0][package]update-test-trival-99.9-99.9.noarch
<install>   [S3:0][atom]suspend-0.20.20061106-4.i586
<install>   [S3:0][package]suspend-0.20.20061106-4.i586
<install>   [S3:0][atom]update-test-trival-99.9-99.9.noarch
<uninstall> [S0:0][package]suspend-0.5-2.i586
Continue? [y/n] y
Downloading: [S3:0][package]update-test-trival-99.9-99.9.noarch, 3.2 K(354 B unpacked)
Installing: [S3:0][package]update-test-trival-99.9-99.9.noarch
Downloading: [S3:0][package]suspend-0.20.20061106-4.i586, 479.0 K(1.0 M unpacked)
Installing: [S3:0][package]suspend-0.20.20061106-4.i586

Információ kérése csomagokról

Az általános szintaxis:

info, if ['csomagnév']

A teljes információ kiiratása a csomagról.

Példa:

testicek2:~ # zypper info suspend
Restoring system sources...
Parsing metadata for 20061115-083114...
Parsing metadata for SUSE-Linux-10.2-Updates...
Parsing RPM database...

Information for package suspend:

Catalog: SUSE-Linux-10.2-Updates Name: suspend Version: 0.20.20061106-4 Arch: i586 Installed: Yes Status: out-of-date (version 0.5-2 installed) Installed Size: 1.0 M Summary: A Set Of Tools To Support Sleep Modes Description: A set of tools to support suspending notebooks, working around the specific problems each machine has.

Authors: -------- Pavel Machek <pavel@suse.cz> Rafael J. Wysocki <rjw@sisk.pl> and others. testicek2:~ # zypper update Restoring system sources... Parsing metadata for 20061115-083114... Parsing metadata for SUSE-Linux-10.2-Updates... Parsing RPM database... Summary: <install> [S3:0][patch]suspend-2247-0.noarch <uninstall> [S0:0][package]update-test-trival-1.1-2.noarch <install> [S3:0][patch]update-test-trival-2214-0.noarch <install> [S3:0][package]update-test-trival-99.9-99.9.noarch <install> [S3:0][atom]suspend-0.20.20061106-4.i586 <install> [S3:0][package]suspend-0.20.20061106-4.i586 <install> [S3:0][atom]update-test-trival-99.9-99.9.noarch <uninstall> [S0:0][package]suspend-0.5-2.i586 Continue? [y/n] y Downloading: [S3:0][package]update-test-trival-99.9-99.9.noarch, 3.2 K(354 B unpacked) Installing: [S3:0][package]update-test-trival-99.9-99.9.noarch Downloading: [S3:0][package]suspend-0.20.20061106-4.i586, 479.0 K(1.0 M unpacked) Installing: [S3:0][package]suspend-0.20.20061106-4.i586

Zypper használata scriptekben

A 0.6.16 verzió óta a zypper támogatja a nem-interaktív módon, ezáltal használható scriptekben, és cron-ból indítva is. Ebben a módban nem várakozik felhasználói döntésekre, hanem az alappértelmezett választ használja.

A nem-interaktív mód a --non-interactive globális opcióval kapcsolható be. Például:

 zypper --non-interactive update --type=patch

Ez a parancs nem kér megerősítést az adminisztrátortól, és kihagyja a további felhasználói döntéseket igénylő patcheket is.

A zypper és a rug együttes használata

A zypper és a zmd változtatásai nem szinkronizálódnak az openSUSE 10.2-ben. Használható mindkettő egyszerre, de a szinkronizálás problémákat okozhat. Ennek elkerülésére tanácsos csak egy parancsssoros szoftvermenedzsment-eszközt használni. A zypper (openSUSE szoftverkezelés minta a YaST-ban) megfelelő eszköz egy önálló számítógép, vagy egy notebook esetében. Ha az openSUSE 10.2-t egy Novell ZENworks által menedzselt hálózatban szeretné használni, a zmd és a rug használata javasolt (ZENworks Linux Management minta a YaST-ban).

Az alapértelmezett telepítésben mindkét program telepítve van. Telepítés közben vegye ki a ZENworks Linux Management mintát a szoftverválasztékból a telepítés során. Telepítés után is eltávolítható a rug és a zmd a YaST-ból. Ehhez tegye a következőket:

  1. nyissa meg a YaST-ot és válassza a Szoftver telepítése, eltávolítása menüt
  2. válassza a Minták szűrőt a Szűrő legördülőmenüjéből.
  3. Vegye ki a pipát a ZENworks Linux Management minta mellől.
  4. Kattintson az Elfogadás-ra.


Példa a zypper kimenetére rug-ot és zmd-t is tartalmazó rendszeren:

testicek2:~ # zypper sd http://ftp.uni-kl.de/pub/linux/suse/update/10.2 SUSE-Linux-10.2-Updates
6552 zmd
ZENworks Management Daemon is running.
WARNING: this command will not synchronize changes.
Use rug or yast2 for that.
testicek2:~ # zypper sa http://ftp.uni-kl.de/pub/linux/suse/update/10.2 SUSE-Linux-10.2-Updates
6552 zmd
ZENworks Management Daemon is running.
WARNING: this command will not synchronize changes.
Use rug or yast2 for that.
Determining http://ftp.uni-kl.de/pub/linux/suse/update/10.2 source type...
http://ftp.uni-kl.de/pub/linux/suse/update/10.2 is type YUM
Added Installation Sources:
[x]* SUSE-Linux-10.2-Updates (http://ftp.uni-kl.de/pub/linux/suse/update/10.2)