Parfois, lorsque je mets à niveau un système via do-release-upgrade
, le processus de mise à jour échoue et le script me dit de terminer le processus manuellement via dpkg --configure -a
. Ce n'est pas un problème grave - après avoir résolu manuellement le problème des dépendances et le processus de mise à niveau de finition, tout fonctionne bien.
Mais le do-release-upgrade
script a un processus de nettoyage après avoir terminé la mise à niveau:
Remove obsolete packages?
XXX packages are going to be removed.
Continue [yN] Details [d]y
qui supprime certains packages obsolètes de l'ancienne version du système.
Il semble que ce processus ne s'exécute pas lorsque la mise à niveau automatique échoue et que je termine la mise à niveau manuellement, donc les packages obsolètes de l'ancienne version restent installés dans le système.
Comment puis-je exécuter manuellement le processus "Supprimer les packages obsolètes" après avoir terminé manuellement la mise à niveau?
dpkg -l|grep "^rc"|awk '{print $2}'
packages à supprimer. Il est étrange qu'apt-get ou aptitude ne veuille pas le voir pour le supprimer.sudo dpkg -l|grep "^rc"|awk '{print $2}' | xargs sudo apt-get remove -y --purge
. Attention, cette commande supprime les packages sans confirmation, mais est utile pour automatiser rapidement les systèmes de nettoyage.'^rc'
packages marqués n'étaient même pas installés, mais la mise à niveau a échoué juste avant de rechercher des packages obsolètes. Cette réponse semble donc incomplète. Cela ne supprimera pas tous les packages qui devraient l'être endo-release-upgrade
cas de succès.Je crois que le "Supprimer les paquets obsolètes" exécute simplement un
sudo apt-get autoremove
. Essayez-le, voyez si cela aide.la source
sudo apt-get autoremove
est de supprimer seulement une petite partie des packages, qui supprimedo-release-upgrade
, par exempledo-release-upgrade
sur le même système, supprime environ 150 packages, maisapt-get autoremove
- supprime seulement environ 5-10 packages.Je trouve que cette réponse à une question non liée pourrait fournir un utilitaire et une commande qui semblent supprimer plus de choses inutilisées:
sudo deborphan | xargs sudo apt-get -y remove --purge
la source