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.
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.
Pour supprimer les paquets obsolètes, essayez
Sudo apt-get autoremove