오류 수정 코드 (BCH, RS 등)를 단일 파일에 추가 할 수 있습니까? 있으므로 아카이브가 약간

내가 아는 한 WinRAR 아카이브에는 ECC (오류 수정 코드)가 포함되어있을 수 있으므로 아카이브가 약간 손상된 경우 자체적으로 수정할 수 있습니다.

예를 들어, 내가 먼저 인코딩 할 수 있습니다 archives.tar에를 archives.tar.ecc한 다음 내 서버에 업로드합니다. 클라이언트가 파일을 다운로드 한 후 파일이 약간 손상된 경우 파일을 다시 다운로드하지 않고 파일을 자동으로 수정하여 디코딩 할 수 있습니다 archives.tar.ecc. 네트워크 연결이 불안정하면 좋은 아이디어라고 생각합니다.

Linux에서 내 요구를 충족시킬 수있는 (오픈 소스) 소프트웨어가 있는지 궁금합니다.

어떤 제안?



답변

나는 똑같은 문제가 있었고 par2 프로그램 / 표준이 복구 및 확인을 위해 별도의 파일을 생성하기 때문에 다른 답변에서 제공된 솔루션이 허용되지 않는다는 것을 알았습니다. 필자는 원래의 생각과 마찬가지로 오류 수정 코드가있는 단일 파일을 원합니다.

패키지 관리자에 있던 rsbep 프로그램을 찾은 다음 여기에서 필요한 코드를 찾았습니다.
https://www.thanassis.space/rsbep.html

이를 통해 Reed-Solomon 오류 수정 코드가 포함 된 파일을 만든 다음 손상된 ECC 버전에서 원본 파일을 검색 할 수 있습니다.


답변

리드 솔로몬 오류 수정을 사용하는 PAR2에 관심이 있습니다. parchive 는 ECC 파일 형식 사양이며 Linux의 경우 PyPar 또는 par2tbb 가 필요 하며 Windows에서는 QuickPar 라는 GUI를 사용합니다 .


답변

ecc 파일을 아카이브와 분리하려면 비트 손상에 대비 한 차세대 PAR 유사 보호 시스템을 제공 하는 오픈 소스 Python 프로젝트 인 pyFileFixity 를 사용할 수 있습니다 .

ecc 보호를 아카이브에 직접 포함 시키려면 차세대 TAR의 일종 인 오픈 소스 DAR을 사용하면 비 고체 (즉 손상된 아카이브의 부분 추출 허용)와 ecc ( PAR2를 사용) 및 카탈로그 격리 (즉, 디렉토리 트리 및 파일 시스템 메타 데이터의 백업 저장)를 .dar 아카이브에 직접 저장하십시오.


답변

또 다른 유사한 2018 프로젝트는 두 개의 별도 도구로 별도 및 포함 파일 오류 수정을 제공하는 것으로 보이는 Redupe 입니다.

첫 번째 도구 인 redupe는 gzip 또는 bzip2와 같은 압축 도구를 모델로하지만 중복을 제거하는 대신 중복성을 추가합니다.

웹 페이지의 예 (간결하게 변경됨)는 사용 사례와 유사합니다.

$ redupe home-backup.tar.gz
$ ls -l
-rw------- 1 rescrv 5625162218 home-backup.tar.gz
-rw-r--r-- 1 rescrv 6433996800 home-backup.tar.gz.rd

reundupe 그런 다음 파일을 복원하고 작은 오류를 수정하는 데 사용할 수 있습니다.


답변