Le site réponse acceptée fonctionnera rarement si vous avez un problème avec le CDN (content delivery network - les caches/miroirs dans le monde entier contenant les listes et les paquets apt). Cela fonctionnera si a) vous utilisez un PPA ou des miroirs locaux ou b) n'ont qu'une seule erreur à résoudre.
Remarque : si vous avez le message d'erreur spécifique indiqué dans le journal de la question ci-dessus, la réponse acceptée devrait toujours fonctionner. Mais il y a plusieurs autres questions qui ont été fermées en tant que doublons de celle-ci où la réponse acceptée est insuffisante.
Mais ça ne fait pas de mal d'essayer, alors commencez par.. :
sudo rm -rf /var/lib/apt/lists/*
sudo apt-get update
Ce site pourrait être suffisante pour procéder à sudo apt-get upgrade
ou d'autres commandes de suivi.
Mais si ça ne marche pas...
Vous pouvez obtenir des erreurs "Hash sum mismatch" à partir de que aussi. Si cela arrive, exécutez :
sudo apt-get update --fix-missing
Il est possible que même ce produira des erreurs de type "Hash sum mismatch", car le problème peut provenir d'erreurs de contenu réseau transitoires. Si c'est le cas, continuez à réexécuter la commande ci-dessus. --fix-missing
jusqu'à ce qu'elle se termine avec succès. Par exemple, comme :
until sudo apt-get update --fix-missing; do echo trying again; done
(Il devrait progresser à chaque exécution de apt-get update --fix-missing
; si les passages successifs ne réduisent pas les erreurs vers zéro, appuyez sur Ctrl-c pour interrompre la boucle. Revenez ensuite au début de cette réponse en supprimant le contenu du fichier /var/lib/apt/lists
et réessayer).
Après cela, la mise à jour peut fonctionner, mais pour être sûr, exécutez d'abord apt-get clean
comme ça :
sudo apt-get clean
sudo apt-get update
Notez que si vous faites cela en préparation d'un apt-get upgrade
Il est possible (voire probable, si vous avez eu suffisamment de discordances pour nécessiter plusieurs mises à jour) que la mise à jour échoue avec des erreurs de type "Hash sum mismatch". Si tel est le cas, ajoutez --fix-missing
à votre commande de mise à niveau :
sudo apt-get clean
sudo apt-get upgrade --fix-missing
et réessayez. ( apt-get upgrade
avec --fix-missing
essaiera également de retenir les paquets qui échouent et de poursuivre les autres, vous devriez donc voir des progrès supplémentaires en exécutant cette opération au moins une fois).
Mais si ça ne marche toujours pas...
Comme les précédents until sudo...
vous pouvez obtenir un peu de de progresser davantage en répétant cette commande (toujours précédée de la touche clean
ci-dessus), que vous pouvez même automatiser avec la commande
until (sudo apt-get clean; sudo apt-get upgrade --fix-missing --yes); do echo trying again; done
mais, en général, il mettra à jour la plupart des paquets pouvant être mis à niveau la première fois que vous l'exécuterez avec --fix-missing
et après cela, ils restent bloqués sur les mêmes paquets, ne progressant plus. À ce moment-là, vous devrez recommencer depuis le début avec la commande sudo rm -rf /var/lib/apt/lists/*
et réessayer. Cela vaut la peine d'essayer tout ce processus deux ou trois fois, surtout si vous avez des dizaines ou des centaines de paquets pouvant être mis à niveau.