Hlavní navigace

Vyčistěte si Debian: pryč s nepotřebnými balíčky a dalším nepořádkem

Petr Krčmář 3. 7. 2012

Jednu linuxovou instalaci můžete používat mnoho let a stále bude plně funkční. Pokud budou správně fungovat aktualizace, je možné kontinuálně používat jeden systém prakticky nekonečnou dobu. Vzniká v něm ovšem tu a tam nějaká hromádka nepořádku, kterou je třeba vymést. Poradíme vám, jak na Debian a jeho deriváty.

Linuxové systémy jsou známé tím, že mohou běžet mnoho let bez reinstalace nebo restartu. Takový systém je ale po letech plný starých nepoužívaných balíčků, různých cache, odkládacích adresářů a dalšího balastu, který jen zabírá místo na disku a třeba v databázi balíčků. Čím víc se systémem experimentujeme a přidáváme do něj aplikace a zdroje, tím víc špíny zůstává v koutech.

Naštěstí máme k dispozici balíčkovací systém, který dokáže identifikovat každý soubor na disku a přiřadit jej ke konkrétnímu balíčku. U balíčků zase můžeme vysledovat jejich závislosti a rozhodnout, zda ten či onen kus software je vůbec ještě v systému potřeba. Pokud známe ty správné příkazy, můžeme to navíc udělat jednoduše a v klidu.

Podobný problém se jistě týká i dalších distribucí, já jako debianista se budu věnovat své oblíbené distribuci. Následující návody jsou proto určeny pro distribuci Debian, ale stejně dobře budou fungovat i v Ubuntu (a dalších derivátech). Konec konců Ubuntu je uvnitř z 93 % Debian.

Dále budu používat utilitu Aptitude, protože je podle (nejen) mého názoru lepší a inteligentnější než apt-get. Je to také jeden z prvních balíčků, které instaluji do cizích počítačů s Ubuntu. Pokud chováte k Aptitude nepřekonatelný odpor a chcete používat apt-get, můžete příkazy ve zde uvedených návodech zaměňovat. Oba programy používají stejnou základní syntaxi.

Vysypání cache balíčkovacího systému

Balíčkovací systém Debianu si všechny stažené balíčky ukládá do adresáře /var/cache/apt/archives pro případné pozdější použití. Obsah tohoto adresáře s každou aktualizací či doinstalací balíčků roste a roste. Jednou za čas se jej proto vyplatí buďto ručně promazat nebo to nechat na systému:

# aptitude clean

Pokud se vám zdá barbarské mazat celou cache, můžete použít inteligentní mazání, které odstraní ty balíčky, které už stejně nejsou na serverech k dispozici:

# aptitude autoclean

Pokud chcete, můžete v adresáři udržovat pořádek automaticky, abyste na to nemuseli myslet. Uklízečku tam můžete posílat pravidelně. Stačí do souboru /etc/apt/apt.conf.d/10periodic připsat

APT::Periodic::AutocleanInterval "7";

A apt jednou za týden spustí autoclean za vás. Můžete také jednoduše omezit velikost, kterou může adresář v systému zabírat (v MB). Ve stejném adresáři je soubor 20archive a v něm nastavte:

APT::Periodic::MaxSize "500";

Tím zvolíte limit půl gigabajtu.

Odstranění starých balíčků

Pokud od instalace svého systému poctivě používáte Aptitude, máte systém v lepším stavu než s apt-get. Aptitude si totiž udržuje informace o tom, které balíčky jste si explicitně vyžádali k instalaci a které přijely jako závislosti. Pokud některý z vyžádaných balíčků odinstalujete, balíčkovač rovnou nabídne k odstranění i další balíky, které už nejsou potřeba.

Přesto tento systém není vždycky dokonalý a pokud jste míchali Aptitude a apt-get, jste stejně nahraní. Existuje ale šikovný balíček deborphan, který umí v systému vyhledávat a vypsat sirotky. Stačí jej klasicky nainstalovat a spustit, je to bezpečné.

