Alpine Linux에서 명령을 실행하면 내 파일을 apk update
살펴보고 각 저장소에서 파일을 다운로드합니다. 그런 다음 체크섬을 사용하여 각 파일의 이름을 일부 체크섬을 나타내는 형식으로 바꿉니다./etc/apk/repositories
APKINDEX.tar.gz
APKINDEX
tar
APKINDEX.12345678.tar.gz
12345678
오프라인 Alpine 설치를 위한 패키지 목록을 업데이트하고 싶기 때문에 이 체크섬이 어떻게 작동하는지 이해하려고 노력해 왔습니다. 더 잘 이해하기 위해 읽고 있어요APK 도구의 소스 코드. 소스에서 체크섬이 SHA1 해시의 4바이트라는 것을 알고 있지만 SHA1 해시가 무엇을 의미하는지 알 수 없습니다.
체크섬의 4바이트는 어디에서 오는가 APKINDEX
? 구체적으로 재계산 알고리즘은 무엇입니까? 이 질문에 이미 답변이 있었다면 사과드립니다. 인터넷에서 며칠 동안 검색했지만 결과를 얻지 못했습니다.
답변1
답을 찾았습니다. 이는 저장소 이름의 SHA1 해시의 간단한 4바이트입니다. 따라서 저장소가 이고 https://dl-cdn.alpinelinux.org/alpine/v3.18/main
URL의 SHA1 해시가 이면 파일은 다음과 같습니다 49104001a9bfdb6b41229ce23bb30b7aec6c4fdd
.APKINDEX
APKINDEX.49104001.tar.gz