web-dev-qa-db-fra.com

où sont stockés les index apt et peuvent-ils être supprimés?

J'effectue un apt-get update avant d'installer certains paquets:

Get:1 http://archive.ubuntu.com trusty Release.gpg [933 B]
Get:2 http://archive.ubuntu.com trusty-updates Release.gpg [933 B]
...
...
Get:23 http://archive.ubuntu.com trusty-security/restricted AMD64 Packages [40 B]
Get:24 http://archive.ubuntu.com trusty-security/universe AMD64 Packages [58.0 kB]
Fetched 20.0 MB in 2min 57s (113 kB/s)

Comme on peut le voir ci-dessus, apt-get a récupéré 20,0 Mo d'index. Après le apt-get update et le apt-get install mypackage, je voudrais nettoyer tous les caches pour minimiser l’espace disque utilisé.

Question 1: Où sont stockés les index des packages apt sur le système de fichiers?

Question 2: Comment puis-je supprimer les index en toute sécurité?

2
Chris Snow

NB: tout ce qui suit a été testé sur Ubuntu 14.04.

À l'avant: ne supprimez aucun répertoire, mais simplement des fichiers à l'intérieur des répertoires. Assurez-vous également qu'aucun processus lié à apt n'est en cours d'exécution (ou pourrait être démarré automatiquement pendant votre nettoyage ).

/ var/cache/apt/archives/*

Les fichiers contenus dans /var/cache/apt/archives, c’est-à-dire les packages téléchargés, peuvent être nettoyés à l’aide de apt-get clean. C'est la méthode qui est liée dans l'autre réponse.

/var/cache/apt/*.bin

Tant que vous vous assurez qu'aucun processus lié à apt n'exécute les fichiers d'index, /var/cache/apt/pkgcache.bin et /var/cache/apt/pkgcache.bin peuvent également être nettoyés. À moins qu'ils ne restent, il ne devrait pas y avoir d'autres fichiers pouvant correspondre à /var/cache/apt/*.bin, mais vous pouvez les supprimer en utilisant ce modèle tant qu'aucun processus lié à apt n'est en cours d'exécution.

La prochaine exécution de apt-get update régénérera ces fichiers.

Malheureusement, cette question poser des questions sur les fichiers d'index a été fermé en double, bien que ce ne soit pas du tout un doublon.

/ var/lib/apt/lists/*

Vous pouvez également supprimer les listes de packages en cache, mais vous pouvez laisser le fichier de verrouillage intact.

Oui, le fichier lock peut également être supprimé, à condition qu'aucun processus lié à apt ne soit en cours d'exécution ou ne puisse démarrer pendant le nettoyage. Mais je l'ai déjà mentionné une ou deux fois.


Raisonnement

Je me demandais s'il était possible de créer une archive de modèles à utiliser pour la création de conteneurs (LXC, Docker). Dans un tel cas, vous souhaitez généralement réduire le plus possible le système avant l’emballage.

Il s'avère qu'il est inoffensif de supprimer les fichiers. Dans mon cas particulier, je peux être sûr qu'aucun processus lié à apt n'est en cours d'exécution, car le "système" - une fois la partie chroot finie - ne fonctionne pas réellement.

Processus potentiels liés à apt

cron-apt, mais aussi unattended-upgrades et similaires seraient des exemples de processus liés à apt que vous ne souhaitez pas exécuter lors d'un nettoyage.

3
0xC0000022L