Téma 5: Práce s CentOS II
Téma 5: Práce s CentOS II Správa RPM balíčků
1
Téma 5: Práce s CentOS II
Teoretické znalosti V této kapitole zjistíte, co to jsou RPM balíčky, jak funguje Upgrading, Freshening, Removing a Queying rpm balíčků. Dále jak probíhá jejich instalace pomocí rpm a jak ověřit jejich integritu. RPM neboli RedHat Package Manager je výkonný správce balíčků, jehož prostřednictvím můžete instalovat, aktualizovat a mazat balíčky. CentOS poskytuje jak grafickou správu, tak pomocí příkazového řádku. Okno Přidat/Odebrat Software dovoluje zobrazit kategorii balíčků instalovaných nebo dostupných pro systém. Příkaz rpm nabízí mnoho možností jak instalovat, odinstalovat, listovat a ověřit Vaše RPM balíčky. Používání okna Přidat/Odebrat Toto okno poskytuje možnosti hledání, listování a instalaci balíčků rpm z yum repozitory. Pro otevření stačí zvolit na horním panelu aplikace a kliknout na Přidat/Odebrat Software. Používání příkazu rpm Tento příkaz řídí správu RPM balíčků. Umožňuje zobrazit seznam všech nainstalovaných balíčků, aktualizovat na novější verzi a zjišťovat údaje. Příkaz rpm má následující možnosti:
-i - instalace -U - upgrade -F - freshen -q - dotaz -V - ověření -e - odinstalace - - checksig - sinature chceck -- rebuilddb – rebuild database
S těmito možnostmi můžete instalovat, ověřovat jejich obsah, opravovat chyby. Můžete měnit věci jako vlastníka nebo RPM databázi. Musíte být přihlášení jako root pro přidávání nebo odebírání balíčků. Nicméně věci jako seznam instalovaných balíčků, ověření obsahu a dotazy na balíčky můžete provádět jako běžný uživatel. Jak bylo již zmíněno v předcházející kapitole v prostředí CentOS bývá často lepším nástrojem pro lokální instalaci balíčků yum, protože automaticky zjišťuje online nejnovější verze a všechny závislosti potřebné k tomuto balíčku. Samotný rpm Vám může někdy selhat díky chybějícím zavislostem. Ověření integrity balíčků pomocí rpm Při používání balíčkovacího systému yum je automaticky kontrolován pomocí GPG/DSA klíče balíček tak, aby zjistil jeho nepožkozenost. V případě lokální instalace balíčku rpm musíme tuto integritu ověřit ručně. Zkontrolovat všechny znaky, abychom měli jistotu, že není balíček porušený. Používá se k tomu příkaz rpm --checksig
.
Měli bychom dostat výstup, že balíček je OK. 2
Téma 5: Práce s CentOS II Instalace rpm balíčků je velmi snadná stačí zadat rpm -i můžeme přidat ještě parametry jako:
-v – vypisuje informace během instalace
-h – vypíše 50 krát mřížku při rozbalování balíčku. Můžeme tak vidět, zda instalace stojí či ne.
-percent – ukazuje stav instalace v procentech
Obvykle můžeme se může zobrazit chyba týkající se buď závislostní na další balíčky nebo při instalaci jiného uživatele než root. Upgrading balíčků je snadný, stačí zde přidat parametr -U. Někdy se může stát, že nainstalujete nejnovější verzi a nepracuje správně. Potom je potřeba nainstalovat zpět starou verzi rpm -U -oldpackage . Freshening balíčků je podobný upgradu liší se pouze tím, že parametr -U můžeme použít jak při původní instalaci, tak při upgrade. Parametr -F pouze při upgrade tzn. pokud ještě nebyl balíček nainstalován nic se nestane. Můžeme se tedy přesunout do adresáře stažených balíčků a zadat příkaz rpm -Fhv *.rpm, který provede pouze upgrade na novější balíčky pokud existují. Odinstalace balíčků se provádí parametrem -e. Před jejím provedením je dobré zjistit závislosti na tomto balíčku příkazem rpm -q --whatrequires . Než balíček odinstalujete můžete tento proces nejprve otestovat příkazem rpm -evv --test | less. Parametry vv budou vypisovat kompletní proces na obrazovku a paramter test znamená spuštění v testovacím režimu. Querying slouží k zjišťování informací o balíčku. Zajišťuje ho paramter -q a můžeme používat třeba:
-qa - seznam všech instalovaných balíčků -qi - informace o balíčku -qR - seznam balíčků, na kterých závisí -ql - seznam všech souborů obsažených v balíčku -qd - seznam všech dokumentací k balíčku -qc - seznam všech konfiguračních souborů balíčku -qp <parametr> - dotazování na balíček, který zatím nebyl ještě nainstalován
.
3
Téma 5: Práce s CentOS II
Zadání cvičení 1. Přidat/Odebrat Software - nainstalujte pomocí Přidat/Odebrat Software balíček telnet 2. Integrita balíčku – stáhněte balíček a ověřte jeho integritu balíčku openmotif (http://rpm.pbone.net/index.php3/stat/4/idpl/17044331/dir/centos_6/com/openmotif-2.3.34.el6.i686.rpm.html --checksig) 3. Instalace balíčku –nainstalujte balíček openmotif tak, aby jste viděli procentní stav instalace, podrobný výpis a proces rozbalování (-ivh) 4. Freshening balíčku – stáhněte balíček dhcp z http://pkgs.org/centos-6-rhel-6/centos-rheli386/dhcp-4.1.1-12.P1.el6.i686.rpm/download/ a proveďte jeho freshening. (-F) 5. Upgrade balíčku – proveďte na stejném balíčku upgrade a porovnejte rozdíl. (-U) 6. Testování odinstalace – nejprve proveďte test odinstalace openmotif a prohlédněte si výstup (evv --test) 7. Odinstalace balíčku – odinstalujte balíček openmotif a ověřte to. (-evv) 8. Quering balíčku – zjistěte všechny závislosti na balíčku libdmx, seznam všech souborů obsažených v balíčku, seznam všech dokumentací a informace o balíčku (-qcRid) 9. Quering balíčku II – udělejte dotaz na nenainstalovaný balíček ohledně jeho informací (-qpR) 10. Instalace balíčku z internetu – proveďte instalaci balíčku přímo z internetového odkazu ftp://ftp.muug.mb.ca/mirror/centos/6.0/cr/x86_64/RPMS/openmotif-2.3.3-4.el6.i686.rpm 11. Zobrazení nainstalovaných balíčků - podívejte se na všechny nainstalované balíčky (-qa)
4
Téma 5: Práce s CentOS II
Řešení: 1. Přidat/Odebrat Software - nainstalujte pomocí Přidat/Odebrat Software balíček telnet 1.1. Toto okno otevřete kliknutím na Systém->Správa->Přidat/Odebrat software
1.2. Nejprve se načtou údaje z yum. Zadejte do vyhledávání telnet a vyčkejte na zobrazení. Zatrhněte ho, zvolte použít.
1.3. Pak Vás aplikace vyzve k zadání administrátorského hesla FimUHK
1.4. Nyní můžete ještě ověřit, že je telnet nainstalovaný.
5
Téma 5: Práce s CentOS II
2. Integrita balíčku – stáhněte balíček a ověřte jeho integritu balíčku openmotif 2.1. Otevřete prohlížeč firefox, zadejte adresu http://rpm.pbone.net/index.php3/stat/4/idpl/17044331/dir/centos_6/com/openmotif2.3.3-4.el6.i686.rpm.html a pak zvolte odkaz viz. obrázek.
2.2. Uložte balíček na disk. (výchozí složka /home/fimuhk/Stažené)
2.3. Vraťte se zpět do terminálu do složky Stažené. Zadejte příkaz rpm --checksig
6
Téma 5: Práce s CentOS II
Zde je vidět, že jsem nejprve instaloval balíček, který není přímo určený pro CentOS6 a příkaz mi vrátil, že balíček není vhodný pro moje prostředí. Poté jsem odzkoušel balíček unixODBC, jestli funguje příkaz správně. Na závěr jsem stáhl balíček určený pro rhel6 (CentOS6)
3. Instalace balíčku –nainstalujte balíček openmotif tak, aby jste viděli procentní stav instalace, podrobný výpis a proces rozbalování 3.1. Pro instalaci zadejte příkaz rpm s parametry i – instalovat, v – informace, h – mřížky při rozbalování balíčku a -- percent pro procentní stav dokončení.
V tomto příkladu vidíte, proč je výhodnější používat yum místo rpm. Příkaz rpm nám pouze vypíše jaké balíčky nám chybí, ale nestáhne je. Stačilo by nám tedy použít místo rpm příkaz yum localinstall openmotif… a tento systém by si sám stáhl vše potřebné. 3.2. Jelikož si chceme vyzkoušet instalaci příkazem rpm, tak nejprve pomocí yum nainstalujte balíček LibXp.i686
3.3. Nyní je vše připravené. Zopakujte příkaz z bodu 3.1 a sledujte instalaci.
4. Freshening balíčku – stáhněte balíček dhcp z http://pkgs.org/centos-6-rhel-6/centos-rheli386/dhcp-4.1.1-12.P1.el6.i686.rpm/download/ a proveďte jeho freshening 4.1. Otevřete Firefox a zadejte URL odkaz. Stáhněte si binary package. 7
Téma 5: Práce s CentOS II
4.2. Opět se přesuňte v terminálu jako root přesuňte do složky Stažené. Zadejte příkaz rpm s parametrem -F pro freshening. Na obrázku níže vidíte, že jsme ještě použili parametry pro výpis informací a procesu rozbalování.
Nyní vidíte, že se vůbec nic neprovedlo. Freshening totiž instaluje pouze aktualizace již nainstalovaných balíčků, tzn. jestliže nemáte balíček v systému nainstalovaný, neprovede se nic. 4.3. Nyní tedy proveďte stejný příkaz, ale místo -F zadejte -U (update). Jak je vidět z obrázku, balíček se nainstaluje. Zde je patrný rozdíl mezi freshening a upgrading balíčku. 5. Upgrade balíčku – proveďte na stejném balíčku upgrade a porovnejte rozdíl 5.1. Tento úkol jsme provedli v předcházejícím řešení (4.) 6. Testování odinstalace – nejprve proveďte test odinstalace openmotif a prohlédněte si výstup 6.1. Zadejte rpm s parametrem -e pro odinstalaci a -v pro výpis informací. Nakonec zadejte -test, kterým zajistíte, že odinstalace proběhne nanečisto.
8
Téma 5: Práce s CentOS II
Testovací režim můžete používat, aby jste předešli chybám např. v produkčním prostředí. 7. Odinstalace balíčku – odinstalujte balíček openmotif a ověřte to. 7.1. V tomto kroku zopakujte předcházející příkaz bez parametru --test. 7.2. Příkazem na obrázku níže se můžete ujistit, zda opravdu balíček v systému není.
8. Quering balíčku – zjistěte všechny závislosti na balíčku libdmx, seznam všech souborů obsažených v balíčku, seznam všech dokumentací a informace o balíčku 8.1. Dotazování provedete pomocí parametru -q a příslušných „otázek“. Takto to funguje pouze pro balíčky, které jsou nainstalované v systému.
9. Quering balíčku II – udělejte dotaz na nenainstalovaný balíček ohledně jeho informací
9
Téma 5: Práce s CentOS II 9.1. Pro dotaz na nenainstalovaný balíček stačí přidat pouze parametr -p a hlavně cestu k balíčku.
10. Instalace balíčku z internetu – proveďte instalaci balíčku přímo z internetového odkazu ftp://ftp.muug.mb.ca/mirror/centos/6.0/cr/x86_64/RPMS/openmotif-2.3.3-4.el6.i686.rpm 10.1. Pokud z nějakého důvodu nechcete balíček stahovat na disk, ale chcete přímo nainstalovat, můžete to provést přímo z URL odkazu. Zadejte klasické parametry pro instalaci a URL adresu.
11. Zobrazení nainstalovaných balíčků - podívejte se na všechny nainstalované balíčky 11.1. Výpis všech balíčků v systému zobrazíte parametrem -qa. Doporučuji přidat na konec rouru s less, abyste mohli listovat. 10
Téma 5: Práce s CentOS II
11