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.