Linuxové noviny | Duben 1998 | ||
| |||
V předchozí části tohoto seriálu jsme viděli, jaké informace systém RPM udržuje o jednotlivých balících a jejich souborech. V minulém čísle jsme si dokonce ukazovali, jak tyto údaje ze systému získat. V tomto čísle bude řeč o kontrole integrity balíků - co dělat, chceme-li zjistit, jestli soubory, které se v systému nacházejí, mají vůbec ještě nějaký vztah k RPM balíku, ze kterého byly kdysi nainstalovány.
Soubory a verifikační skriptyK verifikaci RPM balíků slouží přepínač -V, resp. -y nebo též --verify příkazu rpm. Systém RPM umí kontrolovat jednak integritu souborů příslušných RPM balíkům, a jednak správnost konfigurace. První z kontrol se provádí oproti RPM databázi nebo .rpm-balíku samotnému, druhá je prováděna pomocí verifikačního skriptu, který může být součástí RPM balíku. Tam si autor balíku může sám napsat cokoli, co zkontroluje například syntaxi konfiguračních souborů (uživatelé systému UUCP si jistě vzpomenou na program uucheck). Poslední věcí, kterou RPM kontroluje, jsou závislosti mezi balíky.
Kontrola souborůNásledujících devět atributů se může u každého souboru v daném balíku kontrolovat:
Ne všechny atributy jsou pochopitelně smysluplné u všech souborů - například cíl symbolického linku lze zřejmě kontrolovat pouze u souborů typu symbolický link. Taktéž hlavní a vedlejší číslo je platné pouze u speciálních souborů. Naopak MD5 součet je u speciálních souborů k ničemu. Navíc sám autor balíku má možnost zakázat verifikaci určitého atributu pro konkrétní soubor. Například terminálová zařízení mění svého vlastníka (nikoli však skupinu) podle toho, kdo je momentálně na daném terminálu přihlášen. Proto by bylo nemoudré verifikovat vlastníka takového souboru. Nesouhlasí-li hodnota některého atributu ve skutečnosti a v databázi, RPM o tom vypíše zprávu. Pro každý změněný soubor je ve výstupu jeden řádek. Na řádku je seznam atributů, které nesouhlasí, případně písmeno c, jde-li o konfigurační soubor, a cesta k souboru. Seznam je uveden ve formě osmiznakového řetězce, kde na místě změněných atributů je písmeno, a na místě nezměněných nebo neverifikovaných atributů je tečka. Výstup může vypadat asi takto:
$ rpm -V bash .M5....T c /etc/bashrcNa místě teček mohou být tyto atributy (podle pořadí v seznamu):
Co se má kontrolovat?Jak jsme již viděli výše, stačí příkazu rpm -V dát jako parametr seznam balíků, které má zkontrolovat. Kromě toho existují tyto další možnosti:
Další možnostiKromě výše uvedených přepínačů lze také specifikovat, které části verifikačního procesu se mají provést. Jednotlivé části lze vypnout těmito volbami:
Za zmínku stojí ještě přepínače -v, resp. -vv, které zvyšují podrobnost vypisovaných informací (například zapínají výpis standardního vstupu verifikačního skriptu, resp. i jednotlivé příkazy, tímto skriptem prováděné). Tento díl našeho seriálu o systému RPM uzavírá první část zaměřenou na běžné uživatele. Od příště se budeme věnovat vlastní tvorbě RPM balíků. |