Questão Problemas ao baixar a lista de pacotes devido a um erro de "incompatibilidade de soma de hash"


Quando procuro por atualizações, recebo um erro "Falha ao fazer o download de informações do repositório".

Isto é o que surge sob detalhes:

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


origem




Respostas:


Basta remover todo o conteúdo de /var/lib/apt/lists diretório:

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

então corra:

sudo apt-get update

406
2018-05-09 21:52



Se você remover todos os arquivos, terá que baixá-los novamente. Você pode simplesmente remover o arquivo inválido para tornar esse processo mais rápido. - Behrang
Eu lembro disso acontecendo com o Debian também. A solução foi trocar repositórios (por exemplo, de us.ubuntu.com para XX.ubuntu.com, onde XX é o código do seu país) ou aguardar. A melhor ideia seria esperar um pouco e tentar mais tarde. Remover as listas pode corrigir listas quebradas, mas isso raramente é o caso. - f.ardelian
Pergunta antiga, mas em algumas distros (como emdebian), depois de fazer isso, você precisa "mkdir /var/lib/apt/lists/partial"(Como root, obviamente.), Ou então você não pode"apt-get update"ou use o apt. - Archenoth
@AlyssaGono se for uma pasta, você precisa rodar o rm com a flag recursiva da seguinte forma: sudo rm -R /var/lib/apt/lists/* no entanto, até mesmo fazer isso não funcionou para mim. - mchid
Precisamos de prefixo -rf, assim vai parecer sudo rm -rf /var/lib/apt/lists/* - Askar


Esse é um problema conhecido e é exacerbado para clientes por trás de caches de proxy. Algumas grandes organizações e ISPs (especialmente em partes remotas do mundo) têm caches transparentes dos quais você pode não estar ciente.

A questão fundamental é que o formato do repositório apt está sujeito a condições de corrida quando um espelho é atualizado. Esse problema afeta particularmente os repositórios que mudam rapidamente, como o release de desenvolvimento.

Você pode acompanhar o progresso da correção para isso em esse bug (por favor marque-se como "me afeta também" no bug) e este modelo. Mas esteja ciente de que é um problema complexo e pode levar mais de um lançamento para resolver.


121
2017-07-05 22:21



Que blueprint não está mais acessível; aqui está uma cópia arquivada. - Eliah Kagan
esse bug também existe no ubuntu 16.04 - Scott Stensland
O bug foi marcado como "Fix Released".
Acabei de alterar o meu padrão espelho para o melhor servidor e seu trabalho para mim. - habibun


A maneira mais fácil de corrigir isso é:

sudo apt-get clean
sudo apt-get update

79
2018-05-22 12:25



Depois de tentar a resposta aceita ainda tive os mesmos erros, tentando isso imediatamente depois resolvi o problema - Alex
Fazendo sudo rm -rf /var/lib/apt/lists/* então sudo apto-get clean Corrigi o problema para mim também. Nenhum dos dois trabalhou isoladamente. - Cam
Esta deve ser a resposta correta. - Clayton Dukes
não ajuda no ubuntu 16.04 ... nem o comentário acima ajuda qualquer - Scott Stensland
sudo apt-get clean não ajudou com 16.04, mas sudo rm -rf /var/lib/apt/lists/* consertou - sdaffa23fdsf


Eu ainda tive o problema depois de remover os diretórios e fazer sudo apt-get update.
Apenas o passo seguinte resolveu meu problema:

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

Eu não sei se esse é o jeito certo de consertar ...
Eu encontrei a solução Aqui.


42
2017-08-27 19:55



Deve-se notar que de-part indica um servidor para a Alemanha e esse script é substituído pelo servidor local com o servidor principal. Indo a Fontes de Software o modo GUI e a mudança de configuração seria mais seguro e reversível para muitos usuários. O seguinte deve funcionar para quase todos os países: sudo sed -i 's/[a-z][a-z].archive.ubuntu.com/archive.ubuntu.com/g' /etc/apt/sources.list - LiveWireBT


A única solução que funcionou para mim é de unix.stackexchange.

Isso acontece porque há um bug conhecido nele e a solução é atualizar com um método de compactação diferente, para que os arquivos sejam carregados corretamente e a soma de verificação seja bem-sucedida.

Experimente:

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

(obrigado @brook_hong dos comentários para a parte rm)


28
2018-05-31 14:13



Esta é a única solução aqui que funcionou para mim. Obrigado. - Cerin
Funcionou para mim também. Note que você não precisa sempre executar este comando. Basta executá-lo uma vez e, em seguida, você pode executar o "apt-get update" sem erros. - dalf
Antes de tentar com a opção, devemos limpar a pasta parcial - sudo rm -rf /var/lib/apt/lists/partial. Eu escrevi um artigo para o porquê. brookhong.github.io/2016/10/10/… - brook hong
Eu tentei usar a solução genérica de vários fóruns, mas isso funciona fora da caixa. Obrigado. - wkhwilo
Trabalhei para mim no Ubuntu 16.04 / linux mint - David Okwii


Isso pode acontecer quando o seu espelho não está atualizado ou os erros de exibição não estão sobrecarregados. Você pode esperar um pouco e tentar novamente ou alternar para outro espelho:


22
2018-04-28 02:04



Por que um servidor não sendo atualizado ou sobrecarregado faz com que um arquivo com o nome correto seja com sucesso download (no sentido de que a conexão não termina até que todos os bytes sejam enviados e recebidos), mas esteja corrompida? (Não estou afirmando que isso não aconteça, só espero que você possa explicar por que isso acontece.) - Eliah Kagan
@EliahKagan O problema normalmente não é que o arquivo em si esteja corrompido, mas que haja um arquivo de dados (estou simplificando, mas não muito) e um arquivo de índice contendo o hash (impressão digital) do arquivo de dados. Quando os repositórios são atualizados (acontece a cada hora) no servidor, um arquivo após o outro é atualizado. Agora pode acontecer que o seu cliente (apt-get ou similar) acesse o servidor quando o arquivo de dados foi atualizado, mas o arquivo de índice ainda não foi atualizado (ou vice-versa). Então o hash não corresponde ao arquivo de dados e o cliente (falsamente) assume que o arquivo de dados está corrompido. - Patrick Häcker
Mudar o espelho funcionou para mim quando nenhuma das respostas acima fez. - mango


Se você está atrás de um proxy, crie um arquivo chamado 99fixbadproxy dentro /etc/apt/apt.conf.d/:

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

Cole isso em 99fixbadproxy e salve-o:

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

Agora execute o comando update:

sudo apt-get update

5
2017-08-08 21:37





Os comandos a seguir podem resolver seu problema.

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

e depois

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

Isso resolverá seu problema. Eu também enfrentei o mesmo problema, mas os comandos acima resolveram o problema para mim. Então experimente.

Referência da solução


4
2017-12-17 21:47



Eu apenas tentei e não funcionou; O primeiro apt-get update arquivos criados no mesmo lugar novamente nesse diretório. - Volker Siegel


Eu tive exatamente o mesmo problema e todas as soluções fornecidas usando o terminal não ajudaram.

Para mim, foi entrando em:

Configurações → Software e Atualizações → Software Ubuntu: Download de: Change Local para Main Server.

Ele começa a recarregar os repositórios e atualizar. Quando eu entro:

sudo apt-get update

Depois disso, não houve problema algum. Estou usando o Ubuntu 14.04.4 LTS.


3
2017-07-28 09:56





Não sei se é uma solução adequada ou não, mas fiz o seguinte e a mensagem de erro desapareceu:

Depois de digitar sudo apt-get update no terminal, ele me dá os nomes de alguns pacotes que causam o erro, então eu fiz o seguinte:

Gerenciador de atualização (atualização de software) → Configuração → Configurar fontes de software → Outro software [guia] → Desmarcar os pacotes

Depois de pressionar o botão "fechar", o gerenciador de atualização começou a verificar a atualização automaticamente e eu vi esta mensagem: "o software neste computador está atualizado. Última verificação feita há 2 segundos."

Kubuntu 12.04


1
2018-03-30 22:03



Isso funcionou para mim, e nenhuma outra solução postada aqui funcionou. Exceto que eu não tenho o Ubuntu UI (executando a linha de comando somente sob o WSL), Então, ao invés disso, para cada pacote <pkg> onde o erro ocorreu, eu corri o `sudo apt-get install <pkg> '. Eu estou no Ubuntu 16.04. - Yitz