Pour autant que je sache, les archives WinRAR peuvent contenir des ECC (codes de correction d'erreur), donc si l'archive est légèrement endommagée, elle peut être corrigée d'elle-même.
Par exemple, je peux d'abord encoder archives.tar
sur archives.tar.ecc
, puis le télécharger sur mon serveur. Si le fichier est légèrement endommagé après le téléchargement par le client, il peut être corrigé automatiquement sans télécharger à nouveau le fichier par décodage archives.tar.ecc
. Je pense que ce sera une excellente idée si la connexion réseau est instable.
Je me demande s'il existe des logiciels (open source) exécutés sous Linux qui peuvent répondre à mes besoins.
Aucune suggestion?
tar
vont plus loin - GNUtar
encode les trous de fichier clairsemés dans les métadonnées d'en-tête et lors de l'extraction par toutpax
archiveur compatible POSIX génère des fichiers contenant les informations nécessaires pour reconstruire le fichier, ou par GNUtar
dans le fichier clairsemé d'origine. Il utilise principalement des variables d'en-tête codées définissables comme spécifié par POSIX pour l'pax
utilitaire w /-o
.Réponses:
J'ai eu ce même problème et j'ai trouvé que les solutions fournies dans l'autre réponse n'étaient pas acceptables car le programme / standard par2 implique la création de fichiers séparés pour effectuer la récupération et la vérification. Je, comme le demandeur d'origine, je pense, veux un seul fichier avec des codes de correction d'erreur.
J'ai trouvé le programme rsbep qui était dans le gestionnaire de paquets et j'ai trouvé le code nécessaire ici: https://www.thanassis.space/rsbep.html
Cela permet de créer un fichier avec les codes de correction d'erreur Reed-Solomon, puis de récupérer le fichier d'origine à partir de la version ECC, éventuellement corrompue.
la source
rsbep
transparente, mais ce n'est que par-dessus les scripts qui fonctionnent fichier par fichier.Vous êtes intéressé par PAR2, qui utilise la correction d'erreur Reed-Solomon. parchive est la spécification du format de fichier ECC, pour Linux vous voudrez PyPar ou par2tbb , et sous Windows vous utilisez une interface graphique appelée QuickPar .
la source
Si vous souhaitez séparer le fichier ecc de l'archive, vous pouvez utiliser pyFileFixity, un projet Python open source qui vise à fournir un système de protection de type PAR de nouvelle génération contre la corruption de bits.
Si vous souhaitez que la protection ecc soit incluse directement dans l'archive, vous pouvez utiliser le DAR opensource , une sorte de TAR de nouvelle génération, qui permet de générer à la fois des données non solides (c'est-à-dire, permet l'extraction partielle des archives corrompues) et ecc ( en utilisant PAR2) et l'isolement du catalogue (c'est-à-dire, sauvegarder une sauvegarde de l'arborescence des répertoires et des métadonnées du système de fichiers) directement dans les archives .dar.
la source
Un autre projet similaire en 2018 est Redupe qui semble fournir une correction d'erreur de fichier séparée et intégrée dans deux outils distincts:
L'exemple de la page Web (modifié par souci de concision) ressemble à votre cas d'utilisation:
reundupe
peut ensuite être utilisé pour restaurer le fichier et éventuellement corriger de petites erreurs.la source