Até onde eu sei, os arquivos WinRAR podem conter ECC (códigos de correção de erros); portanto, se o arquivo estiver ligeiramente danificado, poderá ser corrigido por si só.
Por exemplo, posso codificar primeiro archives.tar
para archives.tar.ecc
e depois enviá-lo para o meu servidor. Se o arquivo estiver ligeiramente danificado após o download pelo cliente, ele poderá ser corrigido automaticamente sem o download novamente, decodificando archives.tar.ecc
. Eu acho que será uma ótima idéia se a conexão de rede estiver instável.
Gostaria de saber se existe algum software (de código aberto) executado no Linux que possa atender às minhas necessidades.
Alguma sugestão?
tar
vão além: o GNUtar
codifica falhas de arquivos esparsos nos metadados do cabeçalho e, após a extração por qualquerpax
arquivador compatível com POSIX, gera arquivos contendo as informações necessárias para reconstruir o arquivo, ou pelo GNUtar
no arquivo esparso original. Ele usa principalmente variáveis de cabeçalho codificadas, definíveis conforme especificado pelo POSIX para opax
utilitário w /-o
.Respostas:
Eu tive esse mesmo problema e descobri que as soluções fornecidas na outra resposta não eram aceitáveis, pois o programa / padrão par2 envolve a criação de arquivos separados para recuperação e verificação. Eu, como o autor original, penso, quero um único arquivo com códigos de correção de erros.
Encontrei o programa rsbep, que costumava estar no gerenciador de pacotes e, em seguida, encontrei o código necessário aqui: https://www.thanassis.space/rsbep.html
Isso permite criar um arquivo com códigos de correção de erros de Reed-Solomon e recuperar o arquivo original da versão do ECC, possivelmente corrompida.
fonte
rsbep
transparentemente, mas isso é apenas parte dos scripts que funcionam arquivo por arquivo.Você está interessado no PAR2, que usa a correção de erros Reed-Solomon. parchive é a especificação de formato de arquivo ECC; no Linux, você deseja PyPar ou par2tbb e, no Windows, usa uma GUI chamada QuickPar .
fonte
Se você deseja separar o arquivo ecc do arquivo, use o pyFileFixity, um projeto Python de código aberto que visa fornecer um sistema de proteção semelhante à PAR da próxima geração contra corrupção de bits.
Se você deseja que a proteção ecc seja incluída diretamente no arquivo morto, você pode usar o DAR de código- fonte aberto , um tipo de TAR de próxima geração, que permite gerar elementos não sólidos (ou seja, permite a extração parcial de arquivos corrompidos) e ecc ( usando PAR2) e isolamento do catálogo (ou seja, salve um backup da árvore de diretórios e dos metadados do sistema de arquivos) diretamente nos arquivos .dar.
fonte
Outro projeto semelhante de 2018 é o Redupe, que parece fornecer correção de erro de arquivo separado e incorporado em duas ferramentas separadas:
O exemplo na página da Web (alterado por brevidade) é semelhante ao seu caso de uso:
reundupe
pode então ser usado para restaurar o arquivo e possivelmente corrigir pequenos erros.fonte