effacer la liste apt-get

32

Je construis une image pour un Linux embarqué basé sur Debian. J'ai utilisé apt-get updateauparavant sur l'appareil que je veux utiliser comme base pour cette image, donc les listes sous /var/lib/apt/listssont assez grandes (presque 100 Mo).

Je veux garder la apt-getfonctionnalité (donc je ne veux pas supprimer les référentiels 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?

Dakkaron
la source

Réponses:

47

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-cachene peuvent pas obtenir d'informations sur les packages à moins que vous n'ayez mis à jour les listes de packages. Échouera également apt-get installavec 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 updateavant d'installer quoi que ce soit.

le chaos
la source
6

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.availableet d'ajouter 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.det désactiver en supprimant ces liens symboliques.

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

Toby Speight
la source