Preskočiť na obsah

RPM

z Wikipédie, slobodnej encyklopédie

RPM Package Manager (pôvodne Red Hat Package Manager, skrátene RPM) je balíčkovací systém pre Linux pôvodne vyvinutý firmou Red Hat, Inc. pre Red Hat Linux,[1][2] avšak v súčasnosti sa okrem mnohých linuxových distribúcií využíva aj v ďalších operačných systémoch, ako je NetWare od firmy Novell.[3]

Skratka RPM označuje súčasne samotný program, formát balíka aj príponu súborov s balíkmi. Nástroj umožňuje inštalovať, odinštalovať, aktualizovať, overovať a vyhľadávať softvérové balíky, ako aj zostavovať ich zo zdrojového kódu.[4] Je slobodný softvér šírený pod licenciou GPL vo verzii 2 alebo novšej a tvorí základnú súčasť distribúcií ako Red Hat Enterprise Linux, Fedora, SUSE, openSUSE, CentOS a Mageia.[1]

Formátu RPM predchádzali tri staršie systémy správy balíkov, RPP, PMS a PM. Systém PMS, ktorý na jeseň 1993 vytvorili Rik Faith a Kevin Martin pre distribúciu Bogus, zaviedol koncepciu nedotknutých zdrojov (pristine sources), pri ktorej sa softvér zostavuje z pôvodných nezmenených archívov a potrebné úpravy sa aplikujú ako záplaty až počas zostavovania. Táto koncepcia sa označuje za najdôležitejší prínos PMS pre RPM. Na základe skúseností s uvedenými systémami vytvorili Marc Ewing a Erik Troan prvú verziu RPM napísanú v jazyku Perl, ktorú pre pomalosť čoskoro prepísali do jazyka C. Prvý commit kódu v jazyku C pochádza z 27. novembra 1995 a verzia 2.0 vydaná 5. marca 1996 bola prvou verziou napísanou úplne v tomto jazyku.[2][5]

Referenčná príručka Maximum RPM od Edwarda C. Baileyho vyšla v auguste 1997, krátko nato prešiel projekt na dvojitú licenciu GPL a LGPL a v roku 2001 bol RPM určený za formát balíkov normy Linux Standard Base.[5] Verzia 6.0 vydaná 22. septembra 2025 priniesla prvý nový formát balíka po sérii 4.x. Posunul obmedzenia veľkostí na 64 bitov, vypustil zastarané algoritmy MD5 a SHA-1, pridal SHA-512 a SHA3-256 a umožnil viacero podpisov OpenPGP na jeden balík. Kontrola podpisov sa zároveň stala predvolene vynucovanou.[6]

Formát balíka

[upraviť | upraviť zdroj]

Podľa normy Linux Standard Base pozostáva súbor vo formáte RPM zo štyroch častí, ktoré musia nasledovať v poradí Lead, Signature, Header a Payload. Časť Lead identifikuje súbor balíka, Signature slúži na overenie integrity a voliteľne aj pravosti, Header obsahuje všetky dostupné informácie o balíku vrátane názvu, verzie a zoznamu súborov a Payload obsahuje samotné súbory určené na inštaláciu. Všetky hodnoty sú uložené v sieťovom poradí bajtov.[7] Norma pritom nepredpisuje, aký formát má systém používať pre vlastné balíky, vyžaduje len možnosť inštalovať aplikácie tretích strán dodané vo formáte RPM.[8]

Používanie

[upraviť | upraviť zdroj]

Program rpm pracuje v režimoch inštalácie, odinštalovania, aktualizácie, dopytovania, kontroly integrity a podpisovania balíkov. Prepínač -q zisťuje informácie o nainštalovaných balíkoch aj o samostatných archívoch a prepínač -V zobrazí súbory balíka zmenené od inštalácie. Súbory databázy nainštalovaných balíkov sa nachádzajú v adresári /var/lib/rpm.[9] Balíky sa zostavujú nástrojom rpmbuild podľa špecifikačného súboru s príponou .spec, pričom zdrojový balík s príponou .src.rpm obsahuje zdrojový kód, záplaty a pokyny na zostavenie a binárny balík už preložené súbory pripravené na inštaláciu.[10]

Samotný program rpm pracuje len s lokálnymi súbormi a nedokáže sám dohľadať celý reťazec závislostí, preto ho dopĺňajú nadstavby, ktoré poznajú repozitáre balíkov aj ich metadáta.[11] Vo Fedore a v distribúciách odvodených od Red Hatu je takouto nadstavbou nástroj DNF, nástupca staršieho Yumu,[12] v distribúciách SUSE Linux Enterprise nástroj zypper.[9]

Referencie

[upraviť | upraviť zdroj]
  1. 1 2 rpm.org - About [online]. rpm.org, [cit. 2026-08-10]. Dostupné online.
  2. 1 2 BAILEY, Edward C.. Package Management: How to Do It? [online]. Red Hat Software, 1997, [cit. 2026-08-10]. Dostupné online. (po anglicky)
  3. Planning Your NetWare Deployment [online]. Novell, [cit. 2026-08-10]. (NetWare 6.5 SP8 Installation Guide.) Dostupné online. (po anglicky)
  4. CANONICAL. MENO [online]. Ubuntu Manpages, [cit. 2026-08-10]. Dostupné online. (po anglicky)
  5. 1 2 rpm.org - Timeline [online]. rpm.org, [cit. 2026-08-10]. Dostupné online.
  6. RPM 6.0.0 [online]. rpm.org, [cit. 2026-08-10]. Dostupné online. Archivované 2025-04-27 z originálu.
  7. Package File Format [online]. refspecs.linuxbase.org, [cit. 2026-08-10]. Dostupné online.
  8. Software Installation [online]. refspecs.linuxbase.org, [cit. 2026-08-10]. Dostupné online.
  9. 1 2 Managing software with command line tools [online]. documentation.suse.com, 2026-08-06, [cit. 2026-08-10]. Dostupné online. Archivované 2025-07-08 z originálu. (po anglicky)
  10. RPM Packaging Guide [online]. rpm-packaging-guide.github.io, [cit. 2026-08-10]. Dostupné online. Archivované 2019-07-22 z originálu.
  11. SINHA, Ankur. RPM packages explained [online]. 2019-06-27, [cit. 2026-08-10]. Dostupné online. Archivované 2019-07-16 z originálu. (po anglicky)
  12. EDGE, Jake. DNF and Yum in Fedora. LWN.net, 2014-01-15. Dostupné online [cit. 2026-08-10]. Archivované 2014-07-24 z originálu. (po anglicky)

Externé odkazy

[upraviť | upraviť zdroj]