table of contents
- MENO
- POUITIE
- POPIS
- VEOBECNÉ VOĽBY
- VOĽBY PRI INTALÁCII A AKTUALIZÁCII (UPGRADE)
- VOĽBY PRI ZISTENÍ INFORMÁCIÍ (QUERY)
- VOĽBY PRI KONTROLE A OVEROVANÍ
- KONTROLA PODPISOV (SIGNATURE)
- VOĽBY PRI ODINTALÁCII
- VOĽBY PRI ZOSTAVOVANÍ
- VOĽBY PRI ZNOVUZOSTAVOVANÍ A REKOMPILOVANÍ
- PODPISOVANIE EXISTUJÚCEHO RPM
- PGP PODPISY
- VOĽBY PRI PREBUDOVANÍ DATABÁZY
- SHOWRC
- FTP/HTTP VOĽBY
- SÚBORY
- PRÍBUZNÁ DOKUMENTÁCIA
- AUTORI
- bookworm 4.18.0+dfsg-1+deb12u1
rpm(8) | rpm(8) |
MENO¶
rpm - Red Hat správca balíkov
POUITIE¶
rpm [voľby]
POPIS¶
rpm je veľmi výkonný správca balíkov, ktorý môe byť pouitý na zostavenie, intaláciu, výpis informácií, kontrolu, aktualizáciu a odintalovanie 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ť 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í, výpis informačných tagov, intalácia, občerstvenie, odintalovanie, 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 intalovaných 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]+***
VEOBECNÉ VOĽBY¶
Tieto voľby môu byť pouité vo vetkých reimoch.
- •
- Vypíe mnostvo oklivých 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ý výpis.
- •
- Vypíe jednoriadkovú informáciu pozostávajúcu z čísla pouívanej verzie rpm.
- •
- Kadý 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.
- •
- 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 výstup rpm na príkaz <príkaz>.
VOĽBY PRI INTALÁCII A AKTUALIZÁCII (UPGRADE)¶
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 iných nástrojov.
- •
- Naintaluje balík aj v prípade, e nahradí súbory z iných, u naintalovaných 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, ktorých 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, ktorých 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.
VOĽBY PRI ZISTENÍ INFORMÁCIÍ (QUERY)¶
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é 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ť 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 vetkých tagov, ktoré pozná, keď je spustené s argumentom --querytags.
Existujú dve podmnoiny volieb pre zistenie informácií: výber balíka a výber informácií.
Voľby výberu balíka:
- •
- Zisťuje u intalovaných balíkov s menom <meno_balíka>.
- •
- Zisťuje u vetkých naintalovaných balíkov.
- •
- Zisťuje u vetkých intalovaných balíkov, ktoré vyadujú <schopnosť> pre správnu funkčnosť.
- •
- Zisťuje u vetkých intalovaný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 (nenaintalované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é 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 vetký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 uitoč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 (nenaintalovaný) 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 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 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ť pouitá minimálne s jednou z nasledujúcich volieb -l, -c, -d.
- •
- Usporiada zoznam balíkov podľa času intalácie takým spôsobom, e posledný intalovaný balík bude na vrchu.
- •
- Vypíe zoznam vetkých súborov v kadom balíku.
- •
- Vypíe vetky skripty, ktoré sú spúťané spúťou vo vybranom balíku.
VOĽBY PRI KONTROLE A OVEROVANͶ
Veobecná forma príkazu kontroly je
rpm -V|-y|--verify [overovacie-voľby]
Kontrola balíka prebieha z porovnania informácií z intalovaných 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 iných ú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 výpisu informácii balíkov.
Súbory, ktoré neboli intalované z balíka, týkajúce sa napr. dokumentačných 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 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 9 znakového reťazca, s prípadným rozírením výskytu "c", ktoré charakterizuje konfiguračný súbor a mena súboru. Kadý 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 preiel (neobjavené iadne odchýľky). Nasledujúce znaky oznamujú dôvod neúspechu určitého testu:
KONTROLA PODPISOV (SIGNATURE)¶
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čných súborov. Bliie údaje sa nachádzajú v sekcii PGP POPDPISY.
VOĽBY PRI ODINTALÁCII¶
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, ktorých 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.
VOĽBY PRI ZOSTAVOVANͶ
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 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 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, 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. 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.
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 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.
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. 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 ktorých u podpis existuje.
PGP PODPISY¶
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 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
- •
- 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 podobným 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í výzva 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 <jdoe@foo.com>" zo zväzku kľúčov umiestnených v /etc/rpm/.pgp pouitím /usr/bin/pgp zápis bude obsahovať
%_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¶
Veobecná forma príkazu prebudovania databázy je
rpm --rebuilddb
Na vybudovanie novej databázy treba vykonať
rpm --initdb
Jedinými voľbami pre tento reim sú --dbpath a --root.
SHOWRC¶
Spustením
rpm --showrc
sa vypíu hodnoty, ktoré bude RPM pouívať pri vetký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 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 výpis informácií je moné 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 (vdy len jeden krát pre pár uívateľ/počítač). Ak chýbajú obe časti - uívateľ aj heslo, pouitý je anonymný ftp. Vo vetkých 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.
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 |