Chi utilizza una distribuzione Debian o una sua derivata (Ubuntu, Mint, Pinguy, etc.) dietro ad un proxy server, come ad esempio all'interno di una rete aziendale, ecc. , nel momento in cui esegue il comando apt-get update per aggiornare la cache dei pacchetti dai repository standard, può riscontrare a console degli errori di questo tipo:
Se la localisation del sistema operativo e in lingua inglese:
....
W: Failed to fetch http://ir.archive.ubuntu.com/ubuntu/dists/..../Packages.bz2 Hash Sum mismatch....
E: Some index files failed to download, they have been ignored, or old ones used instead.
Se la localisation del sistema operativo e in lingua italiana:
.....
Impossibile ottenere http://it.archive.ubuntu.com/ubuntu/dists/..../Packages.bz2 Somma Hash non corrispondente
.....
Impossibile scaricare alcune file di indice, essi verranno ignorati, oppure si useranno quelli precedenti.
Questo problema è dato dal fatto che nel proxy server è rimasta una cache "vecchia" che prende il sopravvento per alcune intestazioni di file rispetto a quelle presente nel repository pubblico e di conseguenza il checksum fallisce.
Di soluzioni ce ne potrebbero essere diverse, e forse la più corretta sarebbe quella di chiedere all'amministratore del proxy di fare regolarmente una pulizia della cache relativa agli url dei repository di aggiornamento ...
Tuttavia, l'operazione più veloce che io conosco ed utilizzo in questi casi, è quella di intervenire sulla macchina locale, ossia quella su cui si presenta il problema (su cui ho il pieno controllo come amministratore - o sono un "sudoer user" -, altrimenti non potrei lanciare 'apt-get update' ;-) )
In pratica elimino le liste e i file parziali sul computer locale con i quali viene fatto il checksum rispetto alle liste scaricate dalla rete (sia che queste provengano dal proxy o direttamente dal web..). In tal modo, "forzo" il server proxy a fare un refresh per ricaricarmi le liste complete dei pacchetti, che in questo caso si deve rivolgere all'URL esterno per avere le copie dei file originali aggiornati...
Ecco i pochi e semplici passi da compiere (testato su una Ubuntu Server 10.04 LTS x86_64):
rm -rf /var/lib/apt/lists/*
mkdir -p /var/lib/apt/lists/partial
apt-get update
Anteporre il comando 'sudo' a tutti i 3 comandi sopracitati se si sta operando con un utente non-root, ma che può essere delegato a ruoli amministrativi (generalmente gruppo "admin" sui sistemi Ubuntu).
Chiunque è pregato di lasciare commenti e/o suggerimenti nel caso in cui ritiene che abbia omesso o descritto qualcosa in maniera imprecisa. Grazie.
Cordiali saluti,
Gabriele
http://www.gabrielezappi.net
GNU/Linux user #380098