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용입니다. 사용하는 저장소로 바꾸세요.