Question Problème lors du téléchargement de la liste de paquets en raison d'une erreur de «non correspondance de somme de hachage»


Lorsque je recherche des mises à jour, je reçois une erreur "Échec du téléchargement des informations du référentiel".

C'est ce qui revient sous les détails:

W: Failed to fetch gzip:/var/lib/apt/lists/partial/us.archive.ubuntu.com_ubuntu_dists_natty_main_source_Sources  Hash Sum mismatch, 
E: Some index files failed to download. They have been ignored, or old ones used instead.

337
2018-05-09 20:55


origine




Réponses:


Il suffit de supprimer tout le contenu de /var/lib/apt/lists annuaire:

sudo rm -rf /var/lib/apt/lists/*

puis lancez:

sudo apt-get update

406
2018-05-09 21:52



Si vous supprimez tous les fichiers, vous devez les télécharger à nouveau. Vous pouvez simplement supprimer le fichier non valide pour accélérer ce processus. - Behrang
Je me souviens de cela aussi avec Debian. La solution consistait à changer de référentiel (par exemple, de us.ubuntu.com à XX.ubuntu.com où XX est le code de votre pays) ou à attendre. La meilleure idée serait d'attendre un peu et de réessayer plus tard. La suppression des listes peut corriger des listes brisées, mais c'est rarement le cas. - f.ardelian
Ancienne question, mais sur certaines distributions (comme emdebian), après avoir fait cela, vous devrez "mkdir /var/lib/apt/lists/partial"(En tant que root, évidemment.), Sinon vous ne pouvez pas"apt-get update"ou utiliser autrement apt. - Archenoth
@AlyssaGono si c'est un dossier, vous devez lancer rm avec le drapeau récursif comme ceci: sudo rm -R /var/lib/apt/lists/* Cependant, même cela ne fonctionnait pas pour moi. - mchid
Nous avons besoin d'un préfixe -rf, donc ça va ressembler sudo rm -rf /var/lib/apt/lists/* - Askar


Ceci est un problème connu et est exacerbé pour les clients derrière les caches de proxy. Certaines grandes organisations et fournisseurs de services Internet (en particulier dans les régions éloignées du monde) ont des caches transparents dont vous n'êtes peut-être pas au courant.

Le problème fondamental est que le format du référentiel apt est soumis à des conditions de concurrence lorsqu'un miroir est mis à jour. Ce problème affecte particulièrement les référentiels qui changent rapidement, tels que la version de développement.

Vous pouvez suivre les progrès sur le correctif pour cela dans ce bug (s'il vous plaît, marquez-vous comme "cela me touche aussi" dans le bug) et ce plan. Mais sachez qu’il s’agit d’un problème complexe et que plusieurs solutions peuvent être nécessaires pour le résoudre.


121
2017-07-05 22:21



Ce plan n'est plus accessible; voici une copie archivée. - Eliah Kagan
ce bug existe aussi sur Ubuntu 16.04 - Scott Stensland
Le bug a été marqué comme "Fix Released".
Je change juste mon miroir par défaut pour le meilleur serveur et son travail pour moi. - habibun


La manière la plus simple de résoudre ce problème est la suivante:

sudo apt-get clean
sudo apt-get update

79
2018-05-22 12:25



Après avoir essayé la réponse acceptée, j'avais toujours les mêmes erreurs, essayant cela immédiatement après avoir résolu le problème - Alex
Faire sudo rm -rf /var/lib/apt/lists/* puis sudo apto-get clean corrigé le problème pour moi aussi. Ni travaillé en vase clos. - Cam
Cela devrait être la bonne réponse. - Clayton Dukes
n'aide pas sur Ubuntu 16.04 ... - Scott Stensland
sudo apt-get clean n'a pas aidé avec 16.04, mais sudo rm -rf /var/lib/apt/lists/* réparé - sdaffa23fdsf


J'ai toujours eu le problème après avoir enlevé les répertoires et fait sudo apt-get update.
Seule l'étape suivante a résolu mon problème:

sudo sed -i -re 's/\w+\.archive\.ubuntu\.com/archive.ubuntu.com/g' /etc/apt/sources.list

Je ne sais pas si c'est la bonne façon de le réparer ...
J'ai trouvé la solution ici.


42
2017-08-27 19:55



Il faut noter que de-part indique un serveur pour l'Allemagne et que ce script remplace le serveur local par le serveur principal. Aller à Sources de logiciels L'interface graphique et la modification du réglage seraient plus sûres et réversibles pour de nombreux utilisateurs. Ce qui suit devrait fonctionner dans presque tous les pays: sudo sed -i 's/[a-z][a-z].archive.ubuntu.com/archive.ubuntu.com/g' /etc/apt/sources.list - LiveWireBT


La seule solution qui a fonctionné pour moi est de unix.stackexchange.

Cela se produit parce qu'il existe un bogue connu, et que la solution consiste à mettre à jour avec une méthode de compression différente, afin que les fichiers se chargent correctement et que la somme de contrôle réussisse.

Essayez ceci:

sudo rm -rf /var/lib/apt/lists/partial
sudo apt-get update -o Acquire::CompressionTypes::Order::=gz

(merci @brook_hong des commentaires pour la partie rm)


28
2018-05-31 14:13



C'est la seule solution ici qui a fonctionné pour moi. Merci. - Cerin
Il a travaillé pour moi aussi. Notez que vous n'avez pas toujours besoin d'exécuter cette commande. Il suffit de l'exécuter une fois, puis vous pouvez exécuter "apt-get update" sans erreur. - dalf
Avant d'essayer avec l'option, nous devons nettoyer le dossier partiel - sudo rm -rf /var/lib/apt/lists/partial. J'ai écrit un article pour savoir pourquoi. brookhong.github.io/2016/10/10/… - brook hong
J'ai essayé d'utiliser la solution générique de divers forums, mais cela fonctionne parfaitement. Je vous remercie. - wkhwilo
Travaillé pour moi sur Ubuntu 16.04 / linux mint - David Okwii


Cela peut se produire lorsque votre miroir n'est pas à jour ou que les erreurs de service ne sont pas surchargées. Vous pouvez soit attendre un peu et réessayer, soit basculer vers un autre miroir:


22
2018-04-28 02:04



Pourquoi un serveur qui n’est pas à jour ou est surchargé, provoque-t-il un fichier portant le nom correct? avec succès télécharger (dans le sens où la connexion ne se termine pas jusqu'à ce que tous les octets soient envoyés et reçus), mais être corrompu? (Je ne prétends pas que cela n'arrive pas, j'espère juste que vous pourrez expliquer pourquoi.) - Eliah Kagan
@EliahKagan Le problème n'est normalement pas que le fichier lui-même est corrompu, mais qu'il existe un fichier de données (je simplifie mais pas trop) et un fichier d'index contenant le hachage (empreinte) du fichier de données. Lorsque les référentiels sont mis à jour (se produit toutes les heures) sur le serveur, un fichier après l'autre est mis à jour. Maintenant, il peut arriver que votre client (apt-get ou similaire) accède au serveur lorsque le fichier de données a été mis à jour, mais que le fichier d'index n'a pas encore été mis à jour (ou vice versa). Ensuite, le hachage ne correspond pas au fichier de données et le client (à tort) suppose que le fichier de données est endommagé. - Patrick Häcker
Changer le miroir a fonctionné pour moi quand aucune des réponses ci-dessus ne l'a fait. - mango


Si vous êtes derrière un proxy, créez un fichier nommé 99fixbadproxy dans /etc/apt/apt.conf.d/:

sudo gedit /etc/apt/apt.conf.d/99fixbadproxy

Collez ceci dans 99fixbadproxy et enregistrez-le:

Acquire::http::Pipeline-Depth 0;
Acquire::http::No-Cache true;
Acquire::BrokenProxy    true;

Maintenant, lancez la commande de mise à jour:

sudo apt-get update

5
2017-08-08 21:37





Les commandes suivantes peuvent résoudre votre problème.

sudo rm -R /var/lib/apt/lists/partial/*

et alors

sudo apt-get update && sudo apt-get upgrade

cela résoudra votre problème. J'ai également rencontré le même problème mais les commandes ci-dessus ont résolu le problème pour moi. Alors, essayez-les.

Référence de solution


4
2017-12-17 21:47



J'ai juste essayé, et ça n'a pas marché; La première apt-get updatefichiers créés au même endroit dans ce répertoire. - Volker Siegel


J'ai eu exactement le même problème et toutes les solutions fournies à l'aide du terminal n'ont pas aidé.

Pour moi, c'était en allant dans:

Paramètres → Logiciels et mises à jour → Logiciel Ubuntu: Télécharger depuis: Change Local à Main Server.

Il commence à recharger les repos et à mettre à jour. Quand j'entre:

sudo apt-get update

Après cela, il n'y avait plus de problème. J'utilise Ubuntu 14.04.4 LTS.


3
2017-07-28 09:56