Reprepro에서 손상된 파일 목록 수정

Reprepro에서 손상된 파일 목록 수정

dput로컬 reprepro 인스턴스에 패키지를 추가할 때 다음 메시지가 표시됩니다.

...
Exporting indices...
Corrupted file list data for pool/main/q/qualys-cloud-agent/qualys-cloud-agent_2.6.0-88_all.deb
Corrupted file list data for pool/main/q/qualys-cloud-agent/qualys-cloud-agent_2.6.0-88_all.deb
Calculating packages to pull...
Installing (and possibly deleting) packages...
Exporting indices...
Deleting files no longer referenced..

저는 Debian Buster에서 Reprepro 버전 5.3.0을 실행하고 있습니다.

손상된 파일을 복구(또는 삭제)하는 방법은 무엇입니까?

답변1

이는 제어 구성 요소에 파일을 포함하는 (거의) 모든 바이너리 패키지 *.deb와 함께 바이너리 package() 자체의 내부 문제처럼 보입니다 . 다음 명령을 사용하여 볼 수 있습니다.reprepromd5sums

ar -x qualys-cloud-agent_2.6.0-88_all.deb    # extracts {control,data}.tar.xz
tar -xf control.tar.xz                       # extracts control,md5sums
cat md5sums

가장 좋은 해결책은 설치하기 전에 로컬로 설치하고 (패키지에서) md5sum을 사용하여 확인하는 것 qualys-cloud-agent_2.6.0-88.1입니다 .2.6.0-88dputdebsumsdebsums

dpkg -i qualys-cloud-agent_2.6.0-88.1_all.deb
debsums -c qualys-cloud-agent

검사가 통과되면 가셔도 됩니다 dput <your_repo> qualys-cloud-agent_2.6.0-88.1_all.changes.


패키지 버전을 업그레이드하면 저장소에서 이 패키지를 설치하는 모든 사람이 업데이트를 받을 수 있으므로 매우 중요합니다. 버전을 정말로 업그레이드하고 싶지 않은 경우(아무도 저장소를 사용하지 않을 것이라고 확신할 수 있음) 다음을 수행할 수 있습니다.

reprepro -Vb /path/to/repo remove buster qualys-cloud-agent
reprepro -Vb /path/to/repo include buster qualys-cloud-agent_2.6.0-88_all.changes

실패 하면 debsums다음이 유용할 수 있습니다.

  • 패키지 구축 방법을 알아보세요( dpkg-buildpackage, cpack, dpkg-deb)
  • /var/lib/dpkg/info/qualys-cloud-agent.md5sums형식 문제를 찾을 수 있도록 발췌문을 확인하세요.
  • 대신 reprepro includedebreprepro include

관련 정보