Jak zapobiegać przechowywaniu pamięci podręcznej przez apt-get / aptitude

14

Zainstalowałem Apt-Cacher NG, aby zapewnić pamięć podręczną pakietów dla kilku maszyn. Dlatego nie widzę sensu, aby aptitude / apt-get utrzymywał swoją własną (drugą) pamięć podręczną /var/cache/apt/archives. Zdaję sobie sprawę, że mogę opróżnić pamięć podręczną sudo apt-get clean, ale czy istnieje jakiś sposób na skonfigurowanie apt-get w celu automatycznego czyszczenia pamięci podręcznej po zakończeniu instalacji?

Blair
źródło
Staram się robić to samo, ponieważ używam wielu LXC do eksperymentowania i utrzymywania komputera w czystości. Jednym z tych LXC jest mój apt-cacher-ng, ale teraz chciałbym zapobiec wszystkim innym instancjom (w tym „prawdziwemu”), aby utrzymać porządek w archiwach.
jgomo3

Odpowiedzi:

9

Zgodnie z dokumentacją możesz dodać plik /etc/apt/apt.conf.d/nazwany no-cachezawierający Dir::Cache "";i Dir::Cache::archives "";zgodnie z instrukcją apt.conf. Zgłoszono błąd zgłaszający problemy z tą metodą i nie polecam jej.

Zgodnie z tym samouczkiem pozostaje jedna metoda :

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

Spowoduje to wykonanie rmpolecenia tuż przed zakończeniem apt.

sagarchalizować
źródło
Znalazłem tylko ustawienie ścieżka cache do pustej ścieżce dał błąd podczas uruchamiania apt: Archives directory archives/partial is missing. - Acquire (2: No such file or directory). Rozwiązaniem tego błędu było również ustawienie Dir::Cache::archivespustej ścieżki. Zaktualizowałem twoją odpowiedź, aby uwzględnić to (zakładając, że ktoś z wyższym przedstawicielem zatwierdza edycję).
Blair,
1
W rzeczywistości ustawienie ich na puste ścieżki nie działa. Zrobiłem to, a następnie zainstalowałem i usunąłem pakiet. Zamierzając zainstalować go ponownie, otrzymałem Need to get 0 B/21.9 MB of archivesinformację o obecności wersji z pamięci podręcznej. Rozglądając się, okazuje się, że były one buforowane w katalogu głównym systemu plików ... niezupełnie to, czego chciałem! Chyba że obaj czytamy stronę podręcznika dla apt.conf źle, to albo ta strona jest zła, albo jest błąd. Myślę, że pozostanę przy drugiej metodzie.
Blair
4
Zgłoszono Dir::Cache::Archive "";błąd na bugs.launchpad.net/apt/+bug/937951 . Po ustawieniu tego nie uruchamiaj,apt-get clean ponieważ spowoduje to usunięcie wszystkich plików w katalogu głównym ( /).
Lekensteyn
2
Według błędu, Dir::Cache::Archiveniewłaściwa konfiguracja var; tak powinno być Dir::Cache::{src,}pkgcache.
Jeremy Kerr
1
Czy ten błąd został naprawiony w późniejszej wersji?
sep332
-2

Myślę, że to, czego szukasz, to:

/etc/apt/apt.conf.d$ cat 04autoclean
APT::Clean-Installed "true";
/etc/apt/apt.conf.d$ 
Zwycięzca
źródło
2
To polecenie niczego nie zmienia - pokazuje tylko zawartość 04autoclean(po uruchomieniu w /etc/apt/apt.conf.dkatalogu). Czy mówisz, że Blair powinna zmienić zawartość 04autocleantak, aby APT::Clean-Installedbyła ustawiona na "true"?
Eliah Kagan
1
To tylko kontroluje, jak się apt-get autocleanzachowuje. Z apt-get (8): „Opcja konfiguracyjna APT :: Clean-Installed zapobiegnie skasowaniu zainstalowanych pakietów, jeśli jest wyłączona.”
niebieskawy