очистить список


32

Я создаю образ для встроенного Linux на основе Debian. Я использовал apt-get updateранее на устройстве, которое я хочу использовать в качестве основы для этого изображения, поэтому списки /var/lib/apt/listsдовольно велики (почти 100 МБ).

Я хочу сохранить apt-getфункциональность (поэтому я не хочу удалять apt-репозитории), но я хочу освободить пространство, используемое в этих списках (списки почти удваивают размер изображения).

Кто-нибудь знает как это сделать? Могу ли я просто удалить файлы в разделе /var/lib/apt/lists?

Ответы:


47

Вы можете просто использовать:

rm /var/lib/apt/lists/*

Это удалит списки пакетов. Репозитории не будут удалены, они настроены в файле конфигурации в /etc/apt/sources.list. Все, что может произойти, это то, что такие инструменты, как например, apt-cacheне могут получить информацию о пакете, если вы не обновили списки пакетов. Также apt-get installне удастся с E: Unable to locate package <package>, потому что нет никакой информации о пакете.

Тогда просто запустите:

apt-get update

переписать эти списки и команда снова заработает.

Во всяком случае, рекомендуется запустить apt-get updateперед установкой чего-либо.


6

Списки - это знание того, что доступно, поэтому, если вы удалите их, вы не сможете ничего установить - это в точности эквивалентно удалению репозиториев из списка источников (что, как вы говорите, делать не нужно).

Одним из вариантов является то, что вы можете сжать списки, и не забудьте распаковать их, прежде чем вы будете дальше update.

Что я часто делаю (особенно когда я хочу поэкспериментировать с дополнительными источниками), это создать каталог /etc/apt/sources.availableи добавить записи для дистрибутивов. Затем я могу легко включить любое подмножество путем создания символических ссылок /etc/apt/sources.list.dи отключить их, удалив эти символические ссылки.

С пустым списком источников, вы могли бы apt-get update- это должно очистить ваш /var/lib/apt/lists. Затем добавьте ссылки на соответствующие источники /etc/apt/sources.list.d, но не updateраньше, чем вы действительно собираетесь их использовать.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.