Jak mogę skonfigurować apt-get do automatycznego czyszczenia po każdej instalacji

12

Czy istnieje jakiś sposób, czy apt-get cleanpo apt-get installautomatycznie, podobnie jak w innych dystrybucjach?

Tiago Carrondo
źródło
Dzięki @Braiam znalazłem błąd w Ubuntu i zgłoszę go. W rozwiązaniu Debiana Braiam działa dobrze.
Tiago Carrondo,
1
@TiagoCarrondo Czy możesz udostępnić link do błędu?
Ken Sharp
W Xenial wszystkie moje maszyny same się czyszczą. Nie wiem, gdzie to jest skonfigurowane, ale działa.
Ken Sharp

Odpowiedzi:

13

Musisz tylko dodać go w plikach konfiguracji apt. Po prostu biegnij:

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

Spowoduje to automatyczne czyszczenie za każdym razem upgrade.

Wyjaśnijmy ten wpis na stronie podręcznika:

Clean

Tryb czyszczenia pamięci podręcznej; ta wartość może być jedną z zawsze: szybka, automatyczna, przedautomatyczna i nigdy. zawsze i monit usunie wszystkie pakiety z pamięci podręcznej po aktualizacji, monit (domyślnie) robi to warunkowo. auto usuwa tylko te pakiety, których nie można już pobrać (na przykład zastąpione nową wersją). pre-auto wykonuje tę czynność przed pobraniem nowych pakietów.

Więcej informacji:

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

Braiam
źródło
Myślę, że na końcu powinien być potrzebny średnik ;! i dlatego powinno byćsudo sh -c "echo 'APT::Get::Clean=always;' >> /etc/apt/apt.conf.d/99AutomaticClean"
Indian
@Braiam Próbowałem i nie działa. Próbowałem nawet APT :: Get :: Clean „zawsze” jak w innych plikach, ale bez powodzenia. jakaś wskazówka?
Tiago Carrondo,
@Braiam no luck
Tiago Carrondo,
@TiagoCarrondo, co powiesz teraz? Ten komunikat usenet mówi, że jest zwycięzcą.
Braiam 12.12.13
Próbowałem tego już po twoim pierwszym poście.
Zmieniam
2

Napisz skrypt powłoki!

sudo nano /usr/bin/aptinstaller 

Wewnątrz tego typu pliku:

#!/bin/bash
sudo apt-get install $1
sudo apt-get -y autoclean
sudo apt-get -y autoremove  

Zapisz i wyjdź z nanooraz wpisz:

sudo chmod +x /usr/bin/aptinstaller 

Teraz za każdym razem, gdy piszesz

sudo aptinstaller <package-name> 

Zainstaluje się, a następnie wyczyści.

Indianin
źródło
Wolę opcję, ale brzmi jak bardzo dobry plan B, dzięki
Tiago Carrondo,
2
/usr/local/bin/wydaje się bardziej poprawny.
Ken Sharp,
0

Moim obejściem, choć nie jest to realne rozwiązanie, jest ustawienie katalogu archiwów na /tmp. Nie będzie czyszczony automatycznie po instalacji, ale zostanie wyczyszczony przy ponownym uruchomieniu.

Utworzyłem /etc/apt/apt.conf.d/99cleani dodałem:

Dir::Cache::archives /tmp;

Alternatywnie możesz zamontować /var/cache/apt/archivesza pomocą tmpfs, ale to oczywiście zużyje pamięć RAM i nie poleciłbym tej opcji.

Na /etc/fstabprzykład:

tmpfs /var/cache/apt/archives tmpfs size=128m,mode=755 0 0
Ken Sharp
źródło
0

Wygląda na to, że włamanie dodaje następujące elementy do np. /etc/apt/apt.conf.d/clean( Via ):

DPkg::Post-Invoke {"/bin/rm -f /var/cache/apt/archives/*.deb || true";};

Spowoduje to automatyczne wyczyszczenie pamięci podręcznej po wywołaniu dpkg przez apt.

Nie powoduje to jednak wyczyszczenia pamięci podręcznej apt-get update, do tego APT::Update::Post-Invokemożna użyć haka .

Najlepszą metodą wydaje się nadal wywoływanie apt-get clean/ aptitude cleanręczne.

niebieskawy
źródło