Scroll to navigation

rpm(8) System Manager's Manual rpm(8)

MENO

rpm - Red Hat správca balíkov

POUŽITIE

rpm [voľby]

POPIS

rpm je veľmi výkonný správca balíkov, ktorý môže byť použitý na zostavenie, inštaláciu, výpis informácií, kontrolu, aktualizáciu a odinštalovanie jednotlivých softverových balíkov. Balík obsahuje archív súborov a informácií o balíku vrátane mena, verzie a popisu.

Musí byť použitý v niektorom z nasledujúcich režimov: inicializácia databázy, prebudovanie databázy, zostavenie balíka, rekompilácia balíka, zostavenie balíka z tar archívu, zistenie informácií, výpis informačných tagov, inštalácia, občerstvenie, odinštalovanie, kontrola a overenie, overenie podpisu, opätovný podpis, pridanie podpisu, nastavenie vlastníkov a skupín a výpis 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 inštalovaných balíkov:
rpm [--install] [inštalačné-voľby] [súbor_balíka]+
rpm [--freshen|-F] [inštalačné-voľby] [súbor_balíka]+
rpm [--uninstall|-e] [odinštalač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]+

VŠEOBECNÉ VOĽBY

Tieto voľby môžu byť použité vo všetkých režimoch.

Vypíše množstvo ošklivých ladiacich informácií.
Vypíše čo najmenej informácií - normálne sa zobrazia iba chybové hlášky.
Vypíše o niečo dlhšiu informáciu o použití ako je bežný výpis.
Vypíše jednoriadkovú informáciu pozostávajúcu z čísla používanej verzie rpm.
Každý zo súborov v <zoznam_súborov> oddelených dvojbodkami je postupne čítaný cez rpm za účelom získania konfiguračných 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.
Použije adresár <adresár> ako koreňový adresár systému pre všetky operácie. Uvedomte si, že toto znamená, že databáza sa sa bude čítať alebo modifikovať pod adresárom <adresár> a všetky predinštalačné a poinštalačné skripty budú bežať po prevedení chroot() na adresár <adresár>.
Použije databázu RPM v ceste <cesta>.
Aktualizuje iba databázu a nie súborový systém.
Použije <počítač> ako počítač s FTP alebo HTTP proxy serverom. Bližšie podrobnosti sú uvedené v sekcii VOĽBY FTP/HTTP.
Použije <port> ako FTP alebo HTTP port na počítači s proxy serverom. Bližšie podrobnosti sú uvedené v sekcii VOĽBY FTP/HTTP.
Presmeruje výstup rpm na príkaz <príkaz>.

VOĽBY PRI INŠTALÁCII A AKTUALIZÁCII (UPGRADE)

Všeobecná forma inštalačného príkazu je

rpm -i [inštalačné-voľby] <súbor_balíka>+

Táto voľba nainštaluje nový balíček. Všeobecná forma aktualizačného príkazu je

rpm -U [inštalačné-voľby] <súbor_balíka>+

Táto voľba aktualizuje existujúci nainštalovaný balíček alebo nainštaluje nový balíček. Podobá sa inštalačnému príkazu, rozdiel je iba v tom, že všetky ďaľšie verzie balíka sa odstránia zo systému.

rpm [-F|--freshen] [inštalačné-voľby] <súbor_balíka>+

Táto voľba aktualizuje balíky, ale iba za predpokladu, že predchádzajúce verzie sú nainštalované.

<súbor_balíka> môže byť špecifikovaný ako ftp alebo http URL, v tomto prípade sa najprv balíček stiahne a nainštaluje až potom. Bližšie podrobnosti o vstavanej podpore ftp a http sú uvedené v sekcii VOĽBY FTP/HTTP.

Rovnaký efekt ako súčasné použitie --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 novšieho 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 iných nástrojov.
Nainštaluje balík aj v prípade, že nahradí súbory z iných, už nainštalovaných balíkov.
Nainštaluje balíky aj v prípade, že niektoré z nich už sú nainštalované v systéme.
Nainštaluje alebo aktualizuje všetky missingok súbory (súbory, ktoré nemusia nutne existovať) z balíka bez ohľadu na to, či existujú.
Nevykoná kontrolu závislostí pred inštalovaním alebo aktualizovaním balíka.
Nevykoná predinštalačné a poinštalačné skripty.
Nevykoná skripty, ktorých spúšťou je inštalácia balíka.
Nevykoná kontrolu pripojeného súborového systému na dostatok voľného miesta pred inštaláciou balíka.
Nenainštaluje súbory, ktorých mená začínajú na <cesta>.
Nenainštaluje žiadne súbory, ktoré sú označené ako dokumentácia (ktoré zahŕňajú najmä manuálové stránky a texinfo dokumenty).
Nainštaluje súbory, ktoré sú označené ako dokumentácia. Toto je implicitné nastavenie.
Nenainštaluje balík, iba jednoducho otestuje, čo by sa vykonalo pri inštalácii a vypíše potenciálne konflikty.
Toto umožní inštalá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 inštalovať.
Toto umožní inštalá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 inštalovať.
Toto nastaví inštalač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 inštaláciu. V opačnomom prípade by mohlo byť zmenené poradie v zozname balíkov, aby sa zachovali závislosti.

