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, 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.

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

História 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.

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

Formát balíka 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. 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.

Používanie 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. 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.

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. Vo Fedore a v distribúciách odvodených od Red Hatu je takouto nadstavbou nástroj DNF, nástupca staršieho Yumu, v distribúciách SUSE Linux Enterprise nástroj zypper.

Referencie

Externé odkazy RPM Package Manager – domáca stránka projektu Maximum RPM – online vydanie referenčnej príručky k formátu

Kategória:Linux Kategória:Balíčkovacie systémy Kategória:Kompresné formáty