web-dev-qa-db-fra.com

effacer la liste apt-get

Je construis une image pour un Linux embarqué basé sur Debian. J'ai utilisé apt-get update avant sur l'appareil que je veux utiliser comme base pour cette image, donc les listes sous /var/lib/apt/lists sont assez volumineux (près de 100 Mo).

Je veux garder apt-get fonctionnalité (donc je ne veux pas supprimer les dépôts apt) mais je veux libérer l'espace utilisé dans ces listes (les listes doublent presque la taille de l'image).

Est-ce que quelqu'un sait comment faire ça? Puis-je simplement supprimer les fichiers sous /var/lib/apt/lists?

37
Dakkaron

Vous pouvez simplement utiliser:

rm /var/lib/apt/lists/*

Cela supprimera les listes de packages. Aucun référentiel ne sera supprimé, ils sont configurés dans le fichier de configuration dans /etc/apt/sources.list. Tout ce qui peut arriver, c'est que des outils comme apt-cache ne peut pas obtenir d'informations sur le package, sauf si vous avez mis à jour les listes de packages. Aussi apt-get install échouera avec E: Unable to locate package <package>, car aucune information n'est disponible sur le package.

Ensuite, lancez simplement:

apt-get update

pour réécrire ces listes et la commande fonctionnera à nouveau.

Quoi qu'il en soit, il est recommandé d'exécuter apt-get update avant d'installer quoi que ce soit.

52
chaos

Les listes sont la connaissance de ce qui est disponible, donc si vous les supprimez, vous ne pourrez rien installer - c'est exactement équivalent à supprimer les référentiels de votre liste de sources (ce que vous dites que vous ne voulez pas faire).

Une option est que vous pouvez compresser les listes et n'oubliez pas de les décompresser avant la prochaine update.

Ce que je fais souvent (surtout quand je veux expérimenter avec des sources supplémentaires) est de créer un répertoire /etc/apt/sources.available et ajoutez des entrées pour les distributions. Je peux ensuite facilement activer n'importe quel sous-ensemble en créant des liens symboliques à partir de /etc/apt/sources.list.d et désactiver en supprimant ces liens symboliques.

Avec une liste de sources vide, vous pouvez apt-get update - cela devrait effacer votre /var/lib/apt/lists. Reliez ensuite les sources appropriées dans /etc/apt/sources.list.d, mais pas update jusqu'à ce que vous ayez réellement l'intention de les utiliser.

6
Toby Speight