Есть ли способ сделать apt-get clean
после apt-get install
автоматически, как в других дистрибутивах?
Вам просто нужно добавить его в конфигурационные файлы apt. Просто запустите:
sudo sh -c "echo 'DSELECT::Clean "always";' >> /etc/apt/apt.conf.d/99AutomaticClean"
Это будет запускать автоматическую очистку каждый раз, когда вы делаете upgrade
.
Давайте объясним эту запись со страницы руководства:
Clean
Режим очистки кэша; это значение может быть одно из: всегда, приглашение, авто, предавто и никогда. Always and prompt удалит все пакеты из кэша после обновления, приглашение (по умолчанию) делает это условно. auto удаляет только те пакеты, которые больше не загружаются (например, заменяется новой версией). pre-auto выполняет это действие перед загрузкой новых пакетов.
Дополнительная информация:
https://groups.google.com/d/msg/linux.debian.user/aK2jvfL_tuw/rUd6i6bd4YQJ
Напишите скрипт оболочки!
sudo nano /usr/bin/aptinstaller
Внутри этого типа файла:
#!/bin/bash
sudo apt-get install $1
sudo apt-get -y autoclean
sudo apt-get -y autoremove
Сохраните и выйдите из nano
и введите:
sudo chmod +x /usr/bin/aptinstaller
Теперь каждый раз, когда вы набираете
sudo aptinstaller <package-name>
Это будет установить, а затем очистить.
Мой обходной путь, хотя и не является реальным решением, - установить для каталога архивов значение /tmp
. Он не будет очищен автоматически после установки, но будет очищен при перезагрузке.
Я создал /etc/apt/apt.conf.d/99clean
и добавил:
Dir::Cache::archives /tmp;
В качестве альтернативы вы можете смонтировать /var/cache/apt/archives
, используя tmpfs
, хотя это, очевидно, будет использовать ОЗУ, и я бы не рекомендовал этот вариант.
В /etc/fstab
, например:
tmpfs /var/cache/apt/archives tmpfs size=128m,mode=755 0 0
Взломать, кажется, добавляет следующее, например, /etc/apt/apt.conf.d/clean
( через ):
DPkg::Post-Invoke {"/bin/rm -f /var/cache/apt/archives/*.deb || true";};
Это автоматически очистит кэш после того, как apt вызовет dpkg.
Это не очищает кеш после apt-get update
, хотя для этого можно использовать хук APT::Update::Post-Invoke
.
Наилучший способ по-прежнему заключается в вызове apt-get clean
/ aptitude clean
вручную.