RPM Package Manager: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Vvinogra (talk | contribs)
Vvinogra (talk | contribs)
Line 183: Line 183:
=Spikker=
=Spikker=
See on väike spikker RPMi käsu kohta.<br/>
See on väike spikker RPMi käsu kohta.<br/>
Need käsud autor kontrollis '''Fedora 14''' distributsioonis.<br/><br/>
Need käsud on kontrollitud '''Fedora 14''' distributsioonis.<br/><br/>
'''Juhtimine:'''<br/>
'''Juhtimine:'''<br/>
Nende käsude käivitamiseks on vaja olla '''super user'''ina ja tuleb kasutada koos käsuga rpm -<'''täht'''> <paketi nimi>
Nende käskude käivitamiseks on vaja olla '''super user''' ja tuleb kasutada koos käsuga rpm -<'''täht'''> <paketi nimi>
{|border="1"
{|border="1"
!Käsk
!Käsk
Line 203: Line 203:
|-
|-
| -K või --checksig   
| -K või --checksig   
|Võimalus kontrollida kõiki ülevaateväljaanded ja allkirjade sisalduvate PACKAGE_FILE ja tagada terviklust ja päritolu paketis.
|Võimalus kontrollida kõiki ülevaate väljaandeid ja allkirju sisalduvaid PACKAGE_FILE, et tagada terviklust ja päritolu paketist.
|-
|-
| -U või --upgrade
| -U või --upgrade
|Paketi ülendus või installeerimini, kui ta ei olnud varem installitud
|Paketi uuendamine või installeerimine, kui ta ei olnud varem installitud
|}
|}
<br/>                 
<br/>                 
'''Paketi valimise suvandid:'''
'''Paketi valimise suvandid:'''
Järgmised käsud kasutatakse koos käsuga rpm -q<'''täht'''> <paketi nimi>   
Järgmiseid käske kasutatakse koos käsuga rpm -q<'''täht'''> <paketi nimi>   
{|border="1"
{|border="1"
!Käsk
!Käsk
Line 216: Line 216:
|-
|-
| -a või --all
| -a või --all
|Päring kõiki installitud pakette
|Päring kõikide installeeritud pakettide kohta
|-
|-
| -c või --configfiles
| -c või --configfiles
|Konfiguratsioonifailide nimekiri
|Konfiguratsiooni failide nimekiri
|-
|-
| -d või --docfiles
| -d või --docfiles
|Dokumentatsioonifailide nimekiri
|Dokumentatsiooni failide nimekiri
|-
|-
| -f või --file FILE
| -f või --file FILE
Line 231: Line 231:
|-
|-
| -i või --info
| -i või --info
|Näitab paketi infot, sealhulgas nime, versiooni ja kirjeldus
|Näitab paketi infot, sealhulgas nime, versiooni ja kirjeldust
|-
|-
| -l või --list  
| -l või --list  
|Paketti failide nimekiri
|Paketi failide nimekiri
|-
|-
| -V või --verify
| -V või --verify
Line 240: Line 240:
|-
|-
| -R või --requires
| -R või --requires
|Paketide nimekiri, millised sõltuvad selle paketi
|Pakettide nimekiri, mis sõltuvad sellest paketist
|-
|-
| -s või --state
| -s või --state
|Näitab failide olek paketis (on olemas kolm olekud: normal, not installed või replaced)
|Näitab failide olekut paketis (on olemas kolm olekud: normal, not installed või replaced)
|}           
|}           
<br/>
<br/>
Line 249: Line 249:
-V või verify
-V või verify
Verify väga kasulik, sest ta võib võrrelda käesoleva oleku installitud failide nende algse olekuga.<br/>
Verify väga kasulik, sest ta võib võrrelda käesoleva oleku installitud failide nende algse olekuga.<br/>
Tavaliselt kataloogi /bin käskude nimekirjas tuleb fail, milline võib kontrollida. See utiliit näitab informatsiooni süsteemi protsessori arhitektuuris. Et teada millist kogust see fail, on vaja kirjutada tehke seda käsu ('''-f''' näitab, millisele paketile suhtub selline fail):
Tavaliselt kataloogi /bin käskude nimekirjas tuleb fail, mida võib kontrollida. See utiliit näitab informatsiooni süsteemi protsessori arhitektuuris. Et teada millist kogust see fail, on vaja kirjutada tehke seda käsu ('''-f''' näitab, millisele paketile suhtub selline fail):
<pre>
<pre>
rpm -qf /bin/<utiliidi nimi>
rpm -qf /bin/<utiliidi nimi>
</pre>
</pre>
Peale seda teeme varukoopiat ja lisame failisse sõna "Tere":
Peale seda teeme varukoopia ja lisame failisse sõna "Tere":
<pre>
<pre>
cp /bin/<utiliidi nimi> /bin/<utiliidi nimi>_back
cp /bin/<utiliidi nimi> /bin/<utiliidi nimi>_back
Line 274: Line 274:
</pre>
</pre>