VOĽBY PRI ZISTENÍ INFORMÁCIÍ (QUERY)

Všeobecná forma príkazu zistenia informácií je

rpm -q [zisťovacie-voľby]

Je možné špecifikovať, v akom formáte majú byť vypísané výstupné údaje. Na takýto účel slúži voľba [--queryformat|--qf], nasledovaná formátovacím reťazcom.

Informačné výstupy sú modifikovanou verziou štandardného printf(3) formátovania. Formát je vytvorený zo statických 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 výstup formátovania môže byť požadovaný, 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 možné použiť formátovací reťazec %{NAME}. Na vytlačenie informácie o mene a distribúcii v dvoch stĺpcoch je možné použiť %-30{NAME}%{DISTRIBUTION}.

rpm zobrazí zoznam všetkých tagov, ktoré pozná, keď je spustené s argumentom --querytags.

Existujú dve podmnožiny volieb pre zistenie informácií: výber balíka a výber informácií.

Voľby výberu balíka:

<meno_balíka>
Zisťuje u inštalovaných balíkov s menom <meno_balíka>.
Zisťuje u všetkých nainštalovaných balíkov.
Zisťuje u všetkých inštalovaných balíkov, ktoré vyžadujú <schopnosť> pre správnu funkčnosť.
Zisťuje u všetkých inštalovaných 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 (nenainštalovaného) balíka <súbor_balíka>. <súbor_balíka> môže byť špecifikovaný v ftp alebo http štýle URL, v takomto prípade bude stiahnutá hlavička balíka, a z nej čítané požadované informácie. Bližšie 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 všetkých 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 užitočné pre ladiace účely.
Vypíše balíky, ktorých spúštou je existencia balíka <balík>.

Voľba výberu 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 ktorých 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 jednotlivých súborov v balíku (aplikuje voľbu -l). Stav jednotlivých súborov môže byť normal (normálny), not installed (nenainštalovaný) alebo replaced (nahradený).
Vypíše zoznam súborov označených ako dokumentácia (aplikuje -l).
Vypíše iba zoznam konfiguračných súborov (aplikuje -l).
Vypíše balíkovo špecifický shellový skript, ktorý je použitý v inštalačnom alebo odinštalač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 podrobných 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ť použitá minimálne s jednou z nasledujúcich volieb -l, -c, -d.
Usporiada zoznam balíkov podľa času inštalácie takým spôsobom, že posledný inštalovaný balík bude na vrchu.
Vypíše zoznam všetkých súborov v každom balíku.
Vypíše všetky skripty, ktoré sú spúšťané spúšťou vo vybranom balíku.

VOĽBY PRI KONTROLE A OVEROVANÍ

Všeobecná forma príkazu kontroly je

rpm -V|-y|--verify [overovacie-voľby]

Kontrola balíka prebieha z porovnania informácií z inštalovaných súborov z balíkov v systéme s informáciami o súboroch, ktoré obsahoval pôvodný balík (tieto su uložené v rpm databáze). Okrem iných údajov, kontrola porovnáva veľkosť, MD5 kontrolný súčet, oprávnenia, typ, vlastníka a skupinu každého súboru. Všetky odchýľky sú zobrazené. Specifikačné voľby balíka sú rovnaké ako režime výpisu informácii balíkov.

Súbory, ktoré neboli inštalované z balíka, týkajúce sa napr. dokumentačných súborov pri použití voľby "--excludedocs" pri inštalácii, sú v tichosti ignorované.

Voľby, ktoré môžu byť použité v kontrolnom režime:

Ignoruje chýbajúce súbory v systéme počas kontroly.
Ignoruje chyby kontrolných súčtov MD5 počas kontroly.
Ignoruje chyby PGP podpisov počas kontroly.

Výstup má formát 8 znakového reťazca, s prípadným rozšírením výskytu "c", ktoré charakterizuje konfiguračný súbor a mena súboru. Každý z ôsmych znakov popisuje výsledok porovnania jedného konkrétneho atribútu súboru s údajmi zaznamenanými v RPM databáze. Jednoduchá "." (bodka) znamená, že test prešiel (neobjavené žiadne odchýľky). Nasledujúce znaky oznamujú dôvod neúspechu určitého testu:

5
MD5 kontrolný súčet
Veľkosť súboru
Symbolický link
Mtime (posledný čas modifikácie)
Zariadenie
Užívateľ
Skupina
Mód (vrátane oprávnení a typu súborov)

KONTROLA PODPISOV (SIGNATURE)

Všeobecná 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čných súborov. Bližšie údaje sa nachádzajú v sekcii PGP POPDPISY.

VOĽBY PRI ODINŠTALÁCII

