apt-get 업데이트“해시 합계 불일치”를 수정하는 방법


23

Vagrant를 사용하여 인스턴스화하는 Ubuntu 12.04 가상 상자 vm이 있습니다.

git clone https://github.com/spuder/puppet-gitlab
vagrant up

방랑 상자가 실행 되 자마자 apt-get update다음과 같은 오류가 발생합니다.

...
W: Failed to fetch gzip:/var/lib/apt/lists/partial/apt.puppetlabs.com_dists_precise_main_binary-amd64_Packages  Hash Sum mismatch
W: Failed to fetch gzip:/var/lib/apt/lists/partial/apt.puppetlabs.com_dists_precise_main_binary-i386_Packages  Hash Sum mismatch
W: Failed to fetch gzip:/var/lib/apt/lists/partial/apt.puppetlabs.com_dists_precise_dependencies_binary-i386_Packages  Hash Sum mismatch
W: Failed to fetch http://br.archive.ubuntu.com/ubuntu/dists/precise-updates/restricted/binary-i386/Packages  404  Not Found

이 오류를 해결하려고 시도한 것.

  • ' http://www.vagrantbox.es ' 에서 3 개의 다른 우분투 12.04 상자를 사용했습니다.
  • 여기에 제안 된 솔루션 :

    sudo rm -rf / var / lib / apt / lists / *
    sudo apt-get 업데이트
    sudo apt-get 정리

  • 꼭두각시 랩 패키지 제거 및 판독

또한 Google의 첫 몇 페이지에서 찾은 비슷한 제안을 시도했습니다. 여러 대의 컴퓨터와 여러 개의 인터넷 연결을 시도했습니다.

이것이 여러 인터넷 연결의 여러 우분투 vm에 영향을 미친 사실은 우분투 저장소에 문제가 있다고 생각합니다.

이 문제를 해결하려면 어떻게해야합니까?

최신 정보

'/ var / lib / apt / lists / partial'을 정리하고 apt-get clean을 실행 한 다음 여기에 제안 된 Amazon Mirror를 사용하여 / etc / sources / list의 소스를 교체했습니다 .

여전히 비슷한 오류가 발생합니다

Fetched 18.9 MB in 10s (1,865 kB/s)                                                                                                                                                                            
W: Failed to fetch bzip2:/var/lib/apt/lists/partial/us-west-1.ec2.archive.ubuntu.com_ubuntu_dists_precise_main_binary-amd64_Packages  Hash Sum mismatch
W: Failed to fetch bzip2:/var/lib/apt/lists/partial/us-west-1.ec2.archive.ubuntu.com_ubuntu_dists_precise_universe_binary-amd64_Packages  Hash Sum mismatch
W: Failed to fetch bzip2:/var/lib/apt/lists/partial/us-west-1.ec2.archive.ubuntu.com_ubuntu_dists_precise_multiverse_binary-amd64_Packages  Hash Sum mismatch
W: Failed to fetch bzip2:/var/lib/apt/lists/partial/us-west-1.ec2.archive.ubuntu.com_ubuntu_dists_precise_main_binary-i386_Packages  Hash Sum mismatch
E: Some index files failed to download. They have been ignored, or old ones used instead.

업데이트 2

집에 2 개의 인터넷 연결이 있는데 둘 다 같은 오류가 발생했습니다. 업무용 인터넷 연결로 랩탑을 가져가 자마자 문제는 사라졌습니다.

인터넷 연결이 왜 달라지는 지 아직도 궁금합니다.

업데이트 3

설명은 아래 답변을 참조하십시오. 인터넷 필터가 다운로드를 손상 시켰습니다.

아직 답변이 없기 때문에 질문을 바꾸겠습니다.

apt-get에서 해시 합계 불일치를 재정의하는 방법이 있습니까?


여기서 제안한대로 캐시를 정리 했습니까?
Kiwy

또한 배포판에 apt-cacher NG? 신뢰할 수없는 것처럼 보이기
Kiwy

나는 그 블로그를 보았고 apt-cache-ng가 설치되지 않았 음을 확인했다. 다른 인터넷 연결에서 다른 하이퍼 바이저를 시도했을 때 문제가 사라졌습니다.
spuder

