Vytvářím image pro vestavěný Linux založený na Debianu. Použil jsem apt-get update
předtím na zařízení, které chci použít jako základ pro tento obrázek, takže seznamy pod /var/lib/apt/lists
jsou poměrně velké (velikost téměř 100 MB).
Chci zachovat apt-get
funkčnost (takže nechci odstraňovat apt repozitáře), ale chci uvolnit místo použité v těchto seznamech (seznamy téměř zdvojnásobují velikost obrázku).
Ví někdo, jak to udělat? Mohu jednoduše smazat soubory pod /var/lib/apt/lists
?
Odpověď
Stačí použít:
rm /var/lib/apt/lists/*
Tímto odstraníte seznamy balíků. Nebudou smazána žádná úložiště, jsou konfigurována v konfiguračním souboru v /etc/apt/sources.list
. Může se stát, že nástroje jako apt-cache
nemůže získat informace o balíčku, dokud neaktualizujete seznamy balíků. Také apt-get install
selže s E: Unable to locate package <package>
, protože ne informace jsou k dispozici ab balíček.
Pak stačí spustit:
apt-get update
tyto seznamy přepsat a příkaz bude fungovat znovu.
Každopádně se doporučuje před instalací cokoli spustit apt-get update
.
Komentáře
odpověď
Seznamy jsou znalostmi toho, co je k dispozici, takže pokud je smažete, nebudete moci nic instalovat – to je přesně ekvivalentní odebrání úložišť ze zdrojů. seznam (který říkáte, že nechcete dělat).
Jednou z možností je, že můžete seznamy zkomprimovat a nezapomeňte je před další update
.
Často dělám (zvláště když chci experimentovat s dalšími zdroji) vytvoření adresáře /etc/apt/sources.available
a přidání položek pro distribuce. Poté mohu snadno povolit libovolnou podmnožinu vytvořením symbolických odkazů z /etc/apt/sources.list.d
a deaktivovat odstraněním těchto symbolických odkazů.
S prázdným seznamem zdrojů můžete apt-get update
– to by mělo vymazat vaše /var/lib/apt/lists
. Příslušné zdroje poté propojte zpět do /etc/apt/sources.list.d
, ale <
do té doby, než je skutečně hodláte použít.
rm -rf /var/lib/apt/lists/*