Program jednoduše vypíše ty balíčky, které podle něj už nejsou v systému potřeba. Obvykle jde o různé knihovny a podpůrné balíčky. Někdy se ale může stát (jako teď mně), že se ve výpisu objeví nějaký užitečný balíček (u mě program qtpfsgui. Protože jej chci zachovat, připíšu ho do souboru /var/lib/deborphan/keep. Co řádek, to název jednoho balíčku. Od této chvíle je balík ignorován a na výstup deborphanu se nedostane. Vždy doporučuji kontrolovat, co je doporučeno k odinstalaci, abyste se nedočkali překvapení.

Pokud se vám výpis líbí, můžete jím rovnou nakrmit aptitude:

# aptitude remove `deborphan`

Standardně jsou prohledávány jen balíčky v sekci libs, kde bývá zbytků nejvíce. Můžete ale zvýšit šance své uklízečky a zkusit i další sekce, pomocí parametru --guess-něco. Možností je celá řada, najdete je v manuálové stránce. Jen namátkou: common, data, debug, dev, doc, kernel, dummy, mono, perl, python, ruby a další. Velmi dobrým kandidátem je sekce data, kde najdete řadu zapomenutých věcí. Můžete také zadat --guess-all, ale to už si musíte dát velký pozor na to, co má zmizet. Mně to třeba doporučuje odstranit vim-full, což bych dost nerad.

Až se doporučené balíčky odstraní, spusťte příkaz znovu. Velmi často se odstraněním v první vlně uvolní další závislosti a objeví se další balíčky (často víc, než bylo těch předtím). Abyste systém vyčistili, musíte proceduru několikrát zopakovat, až deborphan vypíše prázdný výstup.

Poznámka: Deborphan není jediný zástupce „čističů“. Existují i další alternativy jako cruft či debfoster. Vyzkoušejte je, ale buďte při jejich použití opatrní.

Odstranění starých konfigurací

Při klasické odinstalaci ( remove) balíčku ze systému se standardně nemaže konfigurace. Tak je to zařízeno schválně, protože konfigurace zabírají velmi málo místa a někdy je dobré je mít k dispozici a vrátit se k nim. Občas ale dostanete do správy tak zaneřáděný systém, že je potřeba haldu starých věcí smazat.

Existuje několik způsobů, můžete si na to napsat skriptík, který vyhledá nevyčištěné balíčky a podobně. Nejelegantnější řešení ale spočívá ve využití vyhledávacích vzorů Aptitude, které vám umožní balíčky vyhledat a rovnou na nich pustit správnou akci ( purge). Před takovou změnou určitě proveďte zálohu konfiguračních souborů.

# aptitude purge ~c

Čistěte, ale opatrně

Těmito postupy si můžete krásně vyčistit systém, ale zároveň jej můžete nepříjemně poškodit. Vždycky proto raději hlídejte, co se ten který příkaz snaží udělat a sledujte, zda je to opravdu to, co chcete. Tak příjemnou údržbu.

Našli jste v článku chybu?

3. 7. 2012 2:19

Ano, tim by si clovek opravdu pomohl. Aby nebylo nutne jednou za nekolik let vycistit nadbytecne balicky a konfiguraky, nainstaluje si uzivatel OS, ktery je nutno minimalne jednou za par let (drive i nekolikrat do roka) kompletne preinstalovat + nasledne preinstalovat aplikace. OS ktery ani neni schopen promazat si pri bootu svuj adresar docasnych souboru, kterych se tam muzou valet gigabajty a ve kterem po kazde odinstalaci programu zbyvaji soubory, adresare a klice v registry. A pak to jeste m…

3. 7. 2012 9:14

Keramx (neregistrovaný)

Pro dospělé lidi bych zrovna neříkal.
Linux poskytuje nejvíc možností konfigurace a kdo to umí tak na něj nedá dopustit. Výborně se hodí pro dlouhodobé instalace, jako třeba nejrůznější servery s nepřetržitým provozem, nejrůznější klientská nasazení sestavovaná na míru apod.
Windows mají dlouhou zpětnou kompatibilutu, největší zásobu software, největší podporu HW, ale na druhou stranu trpí třeba tím, že na stejném HW po čtyřech letech a četných záplatách zpomalí na polovinu. Ale že by jeho uživa…

DigiZone.cz: ČRo rozšiřuje DAB do Berouna

ČRo rozšiřuje DAB do Berouna

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Měšec.cz: Finančním poradcům hrozí vracení provizí

Finančním poradcům hrozí vracení provizí

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Vitalia.cz: Tesco: Chudá rodina si koupí levné polské kuře

Tesco: Chudá rodina si koupí levné polské kuře

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Podnikatel.cz: Prodává přes internet. Kdy platí zdravotko?

Prodává přes internet. Kdy platí zdravotko?

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi

DigiZone.cz: ČRa DVB-T2 ověřeno: Hisense a Sencor

ČRa DVB-T2 ověřeno: Hisense a Sencor

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí