"해시 합계 불일치"오류로 인해 패키지 목록 다운로드 문제


387

업데이트를 확인할 때 "리포지토리 정보를 다운로드하지 못했습니다"오류가 발생합니다.

자세한 내용은 다음과 같습니다.

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.

답변:


459

단지의 모든 콘텐츠 제거 /var/lib/apt/lists디렉토리를 :

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

그런 다음 다음을 실행하십시오.

sudo apt-get update

69
모든 파일을 제거하면 다시 다운로드해야합니다. 유효하지 않은 파일을 제거하면이 프로세스가 더 빨라집니다.
Behrang

9
데비안에서도 이런 일이 일어 났음을 기억합니다. 해결책은 리포지토리를 전환하거나 (예 : us.ubuntu.com에서 XX.ubuntu.com으로, 여기서 XX는 국가 코드 임) 대기하는 것입니다. 가장 좋은 아이디어는 조금 기다렸다가 나중에 다시 시도하는 것입니다. 목록을 제거하면 손상된 목록이 수정 될 수 있지만 실제로는 그렇지 않습니다.
f.ardelian

4
오래된 질문이지만 일부 배포판 (emdebian과 마찬가지로) 에서이 작업을 수행 한 후에는 " mkdir /var/lib/apt/lists/partial"(뿌리로). apt-get update그렇지 않으면 " "가 아니면 apt를 사용할 수 없습니다 .
Archenoth

