Как запретить apt-get / aptitude хранить кеш

14

Я установил Apt-Cacher NG, чтобы обеспечить кеш пакетов для нескольких машин. Поэтому я не вижу смысла хранить aptitude / apt-get в своем (втором) кэше /var/cache/apt/archives. Я понимаю, что могу очистить этот кеш sudo apt-get clean, но есть ли способ настроить apt-get для автоматической очистки кеша после завершения установки?

блэр
источник
Я пытаюсь сделать то же самое, что и многие LXC, чтобы экспериментировать и содержать свой персональный компьютер в чистоте. Одним из таких LXC является мой apt-cacher-ng, но теперь я хотел бы запретить всем остальным экземплярам (включая «настоящий») сохранять архивное хранилище.
jgomo3

Ответы:

9

Согласно документации , вы можете добавить конфигурационный файл для /etc/apt/apt.conf.d/имени , no-cacheсодержащих Dir::Cache "";и в Dir::Cache::archives "";соответствии с инструкцией по apt.conf. Существует отчет об ошибке, вызывающий проблемы с этим методом, и я не рекомендую его.

Согласно этому уроку есть еще один метод :

echo 'DPkg::Post-Invoke {"/bin/rm -f /var/cache/apt/archives/*.deb || true";};' | sudo tee /etc/apt/apt.conf.d/clean

Это выполнит rmкоманду непосредственно перед тем, как apt завершит работу.

sagarchalise
источник
Я нашел только установив путь кэша пустого пути дал ошибку при запуске APT: Archives directory archives/partial is missing. - Acquire (2: No such file or directory). Решением этой ошибки было также установить Dir::Cache::archivesпустой путь. Я обновил ваш ответ, чтобы включить это (при условии, что кто-то с более высоким представителем одобряет редактирование).
Блэр
1
На самом деле, установка их на пустые пути не работает. Я так и сделал, а затем установил и удалил пакет. Собираясь установить его снова я получил Need to get 0 B/21.9 MB of archivesуказание на наличие кэшированной версии. Оглядываясь вокруг, оказывается, что они были кэшированы в корне файловой системы ... не совсем то, что я хотел! Если мы оба не читаем man-страницу для apt.conf неправильно, либо man-страница неверна, либо есть ошибка. Я думаю, что я буду придерживаться второго метода.
Блэр
4
Я сообщил об Dir::Cache::Archive "";ошибке на bugs.launchpad.net/apt/+bug/937951 . Если вы установили это, не запускайте, такapt-get clean как он удалит все файлы в корневом каталоге ( /).
Лекенштейн
2
Согласно ошибке, Dir::Cache::Archiveнеправильная конфигурация var; это должно быть Dir::Cache::{src,}pkgcache.
Джереми Керр
1
Эта ошибка была исправлена ​​в более поздней версии?
Sep332 20.12.13
-2

Я думаю, что вы ищете:

/etc/apt/apt.conf.d$ cat 04autoclean
APT::Clean-Installed "true";
/etc/apt/apt.conf.d$ 
Виктор
источник
2
Эта команда ничего не меняет - она ​​просто показывает содержимое 04autoclean(при запуске в /etc/apt/apt.conf.dкаталоге). Вы говорите, что Блэр должен изменить содержимое, 04autocleanчтобы APT::Clean-Installedоно было установлено "true"?
Элия ​​Каган
1
Это будет только контролировать, как apt-get autocleanведет себя. Из apt-get (8): «Параметр конфигурации APT :: Clean-Installed предотвратит удаление установленных пакетов, если он выключен».
голубоглазый