Comment empêcher apt-get / aptitude de garder un cache


14

J'ai installé Apt-Cacher NG pour fournir un cache de packages pour plusieurs machines. Je ne vois donc aucun intérêt à laisser aptitude / apt-get conserver leur propre (deuxième) cache /var/cache/apt/archives. Je me rends compte que je peux vider ce cache avec sudo apt-get clean, mais existe-t-il un moyen de configurer apt-get pour nettoyer automatiquement le cache une fois l'installation terminée?


J'essaie de faire la même chose que j'utilise de nombreux LXC pour expérimenter et garder mon ordinateur personnel propre. L'un de ces LXC est mon apt-cacher-ng, mais maintenant je voudrais empêcher toutes les autres instances (y compris la "vraie") de garder un fichier d'archives.
jgomo3

Réponses:


9

Selon la documentation, vous pouvez ajouter un fichier de configuration à /etc/apt/apt.conf.d/nommé no-cachecontenant Dir::Cache "";et Dir::Cache::archives "";selon le manuel de apt.conf. Il existe un rapport de bogue soulevant des problèmes avec cette méthode, et je ne le recommande pas.

Il y a une méthode restante selon ce tutoriel:

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

Cela exécutera une rmcommande juste avant que apt ne se ferme.


J'ai trouvé le chemin juste la mise en cache à un chemin vide a donné une erreur lors de l' exécution apt: Archives directory archives/partial is missing. - Acquire (2: No such file or directory). La solution à cette erreur consistait également à définir Dir::Cache::archivesun chemin vide. J'ai mis à jour votre réponse pour l'inclure (en supposant que quelqu'un avec un représentant supérieur approuve la modification).
Blair

1
En fait, leur définition sur des chemins vides ne fonctionne pas. Je l'ai fait, puis j'ai installé et supprimé un package. Je vais l'installer à nouveau, j'ai Need to get 0 B/21.9 MB of archivesindiqué la présence d'une version en cache. En regardant autour, il s'avère qu'ils étaient mis en cache à la racine du système de fichiers ... pas exactement ce que je voulais! À moins que nous ne lisions tous les deux la page de manuel d'apt.conf, la page de manuel est incorrecte ou il y a un bogue. Je pense que je vais m'en tenir à la deuxième méthode.
Blair

4
J'ai signalé le Dir::Cache::Archive "";bogue sur bugs.launchpad.net/apt/+bug/937951 . Une fois que vous avez défini cela, ne l'exécutez pasapt-get clean car cela supprimera tous les fichiers du répertoire racine ( /).
Lekensteyn

2
Selon le bogue, Dir::Cache::Archivela mauvaise configuration est var; cela devrait être Dir::Cache::{src,}pkgcache.
Jeremy Kerr

1
Ce bug a-t-il été corrigé dans une version ultérieure?
sep332

-2

Je pense que ce que vous cherchez c'est:

/etc/apt/apt.conf.d$ cat 04autoclean
APT::Clean-Installed "true";
/etc/apt/apt.conf.d$ 

2
Cette commande ne change rien - elle montre simplement le contenu de 04autoclean(lorsqu'elle est exécutée dans le /etc/apt/apt.conf.drépertoire). Êtes-vous en train de dire que Blair devrait changer le contenu de 04autocleansorte qu'il APT::Clean-Installedsoit réglé sur "true"?
Eliah Kagan

1
Cela ne contrôlera que le apt-get autocleancomportement. De apt-get (8): "L'option de configuration APT :: Clean-Installed empêchera l'effacement des paquets installés si elle est désactivée."
blueyed
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.