Ubuntu 로컬 저장소에서 "해시 합계 불일치" 오류 발생

Ubuntu 로컬 저장소에서 "해시 합계 불일치" 오류 발생

Ubuntu 20 서버를 업데이트하기 위해 Ubuntu 20 서버를 구성했고 최근에 다음 오류가 발생하기 시작했기 때문에 로컬 리포지토리 서버를 사용하여 모든 Linux 버전을 업데이트하고 있습니다. rm -rf /var/lib/apt해결 방법으로 다른 스레드에서 찾은 " " 폴더의 내용을 삭제해 보십시오 .

Commands-amd64.xz해시가 일치하지 않는 것으로 확인되어 로컬 저장소에서 파일을 수동으로 삭제하려고 시도한 다음 컬 명령을 실행하여 다시 다운로드했고 이로 인해 문제가 해결되었습니다. 그러나 매일 일정에 따라 Ubuntu 기본 저장소에서 저장소를 다시 동기화하면 다시 발생합니다.

curl -o Commands-amd64.xz http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/cnf/by-hash/SHA256/68a13b187a08d10f59ed448a305317ca202fd001ac2c62b18f851853c29fc6d5

오류 조각:

    Get:48 https://localIPaddress/ubuntu20/mirror/archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 c-n-f Metadata [580 B]
Fetched 23.9 MB in 3s (6,846 kB/s)
Reading package lists... Done
E: Failed to fetch https://<localserverIP>/ubuntu20/mirror/archive.ubuntu.com/ubuntu/dists/focal-updates/main/cnf/Commands-amd64.xz  Hash Sum mismatch
   Hashes of expected file:
    - Filesize:14840 [weak]
    - SHA256:68a13b187a08d10f59ed448a305317ca202fd001ac2c62b18f851853c29fc6d5
    - SHA1:dd6e6a72880a22a264a7a40bca6cd9e8ec4dbbbf [weak]
    - MD5Sum:4917444606f7c42d4579abfaddddfbe4 [weak]
   Hashes of received file:
    - SHA256:75d0ec77f608b4ed82a8863208eb909deefe518143a2faa1a38b386541306304
    - SHA1:b9c4e3efbce29c5701b8889872091ab943b92240 [weak]
    - MD5Sum:080f9750feeef30269fed50447a5922a [weak]
    - Filesize:14840 [weak]
   Last modification reported: Mon, 21 Mar 2022 17:17:39 +0000
   Release file created at: Mon, 21 Mar 2022 15:10:25 +0000
E: Some index files failed to download. They have been ignored, or old ones used instead.

답변1

나는 apt-mirror(https://github.com/apt-mirror/apt-mirror) 로컬 18.04 및 20.04 저장소의 경우. Commands-amd64.xz 파일에 대한 해시 합계 불일치 및 파일 크기 불일치와 같은 문제가 있습니다. 미러 동기화 후 즉시 릴리스 파일을 다운로드하여 문제가 해결되었습니다. 내 postmirror.sh 파일:

#!/bin/bash
cd /var/www/html/ubuntu_repo/mirror
for p in {focal,bionic}{,-{backports,updates}}/{main,restricted,universe,multiverse};do >&2 echo "${p}"
  wget -q -r "http://azure.archive.ubuntu.com/ubuntu/dists/${p}/cnf/Commands-amd64.xz"
  wget -q -r "http://azure.archive.ubuntu.com/ubuntu/dists/${p}/cnf/Commands-i386.xz"
done
for p in {focal-security,bionic-security}/{main,restricted,universe,multiverse};do >&2 echo "${p}"
  wget -q -r "http://security.ubuntu.com/ubuntu/dists/${p}/cnf/Commands-amd64.xz"
  wget -q -r "http://security.ubuntu.com/ubuntu/dists/${p}/cnf/Commands-i386.xz"
done
for p in {focal,bionic}{,-{backports,updates}}/{Release,InRelease,Release.gpg};do >&2 echo "${p}"
  wget -q -r "http://azure.archive.ubuntu.com/ubuntu/dists/${p}"
done
for p in {focal-security,bionic-security}/{Release,InRelease,Release.gpg};do >&2 echo "${p}"
  wget -q -r "http://security.ubuntu.com/ubuntu/dists/${p}"
done

내가 미러링한 리포지토리는 Azure Ubuntu용입니다. 사용하는 저장소로 바꾸세요.

관련 정보