Domanda Errore durante il download dell'elenco dei pacchetti a causa di un errore "Hash sum mismatch"


Quando controllo gli aggiornamenti, viene visualizzato un errore "Impossibile scaricare informazioni sul repository".

Questo è ciò che appare sotto i dettagli:

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




risposte:


Basta rimuovere tutto il contenuto di /var/lib/apt/lists directory:

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

quindi eseguire:

sudo apt-get update

406
2018-05-09 21:52



Se rimuovi tutti i file, devi scaricarli di nuovo. Puoi semplicemente rimuovere il file non valido per rendere questo processo più veloce. - Behrang
Ricordo che questo è accaduto anche con Debian. La soluzione era cambiare repository (ad es. Da us.ubuntu.com a XX.ubuntu.com dove XX è il codice del tuo paese) o aspettare. L'idea migliore sarebbe quella di aspettare un po 'e riprovare più tardi. La rimozione degli elenchi potrebbe risolvere le liste rotte, ma raramente è così. - f.ardelian
Vecchia domanda, ma su alcune distro (come emdebian), dopo averlo fatto dovrai "mkdir /var/lib/apt/lists/partial"(Come root, ovviamente.), Altrimenti non puoi"apt-get update"o altrimenti usare apt. - Archenoth
@AlyssaGono se si tratta di una cartella, è necessario eseguire rm con il flag ricorsivo in questo modo: sudo rm -R /var/lib/apt/lists/* tuttavia, anche farlo non ha funzionato per me. - mchid
Abbiamo bisogno del prefisso -rf, quindi sembrerà sudo rm -rf /var/lib/apt/lists/* - Askar


Questo è un problema noto ed è esacerbato per i client dietro le cache proxy. Alcune grandi organizzazioni e ISP (specialmente nelle parti remote del mondo) hanno cache trasparenti di cui potresti non essere a conoscenza.

Il problema fondamentale è che il formato del repository apt è soggetto a condizioni di gara quando viene aggiornato un mirror. Questo problema riguarda in particolare i repository che cambiano rapidamente, come la versione di sviluppo.

Puoi tenere traccia dei progressi sulla correzione per questo in questo bug (per favore contrassegna te stesso come "mi interessa anche" nell'errore) e questo progetto. Ma tieni presente che si tratta di un problema complesso e potrebbe essere necessario più di un rilascio.


121
2017-07-05 22:21



Quel progetto non è più accessibile; ecco una copia archiviata. - Eliah Kagan
questo bug esiste anche su Ubuntu 16.04 - Scott Stensland
Il bug è stato contrassegnato come "Risolto rilasciato".
Ho appena cambiato il mio mirror default sul miglior server e il suo lavoro per me. - habibun


Il modo più semplice per risolvere questo problema è:

sudo apt-get clean
sudo apt-get update

79
2018-05-22 12:25



Dopo aver provato la risposta accettata ho ancora gli stessi errori, provando subito dopo ho risolto il problema - Alex
fare sudo rm -rf /var/lib/apt/lists/* poi sudo apto-get clean risolto il problema anche per me. Nessuno dei due ha lavorato in isolamento. - Cam
Questa dovrebbe essere la risposta corretta. - Clayton Dukes
non aiuta su Ubuntu 16.04 ... nemmeno il commento sopra aiuta nessuno - Scott Stensland
sudo apt-get clean non ha aiutato con 16.04, ma sudo rm -rf /var/lib/apt/lists/* aggiustato - sdaffa23fdsf


Ho ancora avuto il problema dopo aver rimosso le directory e fatto sudo apt-get update.
Solo il seguente passaggio ha risolto il mio problema:

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

Non so se questo è il modo giusto per risolverlo ...
Ho trovato la soluzione Qui.


42
2017-08-27 19:55



Si dovrebbe notare quello de-part indica un server per la Germania e questo script sostituisce il server locale con il server principale. Andando a Sorgenti software la modalità GUI e la modifica delle impostazioni sarebbero più sicure e reversibili per molti utenti. Il seguente dovrebbe funzionare per quasi tutti i paesi: sudo sed -i 's/[a-z][a-z].archive.ubuntu.com/archive.ubuntu.com/g' /etc/apt/sources.list - LiveWireBT


L'unica soluzione che ha funzionato per me è da unix.stackexchange.

Succede perché esiste un bug noto e la soluzione è di aggiornare con un metodo di compressione diverso, in modo che i file vengano caricati correttamente e il checksum abbia esito positivo.

Fare un tentativo:

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

(grazie @brook_hong dai commenti per la parte rm)


28
2018-05-31 14:13



Questa è l'unica soluzione qui che ha funzionato per me. Grazie. - Cerin
Ha funzionato anche per me. Si noti che non è necessario eseguire sempre questo comando. Basta eseguirlo una volta, e quindi è possibile eseguire "apt-get update" senza errori. - dalf
Prima di provare con l'opzione, dobbiamo pulire la cartella parziale - sudo rm -rf /var/lib/apt/lists/partial. Ho scritto un articolo per il perché. brookhong.github.io/2016/10/10/... - brook hong
Ho provato a utilizzare la soluzione generica da vari forum, ma questo funziona fuori dalla scatola. Grazie. - wkhwilo
Ha funzionato per me su Ubuntu 16.04 / linux mint - David Okwii


Questo può accadere quando il tuo mirror non è aggiornato o gli errori di pubblicazione vengono sovraccaricati. Puoi attendere qualche istante e riprovare oppure passare a un altro mirror:


22
2018-04-28 02:04



Perché un server non è aggiornato o sovraccarico, causa un file con il nome corretto con successo download (nel senso che la connessione non termina fino a quando tutti i byte sono inviati e ricevuti), ma è corrotta? (Non sto affermando che non succederà, spero solo che tu sia in grado di spiegare perché lo fa). - Eliah Kagan
@EliahKagan Il problema normalmente non è che il file stesso sia corrotto, ma che ci sia un file di dati (sto semplificando ma non troppo) e un file indice contenente l'hash (impronta digitale) del file di dati. Quando i repository vengono aggiornati (succede ogni ora) sul server viene aggiornato un file dopo l'altro. Ora può succedere che il tuo client (apt-get o simile) acceda al server quando il file di dati è stato aggiornato ma il file di indice non è stato aggiornato (o viceversa). Quindi l'hash non corrisponde al file di dati e il client (erroneamente) presume che il file di dati sia corrotto. - Patrick Häcker
Cambiare lo specchio ha funzionato per me quando nessuna delle risposte precedenti ha funzionato. - mango


Se sei dietro un proxy, quindi creare un file denominato 99fixbadproxy in /etc/apt/apt.conf.d/:

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

Incolla questo in 99fixbadproxy e salvalo:

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

Ora esegui il comando di aggiornamento:

sudo apt-get update

5
2017-08-08 21:37





I seguenti comandi possono risolvere il tuo problema.

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

e poi

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

risolverà il tuo problema. Ho anche affrontato lo stesso problema ma i comandi precedenti hanno risolto il problema per me. Quindi provale.

Riferimento alla soluzione


4
2017-12-17 21:47



Ho appena provato, e non ha funzionato; Il primo apt-get update ha creato nuovamente i file nello stesso posto in quella directory. - Volker Siegel


Ho avuto lo stesso identico problema e tutte le soluzioni fornite usando il terminale non hanno aiutato.

Per me, è stato andando in:

Impostazioni → Software e aggiornamenti → Software Ubuntu: Scarica da: Change Local a Main Server.

Inizia il ricaricamento dei repository e l'aggiornamento. Quando entro:

sudo apt-get update

Dopo ciò, non ci sono stati problemi. Sto usando Ubuntu 14.04.4 LTS.


3
2017-07-28 09:56





Non so se sia la soluzione corretta o no, ma ho fatto quanto segue e il messaggio di errore è sparito:

Dopo aver digitato sudo apt-get update nel terminale, mi dà i nomi di alcuni pacchetti che causano l'errore, quindi ho fatto quanto segue:

Gestore aggiornamenti (aggiornamento software) → Impostazioni → Configura fonti software → Altro software [scheda] → Deselezionare i pacchetti

Dopo aver premuto il pulsante "Chiudi", il gestore aggiornamenti ha iniziato a controllare automaticamente l'aggiornamento e ho visualizzato questo messaggio: "il software su questo computer è aggiornato. L'ultimo controllo è avvenuto 2 secondi fa".

Kubuntu 12.04


1
2018-03-30 22:03



Questo ha funzionato per me, e nessun'altra soluzione pubblicata qui ha funzionato. Tranne che non ho l'interfaccia utente di Ubuntu (eseguendo la riga di comando solo sotto WSL), quindi, invece, per ogni pacchetto <pkg> dove si è verificato l'errore, ho eseguito `sudo apt-get install <pkg> '. Sono su Ubuntu 16.04. - Yitz