Soweit mir bekannt ist, können WinRAR-Archive ECC-Codes (Error Correction Codes) enthalten. Wenn das Archiv also leicht beschädigt ist, kann es von selbst behoben werden.
Zum Beispiel kann ich zum ersten Mal kodieren archives.tar
zu archives.tar.ecc
, und es dann auf meinen Server hochgeladen werden . Wenn die Datei nach dem Herunterladen durch den Client leicht beschädigt ist, kann sie automatisch repariert werden, ohne dass die Datei durch Dekodierung erneut heruntergeladen werden muss archives.tar.ecc
. Ich denke, es ist eine großartige Idee, wenn die Netzwerkverbindung instabil ist.
Ich frage mich, ob es eine (Open-Source-) Software gibt, die unter Linux ausgeführt wird und meine Anforderungen erfüllt.
Irgendwelche Vorschläge?
tar
gehen noch weiter - GNUtar
codiert spärliche Dateilöcher in Header-Metadaten undpax
generiert nach dem Extrahieren mit einem POSIX- kompatiblen Archivierer Dateien, die Informationen enthalten, die zum Neuerstellen der Datei oder von GNUtar
zur ursprünglichen spärlichen Datei erforderlich sind . Es werden primär codierte Header-Variablen verwendet, die gemäß POSIX für daspax
Dienstprogramm w / definiert werden können-o
.Antworten:
Ich hatte das gleiche Problem und stellte fest, dass die in der anderen Antwort angegebenen Lösungen nicht akzeptabel waren, da das par2-Programm / der par2-Standard das Erstellen separater Dateien für die Wiederherstellung und Überprüfung umfasst. Ich möchte, wie der ursprüngliche Fragesteller, eine einzige Datei mit Fehlerkorrekturcodes.
Ich fand das Programm rsbep, das sich früher im Paketmanager befand, und fand dann den erforderlichen Code hier: https://www.thanassis.space/rsbep.html
Auf diese Weise kann eine Datei mit Reed-Solomon-Fehlerkorrekturcodes erstellt und anschließend die Originaldatei aus der möglicherweise beschädigten ECC-Version abgerufen werden.
quelle
rsbep
transparent verwendet, aber nur die Skripte, die Datei für Datei arbeiten.Sie interessieren sich für PAR2, das die Reed-Solomon-Fehlerkorrektur verwendet. parchive ist die ECC-Dateiformatspezifikation. Für Linux benötigen Sie PyPar oder par2tbb , und unter Windows verwenden Sie eine GUI namens QuickPar .
quelle
Wenn Sie möchten, dass die ecc-Datei vom Archiv getrennt wird, können Sie pyFileFixity verwenden, ein OpenSource-Python-Projekt , das ein PAR-ähnliches Schutzsystem der nächsten Generation gegen Bitkorruption bereitstellen soll.
Wenn Sie möchten, dass der ecc-Schutz direkt in das Archiv aufgenommen wird, können Sie das OpenSource- DAR verwenden , eine Art Next-Gen-TAR, mit dem sowohl nicht-solid (dh das teilweise Extrahieren beschädigter Archive) als auch ecc ( unter Verwendung von PAR2) und Katalogisolation (dh Speichern einer Sicherung des Verzeichnisbaums und der Metadaten des Dateisystems) direkt in den .dar-Archiven.
quelle
Ein weiteres ähnliches 2018-Projekt ist Redupe , das sowohl separate als auch eingebettete Dateifehlerkorrekturen in zwei separaten Tools bietet:
Das Beispiel auf der Webseite (der Kürze halber geändert) ähnelt Ihrem Anwendungsfall:
reundupe
kann dann verwendet werden, um die Datei wiederherzustellen und möglicherweise kleine Fehler zu korrigieren.quelle