Eraldamise kujutamise jaoks kasutatakse spetsiaalsed tähistused:<br/>
Eraldamise kujutamiseks kasutatakse spetsiaalseid tähistusi:<br/>
Failide kontrollimise tulemus:
Failide kontrollimise tulemus:
{|border="1"
{|border="1"

Revision as of 09:54, 29 April 2011

RPM Package Manager

Originaal autor:

Red Hat

Stabiilne versioon:

4.9.0

Kuupäev:

02.03.2011

Operatsioonisüsteem:

GNU/Linux

Tüüp:

Paketihaldussüsteem

Litsents:

GNU GPL

Veebileht:

rpm.org/

Referaat on protsessis

Sissejuhatus

RPM (rekursiivne akroonüüm RPM Package Manager; varem nimega Red Hat Package Manager) määrab kahte üksust: tarkvarapakettide vorming ja programm, mis on loodud selle paketi kontrollimise jaoks. RPM määrab kahte asja: paketi tarkvara vormingut ja tarkvara, mis on tehtud selle paketi juhtimiseks. Programmi abil võib installida, kustutada ja uuendada tarkvarat.
RPM - see on põhine paketide vorming Linux Standards Base-s. RPM kasutab litsentsina GPLv2.
Failide hoidmiseks RPM vormingus kasutatakse arhiivset konteinerit cpio, kasutades utiliiti gzip. Hilisemates versioonides võib kasutada arhiveerimiseks ka stari ja kokkupakkimiseks bzip2, LZMA või XZ. Alustades versioonist RPM 5.0 on võimalik arhiveerimismeetodi XAR kasutamine.

Eesmärk

  • Artikli eesmärgiks on tutvustada RPM Package Manageri
  • Ülevaade, mida võib teha selle programmi abil
  • Vaadata üle tihti kasutatavad käsud

Sisukord

Artiklis on olemas teoreetiline ja praktiline osa.
Teoreetilises osas võib saada ja uurida, mis on RPM ja mille jaoks teda on vaja.
Praktilises osas vaatame kuidas seda programmi saab kasutada.

Kasutus

Selles artiklis on kirjutatud käsud, mida kõige tihidamini kasutatakse.
Lisaks on olemas spikker.

Struktuur

RPM sisaldab .spec fail, mis annab informatsiooni paketist, tema sõltuvusest (millised paketid oli installitud, et see pakett võib töötada). Fail .spec sisaldab paketi failide manifesti, infot sellest, kuhu süsteemis need failid peavad olema koormatud ja millised on nende põlised õigused. RPM sisaldab veel eelpaigaldatud scripti, mis on kirjutatud paketi töötleja poolt. Lisaks sisaldab RPM kompileeritud binaarset faili ja paigaldatud skripti.

.spec eelpaigaldatud skript binaarne fail binaarne fail ... binaarne fail eelpaigaldatud skript

Andmebaas

RPM andmebaas kirjuta /var/lib/rpm kataloogis. Ta seisneb ühest andmebaasist (Packages), millisel hoiatakse kogu informatsiooni paketidest, ja palju väikeseid andmebaase (__db.001, __db.002 jne), mis teenindavad indekseerimise jaoks ja sisaldavad teateid sellest, millised failid muutusid ja luuakse paketide installerimise ja kustutamise protsessis.
Kui andmebaas läheb katki (see võib juhtuda, kui installerimise või kustutamise protsess oli «tapetud» või ketas on täis), siis saab teda taastada käsu abil:

rpm --rebuilddb

Mis on sees

Paar sõna sellest, mis toimub paigaldamise või kustutamise protsessi jooksul. RPM automatiseerib rutiinseid operatsioone. Paketide paigaldamise või kustutamise tegevusi saab skriptida. Asukoha selle skriptide sõltuvuses kanoonilise tegevuste järjestikkus, näiteks paketi paigaldamise protsessis, need skriptid nimetatakse eelpaigaldatud või paigaldatud skriptideks. Standaartne operatsioonide järjekord, mis paigaldatakse rpmi paketi paigaldamise jooksul on:

  • Kontrollitatakse sõltuvusi
  • Kontrollitatakse võimalike konflikte (kõige tihedam konfliktide põhjus - süsteemis paigaldatud ühenimeline pakett on paigaldatud enne uuemat versiooni)
  • Töödeldakse konfiguratsiooni faili
  • Kooperitakse binaar faile vajalikku kataloogi
  • Teostatakse peale installerimist skriptid
  • Uuendatakse paketide andmebaas

Paketide nimetused

Igal RPM paketil on nimetus, mis koosneb mitmest osast:

  • Programmi nimetus
  • Programmi versioon
  • Redaktsiooni number (arv kui palju kordi programm oli uuendatud). Tihti kasutatakse distributsiooni määramise jaoks, mille ajaoks on tehtud pakett
  • Arhitektuur, millele on tehtud pakett (i386, ppc jne)

Paketil on tavaliselt niisugune nimetuse vorming:

<nimetus>-<versioon>-<redaktsioon>.<arhitektuur>.rpm

Näiteks:

nano-2.2.6-1.i386.rpm

RPMi eelised ja puudused

RPMi eelised

  • Kustutamise kergus ja programmide uuendamine
  • Populaarsus: väga palju programme on kokku kogutud RPMi, see tähendab, et ei ole vajadust teha programmi lähtekoodis muudatusi
  • "Pole interaktiivne" installerimine: kergesti automatiseeritud installerimise/uuendamise/kustutamise protsess
  • Paketide tervikluse kontroll kontrollsummade abil ja GPG-allkirjadega
  • DeltaRPM - see on apache'i analoog, millega võib uuendada installitud tarkvarat minimaalsega pingitusega
  • Akkumulatsiooni võimaluse kogemus kogujade spec-failis
  • Spec-failide relatiivne kompaktsus makrode kasutamise abil

RPM väärilisused

Uuendamine

RPMi abil saate uuendada oma süsteemi individuaalseid komponente ja kogu süsteem installimata. RPM tagab intellektuaalse, täis automaatse uuendamise viisi süsteemi ja paketide installimiseks. RPM jälgib eraldi konfiguratsiooni faile ja dokumentatsiooni pakette ja annab installerimise/uuendamise võimaluse iga paketi osale eraldi.

Tugev päringude vahend

RPM on loodud tugeva liidese päringute töötluse jaoks. Te võite otsida pakette andmebaasist või mõnest failist. Te võite lihtsasti leida, millisele paketile milline fail kuulub, ja kust see paket oli võetud. Te võite teha andmebaasi järelepärimise või .rpm faili järelpärimise, sest tema pealkiri sisaldab kõike vajaliku informatsiooni tema sisust.

Süsteemide kontroll

RPM annab võimalusi süsteemi terviklikkuse ja eri failide kontrollimise jaoks. Kui teil tekkis kahtlus, mis on seotud iga paketiga (näiteks te kahtlete, kas te ei kustutanud vajalik fail) - te võite kontrollida paketi terviklust. RPMis saab teha sõltuvuste kontrolli, failide kontrollsummasid, juurdepääsu õigusi, suurust jne kõikide installitud süsteemis paketide jaoks.

RPM salvestab originaal allikaid programmi looja, mida ta võib levitada. RPMi paketi allikaid (.src.rpm) sisaldavaid programmi algkoodi, kõik paigid pluss täis instruktsioon paketi koostamise kohta. RPM paketi uuendamiseks peale uue tarkvara versiooni teie on piisavalt vahetada algkoodi ja võimalik parandada koostamise instruktsioone ja viidata RPMile koostada antud paket.

Põhilised puudused

  • Makropaketid distributsioonide vahel võivad eraldada
  • ...

Toetavad Linuxi distributsioonid

Nimekiri mõnede tuntumatest distributsioonidest, mis on asutatud RPM baasil:

(See on mittetäielik nimekiri)

Praktiline kasutamine

Kõikides Linuxi programmides võib vaadata kasutusjuhendit. Selle jaoks kirjutage:

man rpm

Kui te tahate installida paketi RPMi abil, siis kirjutage:

rpm -i <paketi nimi>

Peale seda millal pakett asub teie failisüsteemis, piisab käivitada rpm käsk ja anda kolm omadust:

-U (upgrade) Miks -U parem, kui -i? Asi on selles, et -i võib ainult installida, aga -U annab uuendusi ja installeerimisi. Sõltumatu sellest, kas te tahate uuendada programmi või paigaldada, see käsk teeb vajalikud tegevused.

-h (installeerimise protsessi kujutamise jaoks)

-v (verbose, väljastus laiemalt informatsiooni täidetavast tegevustest)

rpm -Uhv <paketi nimi>

Kustutada paketi on väga lihtne:

rpm -e <paketi nimi>

Paketi uuendamise jaoks kasutatakse:

rpm -U <paketi nimi>

Kontrollida, kas paket on paigaldatud:

rpm -qa | grep <paketi nimi>

Kui te tahate uurida informatsiooni paketi kohta, siis kirjutage:

rpm -qi | grep <paketi nimi>

Veel üks võimalus informatsiooni vaatamiseks:

rpm -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}\n' <paketi nimi>

Vaadata failide nimekiri, millised sisenevad paketide sisukorra võib:

rpm -ql | grep <paketi nimi>

Suur kollektsioon võimalusi annab infot režiimi päringude omaduste kohta. Paketist ja tema failidest võib saada praktiliselt kogu informatsiooni. Need võimalusi realiseeritakse enda võti-filtri abil või --queryformat abil. --queryformat näitab ainult tellitud ametlikke välju. Näiteks selline käsk näitab paketi kirjeldust:

rpm -q --queryformat %{DESCRIPTION} <paketi nimi>

Distributsiooni nimetus saab teada selle käsu abil:

rpm -q --queryformat %{DISTRIBUTION} <paketi nimi>


NB! Märkus
Nagu teised programmid Linuxi jaoks, programm rpm alati rakendab. Ja selle tõttu versioonide vahel võib tekkida probleeme ja raskusi pakettide installerimisega, mis loodi eelmistes versioonides. On vaja kasutada pakette, mis sobivad teie installeeritud versiooniga.

Spikker

See on väike spikker RPMi käsu kohta.
Need käsud on kontrollitud Fedora 14 distributsioonis.

Juhtimine:
Nende käskude käivitamiseks on vaja olla super user ja tuleb kasutada koos käsuga rpm -<täht> <paketi nimi>

Käsk Kirjeldus
-e või --erase Paketi kustutamine
-c või --configfiles Konfiguratsioonifailide nimekiri
-h või --hash Räsimine
-i või --install Paketi intalleerimine
-K või --checksig Võimalus kontrollida kõiki ülevaate väljaandeid ja allkirju sisalduvaid PACKAGE_FILE, et tagada terviklust ja päritolu paketist.
-U või --upgrade Paketi uuendamine või installeerimine, kui ta ei olnud varem installitud


Paketi valimise suvandid: Järgmiseid käske kasutatakse koos käsuga rpm -q<täht> <paketi nimi>

Käsk Kirjeldus
-a või --all Päring kõikide installeeritud pakettide kohta
-c või --configfiles Konfiguratsiooni failide nimekiri
-d või --docfiles Dokumentatsiooni failide nimekiri
-f või --file FILE Paketti omanikud FILE
-g või --group GROUP Paketti gruppid GROUP
-i või --info Näitab paketi infot, sealhulgas nime, versiooni ja kirjeldust
-l või --list Paketi failide nimekiri
-V või --verify Paketi kontrollimine
-R või --requires Pakettide nimekiri, mis sõltuvad sellest paketist
-s või --state Näitab failide olekut paketis (on olemas kolm olekud: normal, not installed või replaced)


Paketi verifitseerimine:
-V või verify Verify väga kasulik, sest ta võib võrrelda käesoleva oleku installitud failide nende algse olekuga.
Tavaliselt kataloogi /bin käskude nimekirjas tuleb fail, mida võib kontrollida. See utiliit näitab informatsiooni süsteemi protsessori arhitektuuris. Et teada millist kogust see fail, on vaja kirjutada tehke seda käsu (-f näitab, millisele paketile suhtub selline fail):

rpm -qf /bin/<utiliidi nimi>

Peale seda teeme varukoopia ja lisame failisse sõna "Tere":

cp /bin/<utiliidi nimi> /bin/<utiliidi nimi>_back

echo "Tere" >> /bin/<utiliidi nimi>

Ja peale seda verifitseerimise mehhanism näitab probleeme:

rpm -V <käsu rpm -qf /bin/<utiliidi nimi> tulemus>

S.?....T.    /bin/<utiliidi nimi>

Taastame faili ja kontrollime veel kord:

rm /bin/<utiliidi nimi>

mv /bin/<utiliidi nimi>_back /bin/<utiliidi nimi>

Tulemus:

.......T /bin/<utiliidi nimi>

Eraldamise kujutamiseks kasutatakse spetsiaalseid tähistusi:
Failide kontrollimise tulemus:

Käsk Kirjeldus
S Faili suuruse eraldamine (size)
M Oleku eraldamine (Mode) (juurdepääsu õigused ja faili tüüp)
5 MD5 summa eraldamine
D Ei ühita major/minor-numbrid
L Ei ühita readLink(2) tee
U Ei ühita kasutajanimi
G Ei ühita grupp
T Eraldab mTime

See abistab administraatorile selgitama mõned probleemid ja paketid reinstallimise jaoks.

Eeskomponendid RPMi jaoks

Töö programmiga rpm konsoolis ei ole raske, kui mõnikord on lihtsam kasutada graafilist liidest. Linux tavaliselt sisaldab eeskomponentide programmid, millised on graafilised. Igal distbutsioonil on oma eeskomponendid ja nad võivad erineda. Seda infot võib leida distrubutsiooni dokumentatsioonis.

Kokkuvõte

Kasutatud kirjandus

Autor

  • Vadim Vinogradin A21
  • vvinogra AT itcollege.ee