하이퍼 바이저에서 하나의 특정 해시가 제대로 구현되지 않았지만 여전히 매우 이상합니다.
Kiwy

귀하의 솔루션도 저에게 효과적이었습니다. AWS에서 호스팅되는 TinyProxy 서버를 통해 실행 중이며 일부 광고 필터가 설정되었습니다. apt.conf에서 프록시를 제거하면 모든 것이 잘 작동합니다.

답변:


20

먼저 해시 합계 불일치 오류가 발생하는 이유를 이해해야합니다. 일반적으로 두 가지 이유가 있습니다.

첫째, 일부 적절한 저장소는 LZMA (.xz) 압축 메타 데이터를 사용합니다. 버전 1.0 이전의 apt는 LZMA 아카이브를 올바르게 압축 해제하지 못하여 (때로는) 해시 합계 불일치 오류를 발생시킵니다.

이에 대한 두 가지 해결 방법이 있습니다.

  1. apt 클라이언트에게 XZ 압축 메타 데이터를 사용하지 않도록 지시
  2. 시스템의 apt를 1.0보다 최신 버전으로 업그레이드

이 문제에 대해 쓴 이 블로그 게시물을 확인하여 두 가지 해결 방법을 자세히 설명하십시오.

둘째, APT 리포지토리는 본질적으로 정교 합니다. 실제 APT 메타 데이터는 버그가 있으며이를 설계 apt-get update하면 저장소 업데이트 중에 발생하는 경우 apt 클라이언트가 일관된 방식으로 저장소 메타 데이터를 다운로드 할 수 없습니다 .

이에 대한 두 가지 해결 방법이 있습니다.

  1. 최신 버전의 APT로 업그레이드하고 생성하거나 사용하려는 리포지토리 가 해시 획득 기능을 지원하는지 확인하십시오 . 이렇게하면 핵심 문제가 해결되지만 리포지토리를 제어하지 않으면 경우에 따라 불가능합니다.
  2. 시스템에서 캐시 된 메타 데이터를 삭제하고 다시 시도 할 수 있습니다. 이렇게하려면 먼저 apt-get clean다음을 실행하십시오 rm -rf /var/lib/apt/lists/*. 그런 다음을 실행하십시오 apt-get update. 모든 메타 데이터가 다시 다운로드됩니다. 연결하려는 리포지토리가 실행 중 자체 업데이트되지 않으면 apt-get update괜찮습니다. 그렇지 않으면 다시이 작업을 수행해야합니다.

이것은 나를 위해 일한 유일한 솔루션입니다! 블로그 게시물에 감사드립니다
Amir Uval

당신은 apt가 더 나은 최신 버전이라고 언급했습니다. 업데이트 방법을 알려주시겠습니까?
Amir Uval

해시 획득 기능을 정확히 어떻게 사용합니까? 나는 그것에 대해 블로그를 보았지만 정확히 어떤 파일을 넣을 것인지 말하지 않고 예제를 보여주지 않습니다.
LINUX G33NYUS

6

알아 냈습니다.

내 컴퓨터는 인터넷 필터를 설치 한 개인 컴퓨터를 제외하고는 모든면에서 동일합니다.

k9 인터넷 필터는 트래픽을 혼란스럽게하는 커널 확장을 설치했습니다.

필터를 제거하자마자 문제가 해결되었습니다.

apt-get update해결 방법으로 해시 합계 불일치를 무시할 수있는 방법이 있는지 여전히 연구 중 입니다.


최근에 k9를 설치 한 후이 문제가 발생하기 시작했기 때문에 이것은 실제로 의미가 있습니다. 하지만 당시에는 연결하지 않았습니다. 필터를 비활성화하지 않는 것이 좋기 때문에 해결 방법이 좋을 것입니다 (결국 이유가 있습니다).
MuffinTheMan

그래,하지만 난 그렇게 할 수있는 방법을 내가 당신 같은 문제가 있기 때문에, (필터를 제거), 그러나 어쨌든 메신저 아직도에서 stucked

웹 사이트에서 최신 버전의 k9를 다운로드하십시오. 설치 패키지 안에 제거 프로그램이 있습니다.
spuder
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.