web-dev-qa-db-ja.com

ファイルを重複排除する方法

複数のマシンでファイルをバックアップしてアーカイブしたいだけです。残念ながら、ファイルには同じファイルであるが異なるマシンに異なる方法で保存されているいくつかの大きなファイルがあります。たとえば、アドホックバックアップとして1台のコンピュータから別のコンピュータにコピーされた数百枚の写真がある場合があります。ファイルの共通リポジトリを作成したいので、同じ写真の複数のコピーは必要ありません。

これらのファイルをすべて1つのディレクトリにコピーした場合、重複ファイルを調べて認識し、リストを表示したり、重複ファイルの1つを削除したりできるツールはありますか?

10
User1

各ファイルのmd5sumを作成し、重複するmd5sumsは、重複するファイルを提案します(ただし、保証はしません)。

3
bryan

dupemerge を使用して、同一のファイルをハードリンクに変換できます。ただし、大きなファイルセットでは非常に長い時間かかります。 SHA(またはMD5)ファイルのハッシュはほぼ確実に高速に動作しますが、重複を見つけるにはより多くの手間をかける必要があります。偶発的な衝突の可能性は非常に低いため、実際には無視できます(実際、多くの重複排除製品はすでにこれを行っています。)

写真や音楽を扱うための最善の策は、特にそれらのアイテムの重複を見つけるように調整されたツールを入手することです。特に、タグ付け、トリミング、エンコードの違いなどが発生した後は、バイナリレベルで同一のファイルがない可能性があるためです。ファイルにわずかな調整を加えた場合でも、同じように「見える」写真と同じように「聞こえる」音楽を見つけることができるツールが必要になります。

2
afrazier

能力があれば、重複排除ファイルシステムをセットアップして、その上にバックアップを置くことができます。これにより、ファイル全体だけでなく、同様のファイルも重複排除されます。たとえば、同じJPEGが複数の場所にあり、バージョンごとにEXIFタグが異なる場合、重複排除ファイルシステムは画像データを1回だけ保存します。

ファイルシステムの重複排除には、lessfs、ZFS、およびSDFSが含まれます。

1

ハードリンクは、ファイル全体が同一である場合にのみ重複排除を実行します。ヘッダー(EXIF、ID3、…)またはメタデータ(所有者)が異なる場合、それらはリンクされません。

ブロック重複排除をサポートするファイルシステム(ZFS、btrfsなど)を使用する可能性がある場合は、代わりにそれを使用してください。私はoffline(akabatch)の重複排除サポートがとても好きですbtrfsは、エクステントレベルの重複排除をサポートし、(ZFSオンライン重複排除として)常に大量のメモリを消費することはありません。

重複排除には、他のコピーに気付かれることなくユーザーがファイルを変更できるという利点もあります(これは、あなたの場合には当てはまらないかもしれませんが、他の場合には当てはまります)。

優れた議論については、 https://btrfs.wiki.kernel.org/index.php/Deduplication を参照してください。

0

ここで入手

Duplicate File Finderを使用して、ハードドライブ上の何千もの重複ファイルを削除しました。その非常に使いやすく、非常に高速です。私は特に、任意の数のフォルダまたはドライブ全体を検索できるという事実が好きです。手作業の日数を節約できました。同一のファイルに小さな変更を加えてプログラムをテストしたところ、エラーは見つかりませんでした。

0
Zainmrkt

私がこの種のことをしているとき、私は、数週間の間に、あなたの自由な時間に自分でファイルを実際に調べる方がはるかに魅力的で時間効率が良いことを学びました。あなたはあなたのコンピュータができるよりずっとよく物事の違いを見分けることができます。

同意しない場合は、 EasyDuplicateFinder をお勧めします。ただし、前述したように、5GBのファイルの場合、たとえば1日程度の時間がかかります。

また、別の注意点として、Crashplanは以前行っていたことを実行しますが、はるかに整理された、バージョン管理の問題のない方法で実行します。

0
digitxp

バックアップしているマシンがそれをサポートすると仮定して、別の可能性は、rsyncのようなものを使用することです。

AからB、次にCからB、次にDからBなどにrsyncすると、正確重複が排除されます(つまり、ファイル名によって)。バックアップしているマシン)。

ただし、すべてを相互に同期させたくない場合は、これが最善の方法ではありません。

0
warren

画像ファイルの場合は、 findimagedupes を使用します。 debian にもパッケージ化されています。

0
cweiske