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/*