Nedávno jsem si nainstaloval Arch Linux a zjistil jsem, že poměrně rychle zabírám spoustu úložiště. Z jakéhokoli důvodu jsem již použil 17 GB za pouhé 2 týdny. Nemám nainstalované velké množství softwaru, takže jsem přesvědčen, že všechny staré balíčky jsou někde udržovány.
Abych to podpořil, všiml jsem si, že pokud jsem nainstaloval balíček, odebral jej a poté jej znovu nainstaloval, že pacman pouze rozbalí a znovu nainstaluje software, aniž by jej musel znovu stahovat.
Poté, co jsem nainstaloval svůj základní systém, před dalším softwarem jsem použil asi 2 GB nebo tak nějak. Od té doby jsem nainstaloval pouze Matlab, Skype, Wine a několik dalších malých programů. Samozřejmě jsem také nainstaloval chybějící knihovny a podobně, ale ne za 15 GB.
Mýlím se zde úplně nebo Arch nikdy neodstraní staré balíčky při stahování/upgradu na nové verze?
Pokud ano, jak odstraním tyto nepoužívané balíčky?
Také, když odeberu nainstalované balíčky, používám pacman -R ...
Přijatá odpověď:
Ne, pacman neodstraní staré balíčky z vaší mezipaměti (/var/cache/pacman/pkg
), takže se časem může zaplnit.
K vymazání mezipaměti můžete použít dva přístupy:hrubou silou pomocí pacman -Sc
:
-c, –clean
Odstraňte balíčky, které již nejsou nainstalovány z mezipaměti, stejně jako aktuálně nepoužívané synchronizační databáze, abyste uvolnili místo na disku.
Když pacman stáhne balíčky, uloží je do adresáře mezipaměti. Kromě toho jsou databáze ukládány pro každou synchronizační databázi, ze které
stahujete, a nejsou odstraněny, i když jsou odstraněny z konfiguračního souboru pacman.conf(5). Použijte jeden přepínač –clean
k odstranění pouze balíčků, které již nejsou nainstalovány; použijte dvě k odstranění všech souborů z mezipaměti. V obou případech budete mít
možnost ano nebo ne odebrat balíčky a/nebo nepoužívané stažené databáze.
Nebo pro podrobnější přístup můžete použít jeden z nástrojů dodávaných s pacman-contrib, paccache
:
paccache je flexibilní nástroj pro čištění mezipaměti pacmana, který má četné
možnosti, které pomáhají řídit, kolik a co se odstraní z libovolného adresáře
obsahujícího tarbally balíčků pacman.
Ve výchozím nastavení paccache -r
odstraní všechny verze nainstalovaného balíčku kromě posledních tří, ale toto číslo můžete změnit pomocí -k, --keep
přepínač. Existuje také -d, --dryrun
přepnout a zobrazit náhled změn. Můžete také použít -m, --move <dir>
možnost přesunout balíčky do samostatného adresáře podle vašeho výběru. Viz paccache -h
nebo paccache --help
pro všechny přepínače.
V balíčku pacman-contrib je řada nástrojů, které pomáhají se správou balíčků, stojí za to si je všechny prohlédnout a pochopit, jak fungují a mohou značně usnadnit běh Archu. Úplný seznam můžete zobrazit pomocí:
pacman -Ql pacman-contrib | awk -F"[/ ]" '//usr/bin/ {print $NF}'