7
@AlyssaGono 폴더 인 경우 재귀 플래그로 rm을 실행해야합니다. sudo rm -R /var/lib/apt/lists/*그러나 그렇게 해도 나에게 효과가 없었습니다.
mchid

2
접두사 -rf 가 필요 하므로 다음과 같이 보일 것입니다.sudo rm -rf /var/lib/apt/lists/*
Askar

127

이것은 알려진 문제이며 프록시 캐시 뒤의 클라이언트에서 더 심화됩니다. 일부 대기업 및 ISP (특히 세계의 원격 지역에 있음)에는 알 수없는 투명한 캐시가 있습니다.

근본적인 문제는 apt 저장소 형식이 미러가 업데이트 될 때 경쟁 조건에 종속된다는 것입니다. 이 문제는 특히 개발 릴리스와 같이 빠르게 변경되는 리포지토리에 영향을줍니다.

이 버그 ( 버그 에서 "나에게도 영향을 미침"으로 표시) 와이 청사진 에서이 문제에 대한 수정 진행 상황을 추적 할 수 있습니다 . 그러나이 문제는 복잡한 문제이므로 해결하려면 두 가지 이상의 릴리스가 필요할 수 있습니다.


4
그 청사진 은 더 이상 접근 할 수 없습니다. 여기 에 보관 된 사본이 있습니다.
Eliah Kagan

16
이 버그는 우분투 16.04에도 있습니다
Scott Stensland

1
버그가 "Fix Release"로 표시되었습니다.

나는 미러 기본값을 최상의 서버로 변경하고 그 작업을 수행합니다.
habibun

99

이 문제를 해결하는 가장 쉬운 방법은 다음과 같습니다.

sudo apt-get clean
sudo apt-get update

12
허용 된 답변을 시도한 후에도 여전히 동일한 오류가 발생하여 즉시 시도하면 문제가 해결되었습니다
Alex

17
그런 sudo rm -rf /var/lib/apt/lists/*다음 sudo apto-get clean나에게도 문제가 해결되었습니다. 둘 다 고립되어 일하지 않았다.
Cam

3
우분투 16.04에 도움이되지 않습니다 ... 위의 의견도 도움이되지 않습니다
Scott Stensland

3
sudo apt-get clean16.04 도움이,하지만하지 않았다 sudo rm -rf /var/lib/apt/lists/*그것을 고정
sdaffa23fdsf

2
나에게 받아 들여진 대답은 효과가 없었지만 이것은 효과가 있었다 (우분투 16.04).
JCasso

52

나를 위해 일한 유일한 해결책은 unix.stackexchange 입니다.

그것은 알려진 버그가 있기 때문에 발생하며 해결책은 다른 압축 방법으로 업데이트하므로 파일이 올바르게로드되고 체크섬이 성공합니다.

이것을 시도하십시오 :

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

(rm 부분에 대한 의견에서 @brook_hong에게 감사드립니다)


9
이것이 나를 위해 일한 유일한 솔루션입니다. 감사.
Cerin

3
그것은 나를 위해 일했다. 항상이 명령을 실행할 필요는 없습니다. 한 번만 실행하면 "apt-get update"를 오류없이 실행할 수 있습니다.
dalf

2
다양한 포럼에서 일반 솔루션을 사용해 보았지만 즉시 사용할 수 있습니다. 감사합니다.
wkhwilo

2
Ubuntu 16.04 / linux mint에서 나를 위해 일했습니다
David

3
이것은 나를 위해 일한 유일한 솔루션입니다. Ubuntu 16.04
Sunny Shukla

44

디렉토리를 제거하고 수행 한 후에도 여전히 문제가있었습니다 sudo apt-get update.
다음 단계만으로 내 문제가 해결되었습니다.

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

이것이 올바른 방법인지는 모르겠습니다 ... 여기
에서 해결책을 찾았습니다 .


13
하나는주의해야 depart의 독일과이 스크립트는 주 서버와 로컬 서버로 대체하는 서버를 나타냅니다. 에가는 소프트웨어 소스 GUI를-방법과 설정이 많은 사용자를위한 안전하고 되돌릴 수있을 것 전환. 거의 모든 국가에서 다음이 작동해야합니다.sudo sed -i 's/[a-z][a-z].archive.ubuntu.com/archive.ubuntu.com/g' /etc/apt/sources.list
LiveWireBT

23

미러가 최신 상태가 아니거나 과부하로 인해 오류가 발생했을 때 발생할 수 있습니다. 잠시 기다렸다가 다시 시도하거나 다른 미러로 전환 할 수 있습니다.


2
서버가 최신 상태가 아니거나 오버로드되어 올바른 이름을 가진 파일이 성공적으로 다운로드 되는 이유는 무엇입니까 (모든 바이트를 보내고받을 때까지 연결이 종료되지 않는다는 의미에서)? (나는 그런 일이 일어나지 않는다고 주장하지 않고, 왜 그런지 설명 할 수 있기를 바라고있다.)
Eliah Kagan

3
@EliahKagan 문제는 일반적으로 파일 자체가 손상되었다는 것이 아니라 데이터 파일의 해시 (지문)를 포함하는 (단순하지만 너무 많지는 않은) 데이터 파일과 인덱스 파일이 있다는 것입니다. 서버에서 리포지토리가 업데이트되면 (매시간 발생 함) 다른 파일이 업데이트 된 후 한 파일이 업데이트됩니다. 이제 데이터 파일이 업데이트되었지만 인덱스 파일이 업데이트되지 않았거나 그 반대의 경우 클라이언트 (apt-get 또는 이와 유사한)가 서버에 액세스 할 수 있습니다. 그런 다음 해시는 데이터 파일과 일치하지 않으며 클라이언트는 데이터 파일이 손상되었다고 가정합니다.
Patrick Häcker

1
위의 답변 중 아무것도 없었을 때 거울을 바꾸는 것이 효과가있었습니다.
망고

10

프록시 뒤에 경우, 다음라는 이름의 파일 생성 99fixbadproxy에을 /etc/apt/apt.conf.d/:

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

이것을 붙여 넣고 99fixbadproxy저장하십시오.

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

이제 update 명령을 실행하십시오 :

sudo apt-get update

1
와우, 나는 모든 대답을 시도했지만 같은 문제를 일으키는 여러 가지 다른 문제가 이상한 것 같습니다.
이중화

1
이 답변에 대해 많은
의견을 냈습니다

5

다음 명령으로 문제를 해결할 수 있습니다.

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

그리고

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

문제를 해결할 것입니다. 나는 또한 같은 문제에 직면했지만 위의 명령으로 문제가 해결되었습니다. 따라서 시도해보십시오.

솔루션 참조


4
방금 시도했지만 작동하지 않았습니다. apt-get update해당 디렉토리에서 동일한 위치에 파일을 다시 처음으로 작성했습니다.
Volker Siegel

3

나는 똑같은 문제가 있었고 터미널을 사용하여 제공된 모든 솔루션이 도움이되지 않았습니다.

나를 위해, 그것은 들어가는 것입니다 :

설정 → 소프트웨어 및 업데이트 → 우분투 소프트웨어 :에서 다운로드 : Change LocalMain Server.

저장소를 다시로드하고 업데이트하기 시작합니다. 내가 입력하면 :

sudo apt-get update

그 후에는 전혀 문제가 없었습니다. Ubuntu 14.04.4 LTS를 사용하고 있습니다.


1

올바른 해결책인지는 모르겠지만 다음을 수행하고 오류 메시지가 사라졌습니다.

sudo apt-get update터미널에 입력 한 후 오류가 발생하는 일부 패키지의 이름을 알려주고 다음을 수행했습니다.

업데이트 관리자 (소프트웨어 업데이트) → 설정 → 소프트웨어 소스 구성 → 기타 소프트웨어 [탭] → 패키지 선택 해제

"닫기"하단을 누른 후 업데이트 관리자가 자동으로 업데이트를 다시 확인하기 시작했습니다. "이 컴퓨터의 소프트웨어가 최신 상태입니다. 마지막으로 2 초 전에 확인했습니다"라는 메시지가 표시됩니다.

쿠분투 12.04


이것은 저에게 효과적이며 여기에 게시 된 다른 솔루션은 없습니다. 우분투 UI (WSL에서만 명령 행 실행)가 없다는 것을 제외하고는 대신 <pkg>오류가 발생한 각 패키지에 대해 `sudo apt-get install <pkg> '를 실행했습니다. 우분투 16.04에 있습니다.
Yitz

1

나는 똑같은 문제가 있었고 터미널을 사용하여 제공된 모든 솔루션이 도움이되지 않았습니다.

나를 위해, 그것은 들어가는 것입니다 :

설정 → 소프트웨어 및 업데이트 → 기타 소프트웨어 : 모든 상자를 선택 취소하고 닫기를 누릅니다.

저장소를 다시로드하고 업데이트하기 시작합니다. 내가 입력하면 :

sudo apt-get update

그 후에는 전혀 문제가 없었습니다. 우분투 13.10을 사용하고 있습니다.


이것은 여전히 ​​작동하지만 핵심 빌드의 일부가 아닌 패키지를 설치할 수 없도록 시스템을 효과적으로 차단합니다 (나중에 해당 확인란을 다시 활성화 할 때까지) ... 대상 패키지 설치
Scott Stensland

1

비슷한 문제가 발생하여 응용 프로그램 "Software & Updates"를 열고 "Ubuntu Software"탭에서 "Download from"의 값을 변경하여 해당 드롭 다운 목록에서 Main과 같은 항목을 선택하십시오. 그렇지 않은 경우 서버).


네, 저에게 효과적이었습니다. 스위스 서버가 고장난 것 같습니다.
Eric MORAND

1

@ robie-basak과 apt-cacher-ng같이 미러 캐싱으로 사용 했습니다. 그래서 프록시를 제거하고 문제가 해결되었습니다.

파일에서 프록시를 제거합니다 /etc/apt/apt.conf.d/01proxy.

#Acquire::http::Proxy "http://xxx.xx.xx.xx:4321";

그런 다음 :

sudo rm -rf /var/lib/apt/lists/*
sudo aptitude update
sudo aptitude upgrade

1

최근에 Ubuntu 17.10을 설치했으며 일부 리포지토리에 대해 동일한 해시 합계 불일치 오류가 발생했습니다. 아래 그림과 같이 Software and Checked Source로 이동하여 터미널에서 리포지토리를 다운로드하는 데 더 이상 문제가 없었습니다.

내 소프트웨어 및 업데이트 섹션


0

자녀 보호 기능이있는 라우터를 실행 중이고 라즈베리 파이를 "관리되지 않는"목록에 넣지 않은 경우에 발생할 수 있습니다. 나를 위해 URL이 라우터가 관리하는 서클 도메인으로 리디렉션되고 있음을 알 수있었습니다.

그래서 방금 관리되지 않은 목록에 내 pi를 추가했는데 정상적으로 작동했습니다.


0

이 명령을 실행하여 설치되지 않은 모든 패키지를 해결했습니다.

sudo apt-get install PACKAGENAME

각 패키지마다. 이제 설치되었으며 "해시 합계 불일치"오류가 발생했습니다.


0

아무것도 나를 위해 일하지 않았다. 시도한 후 제안 된 솔루션을 찾은 후 마지막으로 손상된 패키지를 수동으로 다운로드하여 / var / cache / apt / archives에 복사 한 다음 / var / cache / apt / archives / partial에서 손상된 패키지를 제거했습니다.


0

내 우분투 18.04에서 동일한 문제에 직면했습니다. 실제 경험은 다음과 같습니다.

  1. 프록시 제거 /etc/apt/apt.conf
  2. 공식 apt sources.list로 변경 /etc/apt/sources.list
  3. 운영 sudo rm -rf /var/lib/apt/lists/*
  4. 깨끗한 패키지 sudo apt autoremove -y && sudo apt autoclean -y
  5. 업데이트 및 업그레이드. sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && sudo apt autoclean -y

끝난!


0

이것은 우분투 16.04에서 나에게 일어 났으며 가장 인기있는 투표 솔루션은 없었습니다. 해결책은 패키지를 업그레이드하는 것이 었습니다.

sudo apt-get update    # this will fail
sudo apt-get upgrade
sudo apt-get update    # this will succeed

오래된 목록 ( sudo rm -rf /var/lib/apt/lists/*및 / 또는 sudo apt-get clean)을 청소해도 도움이 되었는지 확실 하지 않습니다! 필요한 경우 사용하십시오.


0

20190112 # 오류 #apt #Fix # 업데이트를 가져 오지 못했습니다 ... 해시 합계 불일치

  1. apt-get을 실행하고에서 검색 할 키워드를 찾으십시오 /etc/apt.
    • $ sudo apt-get -y 업데이트
    • ...
    • 오류 : 77 http://au.archive.ubuntu.com/ubuntu xenial-updates / multiverse DEP-11 64x64 아이콘
    • 해시 합계 불일치
    • ...
    • 이 경우 키워드는 "DEP-11"입니다.
  2. /etc/apt키워드를 트리에서 검색하십시오 .
    • $ sudo find / etc / apt -type f -exec egrep -in "DEP-11" "{}"/ dev / null ";"
    • /apt.conf.d/50appstream:1:##이 파일은 appstreamcli (1)에서 DEP-11을 다운로드하기 위해 제공합니다.
    • /apt.conf.d/50appstream:6 : deb :: DEP-11 {
    • /apt.conf.d/50appstream:9 : 설명 "$ (RELEASE) / $ (COMPONENT) $ (NATIVE_ARCHITECTURE) DEP-11 메타 데이터";
    • /apt.conf.d/50appstream:15 : # DEP-11에 설명 된 GUI 구성 요소의 보통 크기의 아이콘
    • /apt.conf.d/50appstream:17 : deb :: DEP-11- 아이콘 {
    • /apt.conf.d/50appstream:20 : 설명 "$ (RELEASE) / $ (COMPONENT) DEP-11 64x64 Icons";
    • /apt.conf.d/50appstream:27 : # DEP-11 YAML 메타 데이터.
    • /apt.conf.d/50appstream:28 : deb :: DEP-11-icons-hidpi {
    • /apt.conf.d/50appstream:31 : 설명 "$ (RELEASE) / $ (COMPONENT) DEP-11 128x128 Icons";
  3. 문제 목록을 찾은 후에는 이것이 작동하지 않을 수 있도록 어딘가로 옮기십시오.

    sudo mv -f /apt.conf.d/50appstream /tmp  
    
  4. 정리 /var/lib/apt:

    sudo apt-get -y clean  
    sudo rm -rf /var/lib/apt/lists/*  
    sudo find /var/lib/apt -type d -name "partial" -exec rm -rf "{}" ";"  
    
  5. 지금 업데이트를 시도하면 이제 작동합니다.

    sudo apt-get -y update  
    
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.