web-dev-qa-db-ja.com

1つのファイルにエラー修正コード(BCH、RSなど)を追加することはできますか?

私の知る限り、WinRARアーカイブにはECC(エラー修正コード)が含まれている可能性があるため、アーカイブがわずかに破損している場合は、それ自体で修正できます。

たとえば、最初にarchives.tararchives.tar.eccにエンコードしてから、サーバーにアップロードできます。クライアントによるダウンロード後にファイルがわずかに破損している場合は、archives.tar.eccをデコードすることにより、ファイルを再度ダウンロードしなくても自動的に修正できます。ネットワークの接続が不安定になればいいと思います。

Linux上で実行されている(オープンソースの)ソフトウェアが私のニーズを満たすことができるかどうか疑問に思います。

助言がありますか?

12
Kevin Dong

リードソロモンエラー訂正を使用するPAR2に興味があります。 parchive はECCファイル形式の仕様です。Linuxの場合は PyPar または par2tbb が必要です。Windowsでは と呼ばれるGUIを使用します。 QuickPar

6
RAKK

私はこれと同じ問題を抱えており、par2プログラム/標準にはリカバリと検証を行うために個別のファイルを作成する必要があるため、他の回答で提供されたソリューションは受け入れられないことがわかりました。私は、元の質問者と同じように、エラー修正コードを含む単一のファイルが必要です。

以前はパッケージマネージャーにあったプログラムrsbepを見つけ、必要なコードをここに見つけました: https://www.thanassis.space/rsbep.html

これにより、Reed-Solomonエラー修正コードを含むファイルを作成し、破損している可能性のあるECCバージョンから元のファイルを取得できます。

6
Ethan

アーカイブとは別にeccファイルを作成する場合は、 pyFileFixity、opensource Python project を使用して、次世代のPARのような保護を提供することを目的としています。ビット破損に対するシステム。

Ecc保護を直接アーカイブに含めたい場合は、オープンソース [〜#〜] dar [〜#〜] を使用できます。これは、次世代のTARの一種であり、非ソリッド(つまり、破損したアーカイブの部分的な抽出を許可)とecc(PAR2を使用)、およびカタログ分離(つまり、ディレクトリツリーとファイルシステムのメタデータのバックアップを保存)の両方を.darアーカイブに直接保存します。

2
gaborous

別の同様の2018プロジェクトは Redupe であり、2つの個別のツールで個別のファイルと埋め込みファイルの両方のエラー修正を提供しているようです。

最初のツールであるredupeは、gzipやbzip2などの圧縮ツールをモデルにしていますが、それを排除する代わりに冗長性を追加しています。

Webページの例(簡潔にするために変更)は、使用例に似ています。

$ 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を使用してファイルを復元し、小さなエラーを修正することができます。

0
yuri