Comment puis-je configurer apt-get pour nettoyer automatiquement après chaque installation


12

Existe-t-il un moyen de faire automatiquement apt-get cleanaprès apt-get install, comme dans d'autres distributions?


Grâce à @Braiam, j'ai trouvé un bogue dans Ubuntu et je vais le signaler. Dans la solution de Debian Braiam, cela fonctionne très bien.
— Tiago Carrondo


1
@TiagoCarrondo Pouvez-vous partager le lien de bogue s'il vous plaît?
— Ken Sharp

Dans Xenial, toutes mes machines se nettoient. Je ne sais pas où cela est configuré mais cela fonctionne.
— Ken Sharp

Réponses:


13

Il vous suffit de l'ajouter dans les fichiers de configuration apt. Exécutez simplement:

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

Cela déclenchera un nettoyage automatique à chaque fois upgrade.

Expliquons cette entrée, à partir de la page de manuel:

Clean

Mode de nettoyage du cache; cette valeur peut être l'une de toujours, rapide, automatique, pré-automatique et jamais. always et prompt supprimera tous les packages du cache après la mise à niveau, prompt (la valeur par défaut) le fait de manière conditionnelle. auto supprime uniquement les packages qui ne sont plus téléchargeables (remplacés par une nouvelle version par exemple). pre-auto effectue cette action avant de télécharger de nouveaux packages.

Plus d'informations:

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


Je suppose qu'il devrait avoir besoin d'un point-virgule à la fin ;! et donc il devrait êtresudo sh -c "echo 'APT::Get::Clean=always;' >> /etc/apt/apt.conf.d/99AutomaticClean"
— Indian

@Braiam Je l'ai essayé et ça ne marche pas. J'ai même essayé APT :: Get :: Clean "toujours" comme dans d'autres fichiers mais pas de chance. un indice?
— Tiago Carrondo

@Braiam no luck
— Tiago Carrondo

@TiagoCarrondo et maintenant? Ce message Usenet dit que c'est le gagnant.
— Braiam

J'ai déjà essayé ça après ton premier post. Je vais changer l'emplacement du fichier ... attendez
— Tiago Carrondo

2

Écrivez un script shell!

sudo nano /usr/bin/aptinstaller 

Dans ce type de fichier:

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

Enregistrez et quittez nanoet saisissez:

sudo chmod +x /usr/bin/aptinstaller 

Maintenant, chaque fois que vous tapez

sudo aptinstaller <package-name> 

Il installerait puis nettoierait.


Je préfère une option, mais sonne comme un bon plan preety B, thx
— Tiago Carrondo

2
/usr/local/bin/semble plus correct.
— Ken Sharp

0

Ma solution de contournement, bien que n'étant pas une vraie solution, consiste à définir le répertoire d'archives sur /tmp. Il ne sera pas nettoyé automatiquement après une installation mais il sera nettoyé au redémarrage.

J'ai créé /etc/apt/apt.conf.d/99cleanet ajouté:

Dir::Cache::archives /tmp;

Alternativement, vous pouvez monter en /var/cache/apt/archivesutilisant tmpfs, bien que cela utilisera évidemment de la RAM et je ne recommanderais pas cette option.

Dans /etc/fstab, par exemple:

tmpfs /var/cache/apt/archives tmpfs size=128m,mode=755 0 0

0

Un hack semble ajouter ce qui suit, par exemple /etc/apt/apt.conf.d/clean( via ):

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

Cela effacera automatiquement le cache après que dpkg ait été invoqué par apt.

Cela ne nettoie pas le cache après, apt-get updatecependant, le crochet APT::Update::Post-Invokepeut être utilisé pour cela.

La meilleure méthode semble toujours appeler apt-get clean/ aptitude cleanmanuellement.

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.