rpm - Red Hat správca balíkov
rpm [voľby]
rpm je veľmi vkonn
správca balíkov,
ktor môe byť pouit na zostavenie, intaláciu, vpis
informácií, kontrolu, aktualizáciu a odintalovanie
jednotlivch softverovch balíkov.
Balík obsahuje
archív súborov a informácií o balíku
vrátane mena, verzie a popisu.
Musí byť pouit v niektorom z nasledujúcich reimov:
inicializácia databázy,
prebudovanie
databázy,
zostavenie balíka,
rekompilácia balíka,
zostavenie balíka z
tar archívu,
zistenie informácií,
vpis informačnch tagov,
intalácia,
občerstvenie,
odintalovanie,
kontrola a overenie,
overenie podpisu,
opätovn podpis,
pridanie
podpisu,
nastavenie vlastníkov a skupín a
vpis
konfigurácie.
Spravovanie databázy:
*** rpm -i [--initdb]
rpm -i [--rebuilddb]***
Zostavenie:
*** rpm [-b|t] [balík_spec]+
rpm [--rebuild] [zdrojové_rpm]+
rpm [--tarbuild] [tarovan_zdroj]+***
Zistenie informácií:
*** rpm [--query] [zisťovacie-voľby]
rpm [--querytags]***
Spravovanie intalovanch balíkov:
*** rpm [--install] [intalačné-voľby]
[súbor_balíka]+
rpm [--freshen|-F] [intalačné-voľby]
[súbor_balíka]+
rpm [--erase|-e] [odintalačné-voľby]
[balík]+
rpm [--verify|-V] [overovacie-voľby] [balík]+***
Podpisy (signatúry):
*** rpm [--verify|-V] [overovacie-voľby] [balík]+
rpm [--resign] [súbor_balíka]+
rpm [--addsign] [súbor_balíka]+***
Rozličné:
*** rpm [--showrc]
rpm [--setperms] [balík]+
rpm [--setgids] [balík]+***
Tieto voľby môu byť pouité vo vetkch reimoch.
- •
- Vypíe mnostvo oklivch ladiacich
informácií.
- •
- Vypíe čo najmenej informácií -
normálne sa zobrazia iba chybové hláky.
- •
- Vypíe o niečo dlhiu informáciu o
pouití ako je ben vpis.
- •
- Vypíe jednoriadkovú informáciu
pozostávajúcu z čísla pouívanej verzie
rpm.
- •
- Kad zo súborov v
<zoznam_súborov>** oddelench dvojbodkami je** postupne
čítan cez rpm za účelom získania
konfiguračnch informácií. Implicitn
<zoznam súborov>** je
/usr/lib/rpm/rpmrc:/etc/rpmrc:~/.rpmrc.** Iba prv súbor zo
zoznamu súborov musí existovať, a vlnovky (~)
sú expandované na hodnotu $HOME.
- •
- Pouije adresár <adresár>** ako
koreňov adresár systému pre vetky operácie.**
Uvedomte si, e toto znamená, e databáza sa sa bude
čítať alebo modifikovať pod adresárom
<adresár>** a vetky predintalačné a
pointalačné skripty** budú beať po
prevedení chroot() na adresár
<adresár>.
- •
- Pouije databázu RPM v ceste
<cesta>.
- •
- Aktualizuje iba databázu a nie súborov
systém.
- •
- Pouije <počítač>** ako
počítač s FTP alebo HTTP proxy serverom.** Bliie
podrobnosti sú uvedené v sekcii VOĽBY
FTP/HTTP.
- •
- Pouije <port>** ako FTP alebo HTTP port na
počítači s proxy serverom.** Bliie podrobnosti
sú uvedené v sekcii VOĽBY FTP/HTTP.
- •
- Presmeruje vstup rpm na príkaz
<príkaz> .
Veobecná forma intalačného príkazu je
rpm -i [intalačné-voľby]
<súbor_balíka>+
Táto voľba naintaluje nov balíček. Veobecná
forma aktualizačného príkazu je
rpm -U [intalačné-voľby]
<súbor_balíka>+
Táto voľba aktualizuje existujúci naintalovan
balíček alebo naintaluje nov balíček.
Podobá sa intalačnému príkazu, rozdiel je iba v
tom, e vetky ďaľie verzie balíka sa odstránia zo
systému.
rpm [-F|--freshen] [intalačné-voľby]
<súbor_balíka>+
Táto voľba aktualizuje balíky, ale iba za predpokladu, e
predchádzajúce verzie sú naintalované.
<súbor_balíka>** môe byť pecifikovan
ako ftp alebo http URL,** v tomto prípade sa najprv
balíček stiahne a naintaluje a potom. Bliie podrobnosti o
vstavanej podpore ftp a http sú uvedené v sekcii
VOĽBY
FTP/HTTP.
- •
- Rovnak efekt ako súčasné pouitie
--replacepkgs, --replacefiles a --oldpackage.
- •
- Vypíe 50 znakov #, keď je cel archív
balíka rozbalen. Pre lepí vzhľad je vhodné
pouívať s voľbou -v.
- •
- Povolí aktualizáciu prepísaním
novieho balíka starím.
- •
- Vypíe stav rozbalovania súborov z
balíkového archívu v percentách. Toto je
praktické pri behu RPM z inch nástrojov.
- •
- Naintaluje balík aj v prípade, e
nahradí súbory z inch, u naintalovanch balíkov.
- •
- Naintaluje balíky aj v prípade, e
niektoré z nich u sú naintalované v
systéme.
- •
- Naintaluje alebo aktualizuje vetky missingok súbory
(súbory, ktoré nemusia nutne existovať) z
balíka bez ohľadu na to, či existujú.
- •
- Nevykoná kontrolu závislostí pred
intalovaním alebo aktualizovaním balíka.
- •
- Nevykoná predintalačné a
pointalačné skripty.
- •
- Nevykoná skripty, ktorch spúťou je
intalácia balíka.
- •
- Nevykoná kontrolu pripojeného
súborového systému na dostatok voľného
miesta pred intaláciou balíka.
- •
- Nenaintaluje súbory, ktorch mená
začínajú na <cesta>.
- •
- Nenaintaluje iadne súbory, ktoré sú
označené ako dokumentácia (ktoré
zahŕňajú najmä manuálové
stránky a texinfo dokumenty).
- •
- Naintaluje súbory, ktoré sú
označené ako dokumentácia. Toto je implicitné
nastavenie.
- •
- Nenaintaluje balík, iba jednoducho otestuje,
čo by sa vykonalo pri intalácii a vypíe
potenciálne konflikty.
- •
- Toto umoní intaláciu alebo
aktualizáciu aj v prípade, e sa nezhoduje
architektúra popísaná v binárnom RPM a
počítača, na ktor sa má balík
intalovať.
- •
- Toto umoní intaláciu alebo
aktualizáciu aj v prípade, e sa nezhoduje operačn
systém popísan v binárnom RPM a
počítači, na ktor sa má balík
intalovať.
- •
- Toto nastaví intalačn prefix na
<cesta>** pre relokovateľné**
(premiestniteľné) balíky.
- •
- Pre relokovateľné balíky,
preloí cestu súborov, ktoré sa mali umiestniť
na miesto <stará_cesta>** do
<nová_cesta> .**
- •
- Vnúti relokáciu aj v prípade, e
balík nie je relokovateľn. Pouíva sa spolu s
voľbou --relocate.
- •
- Nezmení poradie balíkov na intaláciu.
V opačnomom prípade by mohlo byť zmenené
poradie v zozname balíkov, aby sa zachovali závislosti.
Veobecná forma príkazu zistenia informácií je
rpm -q [zisťovacie-voľby]
Je moné pecifikovať, v akom formáte majú byť
vypísané vstupné údaje. Na takto
účel slúi voľba
[--queryformat|--qf],
nasledovaná formátovacím reťazcom.
Informačné vstupy sú modifikovanou verziou
tandardného
printf(3) formátovania. Formát je
vytvoren zo statickch reťazcov (ktoré môu
zahŕňať tandardné C znakové escape
sekvencie pre nov riadok, tabelátor a ďaľie
peciálne znaky a
printf(3) typové
formátovače). Keďe rpm u vie, aky typ má
vytlačiť, pecifikátor typu musí byť
vynechan a nahraden menom tagu hlavičky, ktorá má
byť vytlačená, uzavret znakmi {}. RPMTAG_
časť mena tagu môe byť vynechaná.
Alternatívny vstup formátovania môe byť poadovan, ak
je nasledovan tagom s
:typetag. Momentálne sú
podporované nasledujúce typy:
octal,
date,
shescape,
perms,
fflags, a
depflags.
Napríklad na vytlačenie informácie o mene balíka je
moné pouiť formátovací reťazec
%{NAME}. Na vytlačenie informácie o mene a
distribúcii v dvoch stĺpcoch je moné pouiť
%-30{NAME}%{DISTRIBUTION}.
rpm zobrazí zoznam vetkch tagov, ktoré pozná,
keď je spustené s argumentom
--querytags.
Existujú dve podmnoiny volieb pre zistenie informácií: vber
balíka a vber informácií.
Voľby vberu balíka:
- •
- Zisťuje u intalovanch balíkov s menom
<meno_balíka> .
- •
- Zisťuje u vetkch naintalovanch balíkov.
- •
- Zisťuje u vetkch intalovanch balíkov,
ktoré vyadujú <schopnosť> pre
správnu funkčnosť.
- •
- Zisťuje u vetkch intalovanch balíkov,
ktoré poskytujú vlastnosť
<virtuálna_schopnosť> .
- •
- Zisťuje u balíka, ktor vlastní
súbor <file>.
- •
- Zisťuje u balíkov, ktoré majú
skupinu <group>.
- •
- Zisťuje u (nenaintalovaného) balíka
<súbor_balíka>.
<súbor_balíka>** môe byť
pecifikovan v ftp alebo http tle URL,** v takomto prípade bude
stiahnutá hlavička balíka, a z nej
čítané poadované informácie. Bliie
informácie o vstavanej podpore ftp a http klienta sú v
sekcii FTP/HTTP VOĽBY.
- •
- Rozanalyzuje <spec_súbor>** a
zisťuje informácie z tohto súboru, ako keby** to bol
balík rpm. Aj napriek neprítomnosti vetkch
informácií (napr. zoznam súborov), tento druh
zisťovania umoňuje rpm získať
informácie zo spec súboru bez nutnosti napísať
peciálny analyzátor spec súborov.
- •
- Zisťuje u záznamu číslo
<číslo>** databázy priamo, toto je
uitočné pre** ladiace účely.
- •
- Vypíe balíky, ktorch spútou je
existencia balíka <balík>.
Voľba vberu informácií:
- •
- Vypíe informácie o balíku,
vrátane mena, verzie a popisu. Táto voľba
vyuíva --queryformat, ak je pecifikovan.
- •
- Vypíe zoznam balíkov, na ktorch dan
balík závisí.
- •
- Vypíe zoznam vlastností/schopností,
ktoré poskytuje tento balík.
- •
- Vypíe históriu zmien pre balík.
- •
- Vypíe zoznam súborov v balíku.
- •
- Vypíe stavy** jednotlivch súborov v
balíku (aplikuje voľbu -l). Stav jednotlivch
súborov môe byť normal
(normálny), not
installed (nenaintalovan) alebo
replaced (nahraden).**
- •
- Vypíe zoznam súborov označench ako
dokumentácia (aplikuje -l).
- •
- Vypíe iba zoznam konfiguračnch súborov
(aplikuje -l).
- •
- Vypíe balíkovo pecifick shellov skript, ktor
je pouit v intalačnom alebo odintalačnom procese, ak nejak
vôbec existuje.
- •
- Vypíe skripty, ktoré sú
spúťané spúťou, ak nejaká
existuje a je obsiahnutá v balíku.
- •
- Vypíe zoznam podrobnch vlastností
súborov pozostoávajúci z: cesta veľkosť
mtime md5sum mód vlastník skupina
je_konfiguračn_súbor je_dokumentačn_súbor rdev
symlink. Táto voľba musí byť pouitá
minimálne s jednou z nasledujúcich volieb -l, -c,
-d.
- •
- Usporiada zoznam balíkov podľa času
intalácie takm spôsobom, e posledn intalovan balík
bude na vrchu.
- •
- Vypíe zoznam vetkch súborov v kadom
balíku.
- •
- Vypíe vetky skripty, ktoré sú
spúťané spúťou vo vybranom
balíku.
Veobecná forma príkazu kontroly je
rpm -V|-y|--verify [overovacie-voľby]
Kontrola balíka prebieha z porovnania informácií z
intalovanch súborov z balíkov v systéme s
informáciami o súboroch, ktoré obsahoval pôvodn
balík (tieto su uloené v rpm databáze). Okrem inch
údajov, kontrola porovnáva veľkosť, MD5 kontroln
súčet, oprávnenia, typ, vlastníka a skupinu
kadého súboru. Vetky odchľky sú zobrazené.
Specifikačné voľby balíka sú rovnaké
ako reime vpisu informácii balíkov.
Súbory, ktoré neboli intalované z balíka,
tkajúce sa napr. dokumentačnch súborov pri pouití
voľby "
--excludedocs" pri intalácii, sú
v tichosti ignorované.
Voľby, ktoré môu byť pouité v kontrolnom
reime:
- •
- Ignoruje chbajúce súbory v systéme
počas kontroly.
- •
- Ignoruje chyby kontrolnch súčtov MD5
počas kontroly.
- •
- Ignoruje chyby PGP podpisov počas kontroly.
Vstup má formát 9 znakového reťazca, s
prípadnm rozírením vskytu "
c",
ktoré charakterizuje konfiguračn súbor a mena
súboru. Kad z ôsmych znakov popisuje vsledok porovnania
jedného konkrétneho atribútu súboru s
údajmi zaznamenanmi v RPM databáze. Jednoduchá "
." (bodka) znamená, e test preiel (neobjavené iadne
odchľky). Nasledujúce znaky oznamujú dôvod
neúspechu určitého testu:
- 5.
- MD5 kontroln súčet
- S.
- Veľkosť súboru
- T.
- Symbolick link
- U.
- Mtime (posledn čas modifikácie)
- V.
- Zariadenie
- W.
- Uívateľ
- X.
- Skupina
- Y.
- Mód (vrátane oprávnení a typu
súborov)
Veobecná forma príkazu kontroly rpm podpisu je
rpm --checksig <súbor_balíka>+
Takto sa overuje PGP podpis balíka
<súbor_balíka>** na uistenie** sa o jeho integrite
a pôvode. Konfiguračné informácie PGP sú
čítané z konfiguračnch súborov. Bliie
údaje sa nachádzajú v sekcii PGP POPDPISY.
Veobecná forma príkazu na odintalovanie je
** rpm -e **
<meno_balíka>+
- •
- Odstráni vetky verzie balíka, ktoré
súhlasia s menom <meno_balíka>. Normálne
sa vyvolá chyba, ak viac balíkov súhlasí s
menom <meno_balíka>.
- •
- Nevykoná pred a po odintalačné
skripty.
- •
- Nevykoná skripty, ktorch spúťou je
odintalovanie balíka.
- •
- Nebude skúmať závislosti pri
odintalovaní balíkov.
- •
- Nič sa v skutočnosti neodintaluje, len sa
preverí, čo by sa malo stať. Veľmi
uitočné s voľbou -vv.
Veobecná forma príkazu na zostavenie rpm je
rpm -[b|t]O** [zostavovacie-voľby] **
<spec_súbor_balíka>+
Argumentom je
-b, ak sa na zostavenie balíka pouije spec
súbor (súbor pecifikácií balíka) alebo
-t, ak
RPM má vyhľadať spec súbor
vnútri gzipovaného (alebo komprimovaného) tar
archívu, a tento pouiť na zostavenie balíka. Po prvom
argumente ďaľí argument (
O) pecifikuje
fázu tádia zostavenia a zabalenia, ktorá sa má
vykonať, a ktorá je jedna z:
- •
- Vykoná "%prep" fázu pre spec
súbor. Normálne toto vyvolá rozbalenie zdrojovch
archívov a aplikovanie záplat.
- •
- Vykoná "kontrolu zoznamu". Sekcia
"%files" z spec súboru je makrom expandovaná, a je
vykonaná kontrola, e kad súbor existuje.
- •
- Vykoná fázu "%build" pre spec
súbor (po vykonaní prep fázy). Toto normálne
vyvolá ekvivalent príkazu "make".
- •
- Vykoná fázu "%install" zo spec
súboru (po vykonaní prep a build fázy). Toto vo
veobecnosti vyvolá ekvivalent príkazu "make
install".
- •
- Zostaví binárny balík (po
vykonaní prep, build a install fázy).
- •
- Zostaví iba zdrojov balík (po vykonaní
prep, build a install fázy).
- •
- Zostaví binárny a zdrojov balík (po
vykonaní prep, build a install fázy).
Môu byť pouité aj nasledujúce voľby:
- •
- Preskočí priamo na poadovanú
fázu (t. zn. preskočí vetky fázy tádia
zostavenia, ktoré predchádzajú pecifikovanej
fáze). Táto voľba je platná iba s
prepínačmi -bc and -bi.
- •
- Nastavuje "kontrolu času" (0
zakáe). Táto voľba môe byť
nastavená definovaním makra "_timecheck". Hodnota
"kontroly času" vyjadruje (v sekundách)
maximálny vek súborov, ktoré budú
zabalené. Varovania sú vypisované pre vetky
súbory, ktorch vek je za hranicou takto definovanej hodnoty.
- •
- Odstrání zostavovací strom
(adresár) potom, čo sa vytvorí balík.
- •
- Odstrání zdrojové súbory a spec
súbor po zostavení (môe sa pouívať aj
samostatne, napr. " rpm --rmsource foo.spec").
- •
- Nevykoná iadnu zo zostavovacej fázy.
Uitočné pre otestovanie spec súboru.
- •
- Vloí PGP podpis do balíka. Tento podpis
môe byť vyuit na overenie integrity a pôvodu
balíka. Bliie informácie na nastavenie sú
uvedené v sekcii PGP PODPISY.
- •
- Pri zostavovaní balíka prepíe tag
BuildRoot adresárom <adresár>.
- •
- Pri zostavovaní balíka sa interpretuje
<platforma>** ako arch-vendor-os a makrá
_target, _target_arch a** _target_os sa nastavia podľa tejto
hodnoty.
Existujú dve voľby, ako spustiť zostavenie balíka s
rpm:
rpm --recompile
<zdrojov_súbor_balíka>+**
rpm --rebuild
<zdrojov_súbor_balíka>+**
Keď je rpm spustené tmto spôsobom,
rpm naintaluje
zdrojov balík a vykoná postupne fázy prípravy
(prep), kompilácie a intalácie. Prídavne s voľbou
--rebuild zostaví nov binárny balík. Keď
sa zostavenie dokončí, adresár zostavovania (ako pri
--clean), zdrojové súbory, ako aj spec
súbor sa sa odstránia.
rpm --resign
<binárny_súbor_balíka>+**
Táto voľba vygeneruje a vloí nov podpis pre zoznam
balíkov. Vetky prípadne existujúce podpisy sa
odstránia.
rpm --addsign
<binárny_súbor_balíka>+**
Táto voľba vygeneruje a pridá nov podpis pre zoznam
balíkov u ktorch u podpis existuje.
Aby bolo moné pouívať vlastnosti podpisovania, RPM je
potrebné nastaviť spôsobom, aby mohlo
spúťať PGP, a aby bolo schopné nájsť
zväzok verejnch kľúčov s RPM verejnmi
kľúčmi v ňom. Implicitne RPM pouíva
implicitné hodnoty PGP na nájdenie zväzkov
kľúčov (honorujúc PGPPATH). Ak je zväzok
kľúčov umiestnen na inom mieste, ako PGP
očakáva, je potrebné nastaviť makro
- •
- na definovanie umiestnenia zväzkov
kľúčov PGP, ktoré sa majú
pouiť.
Ak si eláte podpisovať balíky, ktoré si sami
vytvoríte, potrebujete podobnm spôsobom vytvoriť
vá verejn a tajn kľúčov pár (bliie
informácie sú v dokumentácii ku PGP). Taktie potrebujete
konfigurovať makrá:
- •
- Meno "uívateľa", ktorého
kľúčom sa má podpísať
balík.
Pri zostavovaní balíka je potrebné pridať --sign do
príkazového riadku. Nasledovne sa objaví vzva na heslo, a
po správnom zadadaní sa balík zostaví a
podpíe.
Napríkad pre pouitie PGP na podpísanie balíka ako
uívateľ
"John Doe <[email protected]>" zo
zväzku kľúčov umiestnench v
/etc/rpm/.pgp pouitím /usr/bin/pgp zápis bude
obsahovať
%_pgp_path /etc/rpm/.pgp
%_pgp_name John Doe <[email protected]>
%_pgpbin /usr/bin/pgp
v konfiguračnom súbore makier:
/etc/rpm/macros je
určen na per-systém nastavenie a
~/.rpmmacros na
per-uívateľ nastavenie.
Veobecná forma príkazu prebudovania databázy je
rpm --rebuilddb
Na vybudovanie novej databázy treba vykonať
rpm --initdb
Jedinmi voľbami pre tento reim sú
--dbpath a --root.
Spustením
rpm --showrc
sa vypíu hodnoty, ktoré bude RPM pouívať pri vetkch
voľbách, a ktoré môu byť nastavené v
rpmrc** súboroch.**
RPM obsahuje jednoduchého FTP a HTTP klienta na zjednoduenie
intalácie a jednoduchieho získania informácií
balíkov, ktoré sú umiestenené na sieti.
Súbory balíkov určené pre intalovanie,
aktualizáciu a vpis informácií je moné
pecifikovať v ftp alebo http tle URL:
ftp://<uívateľ>:<heslo>@počítač:<port>/path/to/package.rpm
Ak časť
:heslo chba, objaví sa vzva na heslo (vdy
len jeden krát pre pár
uívateľ/počítač). Ak chbajú obe
časti - uívateľ aj heslo, pouit je anonymn ftp. Vo vetkch
prípadoch je pouit pasívny (PASV) ftp prenos.
RPM povoluje pouiť nasledujúce voľby s ftp URL:
- •
- Počítač
<meno_počítača>** sa pouije ako proxy
server pre vetky ftp** prenosy, čo umoní
uívateľom pouiť ftp sluby za firewallom, ktor
pouíva proxy systémy. Táto voľba môe
byť tak isto pecifikovaná nastavením makra
_ftpproxy.
- •
- Pouije sa číslo TCP portu
<port>** pre ftp spojenie s ftp proxy** serverom namiesto
implicitného portu. Táto voľba môe byť
tak isto pecifikovaná nastavením makra _ftpport.
RPM umoňuje nasledujúce voľby pri pouití http URL:
- •
- Počítač
<meno_počítača>** bude pouit ako proxy
server pre vetky http** prenosy. Táto voľba môe
byť tak isto pecifikovaná konfigurovaním makra
_httpproxy.
- •
- Pouije sa číslo TCP portu
<port>** pre http spojenie s http proxy** serverom namiesto
implicitného portu. Táto voľba môe byť
tie pecifikovaná konfigurovaním makra _httpport.
-
/usr/lib/rpm/rpmrc
/etc/rpmrc
~/.rpmrc
/usr/lib/rpm/macros
/etc/rpm/macros
~/.rpmmacros
/var/lib/rpm/conflictsindex.rpm
/var/lib/rpm/fileindex.rpm
/var/lib/rpm/groupindex.rpm
/var/lib/rpm/nameindex.rpm
/var/lib/rpm/packages.rpm
/var/lib/rpm/providesindex.rpm
/var/lib/rpm/requiredby.rpm
/var/lib/rpm/triggerindex.rpm
/tmp/rpm*
glint(8), rpm2cpio(8), http://www.rpm.org/
-
Marc Ewing <[email protected]>
Jeff Johnson <[email protected]>
Erik Troan <[email protected]>