GNU/Linux >> Znalost Linux >  >> Cent OS

Průvodce pro začátečníky ke správě softwaru Linux s RPM

Údržba softwaru pomocí RPM (Red Hat Package Manager)

RPM je výkonný softwarový manažer, který lze použít k vytváření, instalaci, dotazování, ověřování, aktualizaci a odinstalaci jednotlivých softwarových balíků. Balíček RPM se skládá z archivu souborů a informací o balíčku, jako je název, verze, popis a informace o závislostech na jiných balíčcích RPM.

RPM je více než jen nástroj specifický pro Red Hat. Mnoho dalších moderních distribucí, jako je Ubuntu a SuSE, také používá RPM. Mezi výhody používání RPM patří:

  • Zjednodušená distribuce, instalace, aktualizace a odstranění softwaru
  • Zaručuje, že:
    • V systému je nainstalován nezbytný software.
    • verze nezbytného softwaru zůstávají kompatibilní.
    • místně upravené konfigurační soubory nejsou při aktualizaci RPM blokovány.
    • Místně upravené konfigurační soubory se ukládají s příponou „.rpmsave“, pokud je balíček později smazán.
  • Umožňuje certifikovat, že nainstalovaný software nebyl žádným způsobem změněn, upraven, poškozen nebo změněn.

RPM uchovává informace o nainstalovaných balíčcích v adresáři „/var/lib/rpm“. Součásti nástroje RPM jsou:

  • Vlastní databáze obsahující informace o veškerém softwaru nainstalovaném v systému, shromážděné z jednotlivých RPM.
  • Spustitelný soubor „/bin/rpm“.
  • Internetové úložiště dostupných RPM balíčků.

Typy RPM balíčků

Balíčky RPM jsou rozděleny do dvou kategorií:
1. zdroj
2. binární

Zdroj RPM

Zdroj RPM lze vždy rozpoznat, protože název souboru končí řetězcem „.src.rpm“. Ve zdrojovém RPM nejsou pouze původní soubory zdrojového kódu programu, ale také skripty, které umožňují automatickou rekompilaci kódu, automatickou instalaci a automatické odstranění. Ve zdrojovém RPM nejsou žádné spustitelné soubory koncovým uživatelem. O zdrojové RPM se obvykle zajímají pouze vývojáři.

Binární RPM

Binární RPM obsahuje komponenty RPM pro koncového uživatele. Binární názvy souborů RPM identifikují hostitelskou architekturu obsahu. Například binární soubor RPM:

bash-3.1-16.1.x86_64.rpm

– obsahuje soubory použitelné pouze na 64bitovém CPU architektury Intel X86. Mezi další běžné hodnoty architektury patří „i386“ pro 32bitové hostitele Intel. Některé binární RPM mohou být nainstalovány na libovolné architektuře CPU, protože jejich soubory budou fungovat na jakémkoli hostiteli; příkladem těchto balíčků „.noarch.rpm“ je „tzdata“ RPM, který obsahuje informace o světových časových pásmech. Chcete-li aktualizovat svůj systém na nejnovější verzi balíčku, budete pro něj potřebovat nejnovější binární RPM.

Schéma pojmenování RPM

Každý balíček RPM je obsažen v jednom souboru. Název souboru má několik polí pro plnou identifikaci obsahu balíčku. I když samotné nástroje RPM nespoléhají na samotný název souboru, měli byste porozumět konvenci názvu souboru, aby vám pomohl identifikovat nebo stáhnout správný balíček.

Zde je příklad souboru RPM:

bash-3.1-16.1.x86_64.rpm

Toto RPM je pro shell BASH („/bin/bash“). Název souboru se skládá z několika částí:

[name]-[version]-[release].[arch].rpm

kde:

  • [jméno] je název programu nebo balíčku. [jméno] obvykle přiděluje autor programu. V našem příkladu se vývojáři rozhodli pojmenovat svůj produkt „bash“ z důvodů, které jim připadaly zábavné.
  • [verze] určuje, kterou verzi softwaru tato RPM obsahuje. Číslo [verze] přiděluje autor programu. Pomocí čísla [verze] lze určit, která verze zdrojů autora byla použita k vygenerování RPM.
  • [vydání] poskytuje číslo vydání samotného souboru RPM a nikoli verzi zdrojových souborů autora. Může být vydán aktualizovaný RPM za účelem dodání opravené verze původního softwaru autora. Oprava nemusí pocházet od původního vývojáře, takže RPM [vydání] se zvýší místo [verze].
  • [oblouk] popisuje obsah RPM a říká, zda tento soubor obsahuje zdroj produktu (".src.rpm"), soubory nezávislé na architektuře (".noarch.rpm") nebo soubory, které lze nainstalovat pouze na konkrétního hostitele typu (".sh.rpm" bude fungovat pouze na vestavěném procesoru STRONGHOLD).
Poznámka :[verze] je řízena původním autorem a [vydání] je řízeno kýmkoli, kdo vytvořil RPM.

Instalace a odebrání souborů

Obvykle lze najednou nainstalovat pouze jednu [verze] nebo [vydání] RPM. Pozdější verze se obvykle instalují pomocí funkce „-U“ (aktualizace) RPM namísto funkce „-i“ RPM. Běžné výjimky z pravidla pouze jedné RPM jsou RPM jádra. Systém má běžně nainstalováno několik verzí jader; RPM obsahuje seznam, které RPM mohou mít nainstalované více verzí. Chcete-li odstranit jednu verzi, když je jich nainstalováno několik, musíte úplně specifikovat název balíčku a verzi.

