Как предотвратить apt-get / aptitude, сохраняя кеш

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

13
задан 21 November 2011 в 07:18

2 ответа

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

Существует один оставшийся метод согласно bug учебник:

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

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

8
ответ дан 25 May 2018 в 16:39
  • 1
    Я обнаружил, что просто установление пути кэша к пустым путям дало ошибку при запуске apt: Archives directory archives/partial is missing. - Acquire (2: No such file or directory). Решение этой ошибки также должно было установить Dir::Cache::archives на пустой путь. Я обновил ваш ответ, чтобы включить это (предполагая, что кто-то с более высоким представителем одобряет редактирование). – Blair 21 November 2011 в 10:56
  • 2
    Фактически, установка этих пустых путей не работает. Я сделал это, а затем установил и удалил пакет. Чтобы снова установить его, я получил Need to get 0 B/21.9 MB of archives, указывающий на наличие кешированной версии. Оглядываясь, получается, что они были кешированы в корне файловой системы ... не совсем то, что я хотел! Если мы оба не читаем manpage для apt.conf неправильно, либо manpage неверна, либо есть ошибка. Я думаю, что буду придерживаться второго метода. – Blair 21 November 2011 в 11:11
  • 3
    Я сообщил об ошибке Dir::Cache::Archive ""; в bugs.launchpad.net/apt/+bug/937951 . Когда вы установили это, не запускают apt-get clean , так как он удалит все файлы в корневом каталоге (/). – Lekensteyn 21 February 2012 в 23:25
  • 4
    Согласно ошибке, Dir::Cache::Archive является неправильной конфигурацией var; это должно быть Dir::Cache::{src,}pkgcache. – Jeremy Kerr 4 July 2012 в 13:22
  • 5
    Была ли исправлена ​​эта ошибка в более поздней версии? – sep332 21 December 2013 в 03:46

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

/etc/apt/apt.conf.d$ cat 04autoclean
APT::Clean-Installed "true";
/etc/apt/apt.conf.d$ 
-2
ответ дан 25 May 2018 в 16:39
  • 1
    Эта команда не ничего не меняет - она ​​просто показывает содержимое 04autoclean (при запуске в каталоге /etc/apt/apt.conf.d). Вы говорите, что Блэр должен изменить содержимое 04autoclean, чтобы APT::Clean-Installed был установлен на "true"? – Eliah Kagan 4 July 2012 в 15:47
  • 2
    Это будет контролировать только поведение apt-get autoclean. Из apt-get (8): «Опция конфигурации APT :: Clean-Installed предотвратит стирание установленных пакетов, если она отключена. & Quot; – blueyed 17 January 2015 в 02:56

Другие вопросы по тегам:

Похожие вопросы: