Як я можу налаштувати apt-get для чищення автоматично після кожного встановлення


12

Чи є спосіб зробити apt-get cleanпісля того, як apt-get installавтоматично, як і в інших дистрибутивах?


Завдяки @Braiam я знайшов помилку в Ubuntu і повідомляю про це. У рішенні Debian Braiam добре працює.
Тіаго Каррондо


1
@TiagoCarrondo Чи можете поділитися посиланням про помилку, будь ласка?
Кен Шарп

У Xenial всі мої машини чистять себе. Я не знаю, де це налаштовано, але це працює.
Кен Шарп

Відповіді:


13

Вам просто потрібно додати його у файли конфігурацій. Просто запустіть:

sudo sh -c "echo 'DSELECT::Clean "always";' >> /etc/apt/apt.conf.d/99AutomaticClean"

Це призведе до автоматичного очищення кожного разу, коли ви це робите upgrade.

Давайте пояснимо цей запис зі сторінки man:

Clean

Режим кеш-очищення; це значення може бути одним із завжди, підказок, автоматичного, попереднього та ніколи. завжди і підказка видалить усі пакети з кешу після оновлення, підказка (за замовчуванням) робить це умовно. автоматично видаляє лише ті пакунки, які вже не можна завантажити (замінено, наприклад, новою версією). попередньо автоматично виконує цю дію перед завантаженням нових пакетів.

Більше інформації:

https://groups.google.com/d/msg/linux.debian.user/aK2jvfL_tuw/rUd6i6bd4YQJ


Я здогадуюсь, він повинен мати крапку з комою ;! і тому воно повинно бутиsudo sh -c "echo 'APT::Get::Clean=always;' >> /etc/apt/apt.conf.d/99AutomaticClean"
індійський

@Braiam Я спробував це, і це не працює. Я навіть пробував APT :: Get :: Clean "завжди", як і в інших файлах, але не пощастило. якась підказка?
Тіаго Каррондо

@Braiam не пощастило
Tiago Carrondo

@TiagoCarrondo як тепер? У цьому повідомленні Usenet сказано, що це переможець.
Брайам

Я спробував це вже після вашого першого повідомлення. Ідемо змінити місце розташування файлів ... зачекайте
Тіаго Каррондо

2

Напишіть сценарій оболонки!

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> 

Він встановиться, а потім очистить.


Я вважаю за краще варіант, але звучать як дуже гарний план B, thx
Tiago Carrondo

2
/usr/local/bin/здається більш правильним.
Кен Шарп

0

Моє вирішення, хоча і не є реальним рішенням, полягає у встановленні каталогу архівів /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

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вручну.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.