Zypper - Tartu œlikool

15
TARTU ÜLIKOOL Matemaatika-informaatikateaduskond Marika Zirk Katrin Valdson KURSUSE „OPERATSIOONISÜSTEEMID“ PRAKTIKUMIMATERJALID Zypper Juhendaja: Kersti Taurus Tartu 2012

Transcript of Zypper - Tartu œlikool

Page 1: Zypper - Tartu œlikool

TARTU ÜLIKOOL

Matemaatika-informaatikateaduskond

Marika Zirk

Katrin Valdson

KURSUSE „OPERATSIOONISÜSTEEMID“

PRAKTIKUMIMATERJALID

Zypper

Juhendaja: Kersti Taurus

Tartu 2012

Page 2: Zypper - Tartu œlikool

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

Page 3: Zypper - Tartu œlikool

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).

Page 4: Zypper - Tartu œlikool

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

Page 5: Zypper - Tartu œlikool

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

Page 6: Zypper - Tartu œlikool

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

Page 7: Zypper - Tartu œlikool

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

Page 8: Zypper - Tartu œlikool

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

Page 9: Zypper - Tartu œlikool

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

Page 10: Zypper - Tartu œlikool

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).

Page 11: Zypper - Tartu œlikool

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

Page 12: Zypper - Tartu œlikool

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

Page 13: Zypper - Tartu œlikool

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

Page 14: Zypper - Tartu œlikool

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.

Page 15: Zypper - Tartu œlikool

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)