Všeobecná forma príkazu na odinštalovanie je

rpm -e <meno_balíka>+

Odstráni všetky 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 odinštalačné skripty.
Nevykoná skripty, ktorých spúšťou je odinštalovanie balíka.
Nebude skúmať závislosti pri odinštalovaní balíkov.
Nič sa v skutočnosti neodinštaluje, len sa preverí, čo by sa malo stať. Veľmi užitočné s voľbou -vv.

VOĽBY PRI ZOSTAVOVANÍ

Všeobecná 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 použije 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 použiť 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 zdrojových archívov a aplikovanie záplat.
Vykoná "kontrolu zoznamu". Sekcia "%files" z spec súboru je makrom expandovaná, a je vykonaná kontrola, že každý 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 všeobecnosti 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ť použité aj nasledujúce voľby:

Preskočí priamo na požadovanú fázu (t. zn. preskočí všetky 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 všetky súbory, ktorých 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. Užitočné pre otestovanie spec súboru.
Vloží PGP podpis do balíka. Tento podpis môže byť využitý na overenie integrity a pôvodu balíka. Bližšie 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.

VOĽBY PRI ZNOVUZOSTAVOVANÍ A REKOMPILOVANÍ

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é týmto spôsobom, rpm nainštaluje zdrojový balík a vykoná postupne fázy prípravy (prep), kompilácie a inštalá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.

PODPISOVANIE EXISTUJÚCEHO RPM

rpm --resign <binárny_súbor_balíka>+

Táto voľba vygeneruje a vloží nový podpis pre zoznam balíkov. Všetky 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 ktorých už podpis existuje.

PGP PODPISY

Aby bolo možné používať vlastnosti podpisovania, RPM je potrebné nastaviť spôsobom, aby mohlo spúšťať PGP, a aby bolo schopné nájsť zväzok verejných kľúčov s RPM verejnými 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

_pgp_path
na definovanie umiestnenia zväzkov kľúčov PGP, ktoré sa majú použiť.

Ak si želáte podpisovať balíky, ktoré si sami vytvoríte, potrebujete podobným spôsobom vytvoriť váš verejný a tajný kľúčový pár (bližšie informácie sú v dokumentácii ku PGP). Taktiež potrebujete konfigurovať makrá:

_signature
Typ podpisu. Momentálne je podporované iba pgp.
_pgp_name
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í výzva na heslo, a po správnom zadadaní sa balík zostaví a podpíše.

Napríkad pre použitie PGP na podpísanie balíka ako užívateľ "John Doe <jdoe@foo.com>" zo zväzku kľúčov umiestnených v /etc/rpm/.pgp použitím /usr/bin/pgp zápis bude obsahovať

%_signature pgp

%_pgp_path /etc/rpm/.pgp

%_pgp_name John Doe <jdoe@foo.com>

%_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.

VOĽBY PRI PREBUDOVANÍ DATABÁZY

Všeobecná forma príkazu prebudovania databázy je

rpm --rebuilddb

Na vybudovanie novej databázy treba vykonať

rpm --initdb

Jedinými voľbami pre tento režim sú --dbpath a --root.

SHOWRC

Spustením

rpm --showrc

sa vypíšu hodnoty, ktoré bude RPM používať pri všetkých voľbách, a ktoré môžu byť nastavené v rpmrc súboroch.

FTP/HTTP VOĽBY

RPM obsahuje jednoduchého FTP a HTTP klienta na zjednodušenie inštalácie a jednoduchšieho získania informácií balíkov, ktoré sú umiestenené na sieti. Súbory balíkov určené pre inštalovanie, aktualizáciu a výpis informácií je možné špecifikovať v ftp alebo http štýle URL:

ftp://<užívateľ>:<heslo>@počítač:<port>/path/to/package.rpm

Ak časť :heslo chýba, objaví sa výzva na heslo (vždy len jeden krát pre pár užívateľ/počítač). Ak chýbajú obe časti - užívateľ aj heslo, použitý je anonymný ftp. Vo všetkých prípadoch je použitý pasívny (PASV) ftp prenos.

RPM povoluje použiť nasledujúce voľby s ftp URL:

Počítač <meno_počítača> sa použije ako proxy server pre všetky ftp prenosy, čo umožní užívateľom použiť ftp služby za firewallom, ktorý používa proxy systémy. Táto voľba môže byť tak isto špecifikovaná nastavením makra _ftpproxy.

Použije 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 použití http URL:

Počítač <meno_počítača> bude použitý ako proxy server pre všetky http prenosy. Táto voľba môže byť tak isto špecifikovaná konfigurovaním makra _httpproxy.

Použije 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.

SÚBORY

/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*

PRÍBUZNÁ DOKUMENTÁCIA

glint(8), rpm2cpio(8), http://www.rpm.org/

AUTORI

Marc Ewing <marc@redhat.com>
Jeff Johnson <jbj@redhat.com>
Erik Troan <ewt@redhat.com>
22 December 1998 Red Hat Software