zypper - tartu œlikool
TRANSCRIPT
TARTU ÜLIKOOL
Matemaatika-informaatikateaduskond
Marika Zirk
Katrin Valdson
KURSUSE „OPERATSIOONISÜSTEEMID“
PRAKTIKUMIMATERJALID
Zypper
Juhendaja: Kersti Taurus
Tartu 2012
2
Sisukord 1. Üldiselt Zypperist ............................................................................................................... 3
1.1 Mis on Zypper? ........................................................................................................... 3
1.2 Kuidas ja kust Zypperit saada? .................................................................................... 3
2. Zypperi kasutamise ABC .................................................................................................... 4
2.1. Mõisted ........................................................................................................................ 4
2.2 Ülevaatlikult käskudest ............................................................................................... 5
2.3 Süntaks ........................................................................................................................ 6
2.4 Abi saamine ................................................................................................................. 7
2.5 Repositooriumite haldamine ........................................................................................ 7
2.6 Tarkvara paigaldamine ................................................................................................ 8
2.7 Tarkvara eemaldamine ................................................................................................ 9
2.8 Tarkvara uuendamine .................................................................................................. 9
2.9 SUSE uuendamine ..................................................................................................... 10
2.10 Zypper ja shell ........................................................................................................... 10
2. Praktikum ............................................................................................................................. 11
2.1 Legend ....................................................................................................................... 11
2.2 Eesmärk ..................................................................................................................... 11
2.3 Algseis ....................................................................................................................... 11
2.4 Ülesanded: ................................................................................................................. 11
Kasutatud kirjandus .................................................................................................................. 15
3
1. Üldiselt Zypperist
1.1 Mis on Zypper? Zypper on käsurea paketihaldur (command line package manager), mis kasutab, nagu ka
YaST, libzypp´i. Zypperiga saab näiteks paigaldada, uuendada, eemaldada
tarkvarapakette ja kontrollida sõltuvusseoseid. Toetab YaST2 ja RPM MetaData
pakettide repositooriume. Zypperi repositooriumid on YaST´i repositooriumitega
sarnased. Zypper tuleb toime ka repositooriumite laiendustega, nagu näiteks patches,
patterns ja products. Sisuliselt tuleb Zypper toime kõigi toimingutega, mida saab teha
YaST´iga, seega kumma kasuks otsustada, sõltub eelkõige kasutaja enda eelistustest ja
harjumustest. Siinkohal oleks kasutajal hea teada, et Zypperi paigaldamine ei välista
YaST´i kasutamist. Zypper´it ja YaST´i saab kasutada ka koos (vaheldumisi), küll mitte
samaaegselt, sest korraga nad ei saaks ligipääsu RPM andmebaasile.
1.2 Kuidas ja kust Zypperit saada? Zypper RPM paketid on tavaliselt saadaval standardse openSUSE paigaldamismeedial
ja samuti online repositooriumites (näiteks http://en.opensuse.org/Portal:Zypper).
Zypperi algset koodi hoitakse GIT repositooriumis Github´is. Kõige uuema Zypperi
versiooni on võimalik saada käsuga, mis loob koopia antud repositooriumist kataloogi
nimega zypper käesolevasse töökataloogi:
git clone git://github.com/openSUSE/zypper.git
Üldiselt ei ole käsitis paigaldamine vajalik. Hea on teada ka seda, et pakettide
paigaldamisel Zypperiga paigaldatakse ka pakettide lisad (package´s dependencies).
4
2. Zypperi kasutamise ABC
2.1. Mõisted Kuna Windows´iga harjunud tavakasutajas võivad Zypperis kasutatavad mõisted
tekitada segadust, siis järgnevalt on ära toodud rida mõisteid, mida antud
programmiraames kasutatakse ning mis peaksid lihtsustama antud programmist
arusaamist ja selle käsitlemist üldiselt.
repositooriumid (repositories) – HTTP, FTP serverid, DVD või kaust
kohalikul kettal, kus asuvad paketid (pakettide grupid) ja pakettide meta-
andmed, mida soovitakse paigaldada
aalias (alias)- repositooriumi aalias on teiste sõnadega repositooriumi nimi, mis
on unikaalne
ressursi indentifikaatorid (URI)- repositooriumi või ressursi asukoha viit
uuendamine (refresh) – repositooriumi uuendamine tähendab tegelikult
pakettide metaandmete allalaadimist meediumilt, mis talletatakse kohalikus
cache mälus ja eel-liigendatakse see .solv failideks
teenused (services) – teenused asuvad üks tase repositooriumitest kõrgemal
ning nende ülesandeks on repositooriumite haldamine või eriliste ülesannete
täitmine
paketi tüübid (package types) – Zypper töötab erinevate ressursiobjektidega,
mida nimetatakse „resolvables“, mis on sisuliselt kas pakett, paik, muster või
toode.
pakett (package) – harilik RPM pakett (.rpm lühendiga pakett)
paik (patch) – ühe või mitme paketi uuendus
muster (pattern) - vajalike või soovitatavate pakettide grupp, mis on antud
funktsionaalsuse paigaldamiseks vajalikud
toode (product) - pakettide grupp, mis on antud toote paigaldamise jaoks
vajalikud
5
2.2 Ülevaatlikult käskudest
Zypperis on mitmeid erinevaid käske, mis on selguse mõttes võimalik jagada
järgnevalt:
repositooriumi haldamine
refresh, repos, addrepo, removerepo, modifyrepo, namerepo
refresh-services, services, addservice, removeservice, modifyservice
pakettide haldamine
install, remove, source-install
uuneduste haldamine
patch, list-patches, patch-check, patches, update, list-updates, dist-upgrade
päringute tegemine
search, info, what-provides, list-updates, patch-check, patches, packages,
patterns, products
lukustamine
locks, addlock, removelock, cleanlocks
utiliit
verify, install-new-recommends
muud
help, licenses, versioncmp, targetos
Enimkasutatud käsud Zypper paketihalduris:
Kirjeldus Käsk
Kuvab erinevad valikuvõimalused ja käsud zypper
Kuvab abiinfo käsu „search“ kohta zypper help search
Kuvab kõik hetkel vajalikud paikade
(patches) uuendused
zypper lp
Vajalike paikade paigaldamine zypper patch
Paketi otsing zypper se paketi_nimi
Paketi eemaldamine zypper rm paketi_nimi
Paketi paigaldamine zypper in paketi_nimi
6
Uuendab, kus võimalik, kõik paigaldatud
paketid uuemate versioonidega
zypper up
Repositooriumi lisamine zypper addrepo
2.3 Süntaks Üldine Zypperi süntaks näeb välja järgmiselt:
zypper [üldsied valikud] käsk [käsuspetsiifilised valikud]
[argumendid]
Viidad, mis on kandilistes sulgudes ei ole kohustuslikud. Kõige kergemini Zypperiga
opereerimiseks on vaja konsooliaknasse lihtsalt kirjutada zypper ning selle järele vastav
käsk. Näiteks:
zypper update
Lisaks võib veel käsu ette lisada mõningaid üldisi valikuid (global options), nagu
näiteks sõnaühend --non-interactive, mille korral sooritatakse vastavalt valitud
käsk vaikimisi ja ei küsita kasutajalt mingit täiendavat kinnitust:
zypper --non-interactive update
Selleks, et kasutada erivevaid käsuspetsiifilisi valikuid tuleb nad sisestada pärast käsku,
mida tahetakse sooritada:
zypper update --auto-agree-with-licenses
Aga on ka käske, mis vajavad mitu argumenti, nagu näiteks programmi paigaldamine:
zypper install mplayer
Samuti vajavad osad käsuspetsiifilised valikud argumente. Järgneva käsu sisestades
uuendatakse süsteem kõige uuemate pakettidega:
zypper update -t package
7
2.4 Abi saamine
Abi saamiseks piisab sellest, kui sisestada konsooliaknasse
zypper
mille korral kuvatakse kõik käsud ja üldised valikud, mida antud programmiga on
võimalik sooritada. Kui soovitakse saada abi mingi kindla käsu kohta, siis tuleb
sisestada
zypper [käsk] –help
Viimase help asemel võib kasutada ka lühendit h, mis vähendab trükitööd ning toimib
sama edukalt.
2.5 Repositooriumite haldamine Selleks, et Zypperiga oleks võimalik programme paigaldada või uuendada, tuleb esmalt
veenduda, et on olemas vastavad repositooriumid ning, et nad on Zypperile nähtavad.
Selleks, et saada ülevaadet kõigist repositooriumitest tuleks kasutada käsku
zypper repos
Repositooriumi lisamiseks tuleks välja mõelda tulevase repositooriumi nimi ehk aalias,
mis sisestatakse käsku pärast URI:
zypper addrepo URI aalias
URI võib olla kas interneti aadress (internetis olev repositoorium), kaust, CD või DVD.
Aaliase võib repositooriumile valida vabalt eeldusel, et ta on unikaalne. Vastasel juhul
teatab Zypper veast.
Kui soovitakse väljakuvatud nimekirjast mingit repositooriumit eemaldada, siis tuleks
kasutada käsku:
zypper renamerepo (eemaldatava repositooriumi aalias)
Repositooriumite uuendamiseks kasutatakse käsku:
zypper refresh
Repositooriumite uuendamine on vajalik eelkõige pärast repositooriumi lisamist. Samuti
tagab repositooriumi uuendamine aegunud repositooriumite väljavahetamise.
Repositooriumi uuendamisi võib teha käsitsi vastavat käsku sisestades, aga võib panna
8
ka automaatsele uuendusele (autorefresh). Erinevate valikuvõimaluste uurimiseks on
soovitatav lugeda kasutusjuhendit, mis kuvatakse ekraanile käsuga:
man zypper
Repositooriume on võimalik ka eksportida ja importida. Näiteks käsuga
zypper lr --export backups/repos/foo.repo
Võib eksportida kõik reposritooriumi kirjed faili selleks, et nad hiljem mõnda teise
masinasse importida.
2.6 Tarkvara paigaldamine Eeldusel, et repositoorium on olemas, on võimalik tarkvara paigaldada. Samas, antud
programmi näol on tegu üsna lihtsasti kasutatava ja sirgjoonelise paketihalduriga. Kui
on soovi otsida mõnda paketti, siis piisab sellest, kui sisestada
zypper search STING (string võib sisaldada ka * ja ?)
Võimalik on otsida kas mingit kindlat nimetust või siis osalist sobivust (vaikimisi).
Näiteks sisestades:
zypper se KMahjongg
kuvatakse ekraanile leitud tulemused. Edasi tuleks välja valida sobilik kirje ning see
paigaldada. Kui esimeses tulbas (pealkirjaga S) on täht i (pärast otsimiskäsu
sisestamist), siis see tähendab, et antud pakett on juba paigaldatud. Juba pärast
paigaldust kuvatakse sama nime otsides ekraanile (tulbas S on vastava programmi
staatuseks i ehk installed):
S | Name | Summary | Type
--+-----------+-------------------------+--------
i | kmahjongg | Mahjongg solitaire game | package
Paketi paigaldamiseks tuleb kasutada käsku:
Zypper install paketinimi
Samuti võib paigaldada RPM-i ostse netilingina ette andes:
zypper install http://www.näide.ee/paketinimi.rpm
9
Vaikimisi Zypper küsib kinnitust enne uue paketi paigaldamist või vana eemaldamist.
Kui tekib soov, et toiming tehtaks ilma igasuguse kinnitusepäringuta, võib enne kavas
olnud toimingut sisestada hoopis:
zypper --non-interactive install paketinimi
2.7 Tarkvara eemaldamine
Selleks, et eemaldada juba paigaldatud paketti kasuta (siinkohal tuleks olla ettevaatlik,
et mitte eemaldada süsteemi jaoks olulisi pakette, nagu näiteks glibc, zypper, kernel,
mille eelmadamine võib kaasa tulla kogu süsteemi seiskumise):
zypper remove paketinimi
2.8 Tarkvara uuendamine Sisestades
Zypper lp
kuvatakse kõik vajalikud uuendused paikadele (patch updates). Tulemuseks peaks
ekraanile ilmuma midagi analoogset:
# | Alias | Name | Enabled |
Refresh
--+--------------+-----------------------+---------+-------
-
1 | repo-non-oss | openSUSE-12.1-Non-Oss | Yes | Yes
2 | repo-oss | openSUSE-12.1-Oss | Yes | Yes
3 | repo-update | openSUSE-12.1-Update | Yes | Yes
4 | zypper | zypper | Yes | Yes
Eelnev käsk kuvab kõik vajalikud paikade uuendused, kuid kui soovitakse näha kõiki
võimalikke uuendusi, siis tuleks kasutada käsku
Zypper patches
Selleks, et vajalikke paikade uuendused paigaldataks, tuleks kasutada käsku
10
zypper patch
2.9 openSUSE uuendamine Üks huvitav võimalikest käskudest, mida Zypper võimaldab on ka openSUSE kiire
uuendamine. Käsuks tuleb kirjutada zypperdist-upgrade või zypper dup
ning openSUSE uuendatakse võimaluse korral uuemaks versiooniks.
2.10 Zypper ja shell
Kuna tihtipeale võib olla vaja korrata samu käske korduvalt, siis on kasulik teada, et
Zypperit on võimalik kasutada ka kestana ehk in shell mode (zypper shell). Kestana
käivitamisel tuleb lihtsalt anda ette vastav käsk koos sobiliku parameetriga, näiteks
zypper> in zsh
...
zypper> exit
Kestana on Zypperi kasutamine kiirem, kuna kõik vajalik informatsioon hoitakse mälus.
Samuti toetab Zypper ka readline library´t, mis tähendab, et on võimalik kasutada kõiki
käsurea muutmis funktsioone Zypper shell´is, mis on kasutuses Bash shell´is. Lisaks
kõigele eelnevale talletab Zypper kõik sooritatud käsud faili (~/.zypper_history).
11
2. Praktikum
2.1 Legend
Zypper – sisestatavad käsud
[Alt + F2] – vajutatavad klaviatuuriklahvid
2.2 Eesmärk Antud praktikumi eesmärgiks on tutvuda openSUSE 12.1 käsurea paketihalduri Zypper
peamiste käskudega. Töö käigus õpitakse kasutama Zypperiga tarkvara paigaldamist,
uuendamist, eemaldamist.
2.3 Algseis Praktikumi alguseks peaks arvutisse olema paigaldatud openSUSE 12.1 või selle
hilisem versioon. Mõnede käskude täitmiseks peaks kasutajal olema võimalik siseneda
root-õigustes (näiteks selleks, et paigaldada Zypper). Samuti ei ole antud praktikumi
võimalik läbi viia ilma Internetita.
2.4 Ülesanded:
Ülesanded Detailne juhend
Zypperi paigaldamine
Veendu, et Zypper ei ole juba
paigaldatud
Ava käsurida. Selleks sisesta klaviatuurilt [Alt+F2].
Avanenud konsooliaknasse kirjuta näiteks zypper.
Samuti võib antud programmi proovida otsida ka
süsteemist endast.
Paigalda Zypper Selleks ava repositooriumite halduskeskkond ja
sisesta sinna eelnevalt leitud Zypperi repositooriumi
aadress; sobilik koht repositooriumi saamiseks asub
näiteks aadressil
ttp://download.opensuse.org/factory/repo/oss/ .
Paigalda programm läbi tarkvara halduskeskkonna
(Software management).
Veendu, et Zypper on
paigaldatud
Selleks, et veenduda, et Zypper on paigaldatud, ava
käsurida ning kirjuta sinna näiteks zypper help. Kui
12
ilmub veateade või ei juhtu midagi, siis järelikukult
ei ole paigaldamine õnnestunud. Kui kuvatakse info
erinevate Zypperi käskude kohta, siis paigaldamine
õnnestus.
Esiteks tutvume võimalike Zypperi käskudega. Selleks on hea teada mõningaid abi
saamise käske.
Kuva ekraanile võimalikud
Zypperi valikuvõimalused ja
käsud
Käsk: zypper. Kui tekib küsimusi ühe või teise
käsu suhtes, siis on mõtekas kasutada Zypperi abi.
Käsu zypper help sisestamise tulemusena
kuvatakse ekraanile võimalike käskude nimekiri.
Kuvab abiinfo käsu „search“
kohta
zypper help search
Selleks, et otsida pakette, mille
nimes või kirjelduses oleks sõna
„new“
zypper search --search-descriptions
new
Järgmisena paigaldada Pacman ja KMahjongg
Esteks kuva juba olemasolevad
repositooriumid ja veendu, et
vajalike programmide
repositooriume ei eksisteeri veel.
Samuti võid katsetada, kas äkki
on olemas vajalik .rpm pakett.
Olemasolevate repositooriumite ekraanile
kuvamiseks kasuta käsku: zypper repos.
Selleks, et otsida pakette, mille nimes või
kirjelduses oleks sõna „pacman“ sisesta: zypper
search --search-descriptions pacman
Pacmani paigaldamine Selleks tuleb esiteks leida vastav .rpm pakett.
Näiteks mängu Pacmani .rpm paketi leiab
aadressilt:
http://packman.links2linux.org/package/rpmkey-
packman/265100 . Edasi tuleks vajalik pakett
paigaldada. Selleks saab kasutada käsku: zypper
install paketinimi. Paketi nime asemel
pane allalaetud Pacmani mängu .rpm faili nimi (faili
laiendiks peaks kindlasti olema .rpm). Samuti võib
13
paigalda ka RPM-i otse netilingina ette andes,
näiteks:
Zypper install
http://www.näide.ee/paketi_nimi.rpm
Veendu, et mäng on paigaldatud,
pakett on olemas
Selleks võid uuesti kuvada repositooriumite
nimekirja või siis üritada leida mängu nime läbi
süsteemi otsingu. Paketi otsingu jaoks kasuta käsku
zypper se paketi_nimi. Kui pakett on
olemas ja juba paigaldatud, siis peaks ekraanile
ilmuvas tabelis esimeses veerus antud programmi
reas olema täht i.
Paigalda mäng KMahjongg Sisesta zypper se paketi_nimi. Siin võid
kohe katsetada sisestada zypper se
KMahjongg. Järgnevalt kuvatakse erkraanile
leitavad failid, vali sobilik ja paigalda see. Pärast
paigaldamist veendu jällegi, et mäng on olemas.
Vaata, kas leitakse pakett ülesse käsuga zypper
search --search-descriptions
KMahjongg.
Kuva jällegi olemasolevad
repositooriumid ja vaata, kas on
toimunud muudatusi. Miks?
Kasuta käsku: : zypper repos
Järgnevalt katsetame paikade, pakettide uuendamist
Kuva välja võimalikud
uuendused/patchid, mis on
saadaval eelnevalt paigaldatud
pakettidele
zypper list-updates
Vajalike paikade (patches)
paigaldamine
Esiteks kuva vajalikud paigad ekraanile. Seda saad
the kasutades käsku: zypper lp. Järgnevalt
14
paigalda vajalikud paigad, kasuta käsku: zypper
patch. Võid taaskord kuvada ekraanile vajalikud
paigad. Kas on toimunud muutusi?
Tee vajalikud paketiuuendused Järgnev käsk uendab, kus võimalik, kõik
paigaldatud paketid uuemate versioonidega:
zypper up.
Uuenda pakettide informatsioon
repositooriumites
Kasuta käsku: zypper refresh
Paketi ja repositooriumi eemaldamine
Kuva kõik süsteemi
repositooriumid
Kasuta käsku: zypper repos. Tulemuseks
peaks olema tabel pealkirjadega Enable, Refresh,
Type, Alias, Name.
Eemalda vabalt valitud
repositoorium
Zypper removerepo
repositooriumi_nimi
Veendu, et antud repositoorium
on eemaldatud
Kuva repositooriumite nimekiri ekraanile: zypper
repos
Eemalda pakett Paketi eemaldamiseks kasuta käsku zypper rm
paketi_nimi . NB! Ära eemalda pakette, mis on
olulised programmi töö jätkamiseks. Vaikimisi
Zypper küsib kinnitust enne uue paketi paigaldamist
või vana eemaldamist. Kui tekib soov, et toiming
tehtaks ilma igasuguse kinnitusepäringuta võib enne
kavas olnud toimingut sisestada hoopis: zypper -
-non-interactive rm paketi_nimi .
Katseta, kas eemaldatud paketti
on võimalik leida.
Kasuta käsku: zypper se paketi_nimi.
15
Kasutatud kirjandus http://www.linuxtopia.org/online_books/opensuse_guides/opensuse11.1_referen
ce_guide/sec_zypper.html (25.04.2012)
Zypper cheat sheet : http://en.opensuse.org/images/1/17/Zypper-cheat-sheet-
1.pdf (25.04.2012)
Zypper info: http://en.opensuse.org/SDB:Zypper_usage (25.04.2012)
http://www.linuxjournal.com/content/package-management-zypper (25.04.2012)
http://www.installfest.cz/if09/files/predn/if09-zypper.pdf (25.04.2012)
http://en.opensuse.org/SDB:Zypper_usage (25.04.2012)