web-dev-qa-db-fra.com

Supprimer les anciens packages du référentiel local

Je souhaite nettoyer mon référentiel local après chaque mise à niveau. Lorsque j'ajoute une version plus récente des packages à pool et que je régénère les index avec dpkg-scanpackages, le programme vous avertit des anciennes versions des packages (dans le cas où l'option -m n'est pas transmise):

dpkg-scanpackages: warning: Package php5-common (filename pool/local/php5-common_5.3.6-13ubuntu3.3_AMD64.deb) is repeat but newer version;
dpkg-scanpackages: warning: used that one and ignored data from pool/local/php5-common_5.3.6-13ubuntu3.2_AMD64.deb!

Je cherche un moyen automatisé de supprimer en toute sécurité les anciens paquets du disque. J'appellerai un script comme sûr s'il ne supprime pas un ancien paquet si une version plus récente est disponible et que la suppression de l'ancienne version entraînera une dépendance non remplie dans le référentiel local.

8
sorush-r

Avez-vous essayé apt-get clean et apt-get autoclean?

apt-get clean supprime tout sauf les fichiers de verrouillage de /var/cache/apt/archives/ et /var/cache/apt/archives/partial/. Ainsi, si vous devez réinstaller un paquet, APT devrait le récupérer à nouveau.

apt-get autoclean supprime uniquement les fichiers de package qui ne peuvent plus être téléchargés.

6
LnxSlck

Pour supprimer les paquets obsolètes, essayez

Sudo apt-get autoremove
2
Ajit S