Na architektuře x86_64 je běžné mít nainstalované 32bitové balíčky „.i386“ i 64bitové balíčky „.x86_64“ RPM pro podporu 32bitových i 64bitových aplikací. Normálně RPM nezobrazuje architekturu balíčku v dotazu, ale můžete ji zobrazit ručně.

Instalace a odstranění

  • rpm -i nebo –install ### (instalace nového RPM; chyba, pokud je již nainstalována)
  • rpm -U nebo –upgrade ### (smazat existující RPM, pokud existují; nainstalovat nové)
  • rpm -F nebo –freshen ### (aktualizujte RPM pouze v případě, že je balíček již nainstalován)
  • rpm -e nebo –erase ### (odstranit, smazat, vymazat)

Běžné možnosti

  • Výstup :-v (verbose – název souboru), -h (hash)
  • Předpoklady :–nodeps, –replacefiles, –force (TADY POZOR !!!)
  • Přemístění :–excludepath, –prefix, –relocate, –badreloc, –root
  • Podpora URL :ftp, http

Příklady:

rpm -ivh binutils-2.11.90.0.8-12.i386.rpm
rpm -Uvh finger-0.17-9-i386.rpm
rpm -Fvh ftp://updates.redhat.com/current/i386/*.rpm
rpm -e diffutils
rpm -e kernel-enterprise-2.4.9-e.12

Tipy a triky

– Nikdy, nikdy nepoužívejte volbu „-U“ k instalaci nového RPM jádra.
– Funkce aktualizace „-U“ nejprve vymaže aktuální RPM ze systému a poté se pokusí nainstalovat nové RPM. Jakýkoli problém, který brání instalaci nového RPM, způsobí, že systém nebude možné spustit. To není to, co chcete, takže k instalaci RPM jádra vždy použijte přepínač „-i“.

Příklady příkazů RPM pro dotazování, instalaci, odstranění a upgrade balíčků

Dotazy (balíčky a/nebo informace)

Použijte dotaz pro informace o nainstalovaných balíčcích. Můžete se dotazovat na všechny nainstalované balíčky nebo na jeden nainstalovaný balíček. Můžete také zjistit, které RPM poskytuje konkrétní soubor.

  • rpm -q [balíčky] [informace]
  • ot./min -qa
  • rpm -q název_balíčku
  • rpm -qf [název souboru]
  • rpm -qp [název souboru]

Informace

výchozí (název balíčku)
-i :obecné informace
-l :seznam souborů

Příklady:

rpm -qa
rpm -q kernel -i (information)
rpm -q kernel -l (files contained in package)
rpm -q kernel --requires (prereqs)
rpm -q kernel --provides (capabilities provided by package)
rpm -q kernel --scripts (scripts run during installation and removal)
rpm -q kernel --changelog (revision history)
rpm -q kernel -queryformat format (rpm --querytags for list of options)

Tipy a triky

– Při hledání konkrétního balíčku RPM, když není znám přesný název, použijte kanál příkazů jako:

$ rpm -qa | grep foo

se běžně používá. Pozdější verze nástroje RPM umožňují, aby to bylo stručně provedeno takto:

$ rpm -qa '*foo*'

Dotazy – ověření (soubory)

Databáze RPM obsahuje mnoho atributů o každém souboru nainstalovaném pomocí RPM. Aktuální stav souboru můžete ověřit podle informací katalogizovaných pomocí RPM při instalaci balíčku.

  • rpm -V název_balíčku
  • rpm -Va (ověřit vše)
  • rpm -Vf (název souboru)
  • rpm -Vp (název balíčku)

Mnoho distribucí Linuxu obsahuje „předběžný odkaz ” RPM, které se pokouší zkrátit čas potřebný ke spuštění aplikace pomocí sdílené knihovny (většina aplikací používá alespoň jednu sdílenou knihovnu a potenciálně desítky) přidáním speciálních informací přímo do programového souboru aplikace.

Přidání těchto informací urychlí spouštění aplikací, ale změny souborů znehodnotí většinu atributů souboru v databázi RPM, jako je datum poslední úpravy souboru, velikost souboru a kontrolní součet MD5 souboru.

Dotazy – ověření (balíčky)

Níže jsou uvedeny některé dotazy RPM pro ověření balíčků.

  • rpm -import /mnt/cdrom/RPM-GPG-KEY
  • rpm -q gpg-pubkey
  • rpm –checksig m4-1.4.1-11.i386.rpm

Příklady:

rpm -qf /path/filename (what package owns filename)
rpm -qf /path/filename -i (what does it do)
rpm -qp m4-1.4.1-11.i386.rpm -l (files in m4)
rpm -qp m4-1.4.1-11.i386.rpm --requires (prereqs needed to install m4)
rpm -q --whatprovides glibc.so (what package provides requisite library)


Cent OS
  1. Průvodce pochopením softwarových knihoven Linuxu v jazyce C

  2. Linux RPM Comamnd s 10 užitečnými příklady

  3. Práce se soubory ZIP v Linuxu

  1. Průvodce pro začátečníky ke konfiguraci modulu jádra v Linuxu

  2. Jak řešit problémy s výkonem v Linuxu – Průvodce pro začátečníky

  3. Komprimujte soubory PDF na Linuxu pomocí Densify

  1. Správa balíků Linux pomocí apt

  2. Jak šifrovat soubory pomocí gocryptfs na Linuxu

  3. Další tipy pro balení vašeho linuxového softwaru pomocí RPM