Vraag Probleem bij het downloaden van de pakkettenlijst vanwege een fout "Hash sum mismatch"


Wanneer ik controleer op updates, krijg ik de foutmelding 'Kan gegevens niet opslaan'.

Dit is wat onder details naar voren komt:

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


oorsprong




antwoorden:


Verwijder gewoon alle inhoud van /var/lib/apt/lists directory:

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

voer dan uit:

sudo apt-get update

406
2018-05-09 21:52



Als u alle bestanden verwijdert, moet u ze opnieuw downloaden. U kunt gewoon het ongeldige bestand verwijderen om dit proces sneller te maken. - Behrang
Ik herinner me dat dit ook met Debian gebeurde. De oplossing was om van repository te wisselen (bijv. Van us.ubuntu.com naar XX.ubuntu.com waar XX uw landcode is) of te wachten. Het beste idee zou zijn om een ​​beetje te wachten en later opnieuw te proberen. Het verwijderen van de lijsten kan gebroken lijsten repareren, maar dat is zelden het geval. - f.ardelian
Oude vraag, maar op sommige distro's (zoals emdebian), nadat je dit hebt gedaan, moet je "mkdir /var/lib/apt/lists/partial"(Uiteraard als root, of anders niet"apt-get update"of anders apt gebruiken. - Archenoth
@AlyssaGono als het een map is, moet je rm uitvoeren met de recursieve vlag als volgt: sudo rm -R /var/lib/apt/lists/* maar zelfs dat werkte niet voor mij. - mchid
We hebben een voorvoegsel nodig rf, dus het zal eruit zien sudo rm -rf /var/lib/apt/lists/* - Askar


Dit is een bekend probleem en wordt verergerd voor clients achter proxy-caches. Sommige grote organisaties en ISP's (vooral in afgelegen delen van de wereld) hebben transparante caches waarvan u zich misschien niet bewust bent.

Het fundamentele probleem is dat het apt-repositoryformaat onderhevig is aan raceomstandigheden wanneer een mirror wordt bijgewerkt. Dit probleem treft met name repositories die snel veranderen, zoals de ontwikkelingsrelease.

U kunt de voortgang van de fix hiervoor bijhouden deze bug (markeer jezelf als "beïnvloedt mij ook" in de bug) en deze blauwdruk. Maar let op: het is een complex probleem en er kunnen meer dan één release nodig zijn om op te lossen.


121
2017-07-05 22:21



Die blauwdruk is niet langer toegankelijk; hier is een gearchiveerd exemplaar. - Eliah Kagan
deze bug bestaat ook op ubuntu 16.04 - Scott Stensland
De bug is gemarkeerd als "Fix Released".
Ik verander gewoon mijn spiegelstand naar de beste server en zijn werk voor mij. - habibun


De makkelijkste manier om dit op te lossen is:

sudo apt-get clean
sudo apt-get update

79
2018-05-22 12:25



Nadat ik het geaccepteerde antwoord had geprobeerd, had ik nog steeds dezelfde fouten. Als ik dit meteen nadraaide, loste ik het probleem op - Alex
Aan het doen sudo rm -rf /var/lib/apt/lists/* dan sudo apto-get clean loste het probleem ook voor mij op. Noch werkte in isolatie. - Cam
Dit zou het juiste antwoord moeten zijn. - Clayton Dukes
helpt niet op ubuntu 16.04 ... en de bovenstaande opmerking helpt ook niet - Scott Stensland
sudo apt-get clean niet geholpen met 16.04, maar sudo rm -rf /var/lib/apt/lists/* repareerde het - sdaffa23fdsf


Ik had nog steeds het probleem na het verwijderen van de mappen en het doen sudo apt-get update.
Alleen de volgende stap loste mijn probleem op:

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

Ik weet niet of dit de juiste manier is om het te repareren ...
Ik heb de oplossing gevonden hier.


42
2017-08-27 19:55



Men zou dat moeten opmerken de-part geeft een server aan voor Duitsland en dat dit script wordt vervangen door de lokale server bij de hoofdserver. Gaan naar Software bronnen de GUI-weg en het schakelen van de instelling daar zou voor veel gebruikers veiliger en omkeerbaar zijn. Het volgende zou voor bijna elk land moeten werken: sudo sed -i 's/[a-z][a-z].archive.ubuntu.com/archive.ubuntu.com/g' /etc/apt/sources.list - LiveWireBT


De enige oplossing die voor mij werkte, is van unix.stackexchange.

Het gebeurt omdat er een bekende bug it apt is, en de oplossing is om te updaten met een andere compressiemethode, zodat de bestanden correct laden en de controlesom slaagt.

Probeer dit eens:

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

(bedankt @brook_hong van de reacties voor het rm-gedeelte)


28
2018-05-31 14:13



Dit is de enige oplossing die voor mij werkte. Bedankt. - Cerin
Het werkte ook voor mij. Merk op dat u deze opdracht niet altijd hoeft uit te voeren. Voer het gewoon een keer uit, en dan kun je "apt-get update" zonder fouten uitvoeren. - dalf
Voordat u met de optie probeert, moeten we de gedeeltelijke map opschonen - sudo rm -rf /var/lib/apt/lists/partial. Ik schreef een artikel voor waarom. brookhong.github.io/2016/10/10/... - brook hong
Ik heb geprobeerd de generieke oplossing van verschillende forums te gebruiken, maar dit werkt uit de doos. Dank je. - wkhwilo
Werkte voor mij op Ubuntu 16.04 / linux mint - David Okwii


Dit kan gebeuren als uw spiegel niet up-to-date is of als fouten worden veroorzaakt door overbelasting. U kunt even wachten en het opnieuw proberen of overschakelen naar een andere spiegel:


22
2018-04-28 02:04



Waarom veroorzaakt een server die niet up-to-date is of overladen is, een bestand met de juiste naam met succes download (in de zin dat de verbinding niet eindigt totdat alle bytes zijn verzonden en ontvangen), maar corrupt zijn? (Ik beweer niet dat dit niet gebeurt, ik hoop alleen maar dat je kunt uitleggen waarom dat zo is.) - Eliah Kagan
@EliahKagan Het probleem is normaal niet dat het bestand zelf is beschadigd, maar dat er een (ik ben eenvoudig maar niet te veel) gegevensbestand is en een indexbestand met de hash (vingerafdruk) van het gegevensbestand. Wanneer de repositories worden bijgewerkt (gebeurt elk uur) op de server wordt het ene bestand na het andere bijgewerkt. Nu kan het gebeuren dat uw client (apt-get of vergelijkbaar) toegang heeft tot de server wanneer het gegevensbestand is bijgewerkt, maar het indexbestand nog niet is bijgewerkt (of andersom). Dan komt de hash niet overeen met het gegevensbestand en veronderstelt de client (ten onrechte) dat het gegevensbestand corrupt is. - Patrick Häcker
Het veranderen van de spiegel werkte voor mij toen geen van de bovenstaande antwoorden deed. - mango


Als je achter een proxy zit, maak dan een bestand met de naam 99fixbadproxy in /etc/apt/apt.conf.d/:

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

Plak dit in 99fixbadproxy en bewaar het:

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

Voer nu de update-opdracht uit:

sudo apt-get update

5
2017-08-08 21:37





De volgende opdrachten kunnen uw probleem oplossen.

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

en dan

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

het zal je probleem oplossen. Ik kreeg ook hetzelfde probleem, maar de bovenstaande commando's hebben het probleem voor mij opgelost. Dus probeer ze eens.

Oplossingsreferentie


4
2017-12-17 21:47



Ik heb het gewoon geprobeerd en het werkte niet; De eerste apt-get update creëerde opnieuw bestanden op dezelfde plaats in die map. - Volker Siegel


Ik had exact hetzelfde probleem en alle oplossingen die via de terminal werden aangeboden, hielpen niet.

Voor mij was het door in te gaan op:

Instellingen → Software en updates → Ubuntu-software: downloaden van: Change Local naar Main Server.

Het begint met het herladen van de repos en het updaten. Wanneer ik binnenkom:

sudo apt-get update

Daarna was er helemaal geen probleem. Ik gebruik Ubuntu 14.04.4 LTS.


3
2017-07-28 09:56





Ik weet niet of het een goede oplossing is of niet, maar ik deed het volgende en de foutmelding is verdwenen:

Na het typen sudo apt-get update in terminal, geeft het me de namen van sommige pakketten die de fout veroorzaken dan deed ik het volgende:

Update manager (software-update) → Instellingen → Softwarebronnen configureren → Andere software [tabblad] → Deselecteer de pakketten

Na het drukken op de "sluiten" onderkant, begon de updatebeheerder automatisch te controleren of er een update was en zag ik het volgende bericht: "de software op deze computer is up-to-date." Laatst gecontroleerd 2 seconden geleden. "

Kubuntu 12.04


1
2018-03-30 22:03



Dit werkte voor mij, en geen enkele andere oplossing die hier werd geplaatst, werkte. Behalve dat ik de Ubuntu UI niet heb (alleen een werkende opdrachtregel onder WSL), dus in plaats daarvan voor elk pakket <pkg> waar de fout is opgetreden, heb ik `sudo apt-get install <pkg> 'uitgevoerd. Ik ben op Ubuntu 16.04. - Yitz