Deduplicating同一ファイルをハードリンク[定休日]
-
19-09-2019 - |
質問
私はカップルの同一ファイルを一つ以上私がハードディスク。Iフィギュア化いたしました巨大なモールがあるのでディスクスペースによるハードリンクしてポイントと同じファイルです。私は少し不安が悲惨です。
うことなんでしょうけれど影響しないアクセス権として格納され、それぞれのディレクトリのように、ファイルのファイル名ですよね? (更新:そういう間違っているのは、アクセス権の共有としてのカールを示して彼の答)
最大の懸念は変更が行われるようにファイルを無意識も変化のその他のファイルです。読み取り専用ファイルは安全であるべきである。とのできるファイルを変更しても大丈夫です場合により更新内の既存ファイルのファイルを保存し、新規ファイルが書かれています。私はほとんどのアプリケーション作品がなくなるだろう。
何か他のものはありまを考える?
私OS X/HFS+.
解決
あなたは他のファイルには反映されない一つのファイルに変更をしたい場合はハードリンクを使用しないでください。 を同じファイルの(ディスク上の同じブロック)に対して複数のディレクトリエントリ - それは、ハードリンクの全体のポイントです。ハードリンクの名前の一つにパーミッションを変更すると、両方の上にそれらを変更します:
$ touch file
$ ln file link
$ ls -l
total 0
-rw-r--r-- 2 owner group 0 Nov 11 16:44 file
-rw-r--r-- 2 owner group 0 Nov 11 16:44 link
$ chmod 444 file
$ ls -l
total 0
-r--r--r-- 2 owner group 0 Nov 11 16:44 file
-r--r--r-- 2 owner group 0 Nov 11 16:44 link
ln
のmanページから:
ファイルへのハードリンクは、元のディレクトリエントリと区別できません。ファイルへの変更は、ファイルを参照するために使用する名前の効果的独立しています。
他のヒント
私はこれを行うには小さなスクリプトを書きました。バックアップは、複数のユーザーまたはシステムファイルにまたがるれた場合、私は唯一の権限を心配になると思います。
私は、CDやDVDの、それらの上に冗長データの多くを持っていたそのうちの多くの古いバックアップの束を持っていました。のではなく、すべてその情報を取捨選択し、重複を削除し、私はTime Machineのルートを取り、一致するすべてのファイル間のハードリンクを作った(本当にマッチングコンテンツ、私はそれらすべてのSHA1チェックサムを取った)。
は、今、すべての私のバックアップボリュームがちょうど彼らがそうだろうと冗長ファイルのほとんどは、歴史あるように見えます。 1つのしゃっくりは、ファイルの内容でメディアファイルのメタデータを格納するの多くはので、各バージョンが多少異なることです。 Pythonのコードは、この記事のnoreferrer">
ハードリンクは、一般的にベストプラクティスではありません。昔ながらのソフト/シンボリックリンクは(LN -s)だけにも役立つはずである。
が主要目的は、"dedupeムマシンのバックアップ"において、"当てはまるもののコメント、その他のオプション回避の懸念が解消のdupesから時間の機械を使用 時間の機械設定.除外できますので、ディレクトリやファイルです。