2

ハードディスクの複数の場所に同じファイルがいくつか保存されています。それらをハードリンクして同じファイルを指すようにすることで、多くのディスク容量を節約できると思います。悲惨な副作用の可能性が少し心配です。

ファイル名と同じように、それぞれのディレクトリに保存されているため、アクセス許可には影響しないと思いますよね?(更新:どうやら、私は間違っていると推測しました。カールが回答で示しているように、アクセス許可は共有されています)

最大の懸念は、1 つのファイルを誤って変更して、他のファイルも変更してしまうことです。その場合、読み取り専用ファイルは安全なはずです。また、既存のファイル内で更新するのではなく、新しいファイルが書き込まれる場合は、変更可能なファイルも問題ありません。ほとんどのアプリケーションはそのように機能すると思いますが、おそらくすべてではありません。

他に考慮すべきことはありますか?

私は OS X / HFS+ を使用しています。

4

4 に答える 4

2

あるファイルへの変更を他のファイルに反映させたくない場合は、ハード リンクを使用しないでください。これがハード リンクの要点です。同じファイル(ディスク上の同じブロック) に対する複数のディレクトリ エントリです。ハード リンクの名前の 1 つの権限を変更すると、両方の名前が変更されます。

$ 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マニュアルページから:

ファイルへのハード リンクは、元のディレクトリ エントリと区別できません。ファイルへの変更は、ファイルの参照に使用される名前とは実質的に無関係です。

于 2009-11-12T00:42:20.647 に答える
1

これを行うための小さなスクリプトを書きました。バックアップが複数のユーザーまたはシステム ファイルにまたがっている場合にのみ、アクセス許可について心配します。

私は CD や DVD に古いバックアップをたくさん持っていましたが、その多くには冗長なデータがたくさんありました。すべての情報を調べて重複を削除するのではなく、タイム マシン ルートを使用して、一致するすべてのファイル間にハード リンクを作成しました (完全に一致するコンテンツ、それらすべての SHA1 チェックサムを取得しました)。

これで、すべてのバックアップ ボリュームが他の場合と同じように見え、冗長ファイルのほとんどが履歴になります。1 つの問題は、多くのメディア ファイルがファイル コンテンツにメタデータを格納するため、各バージョンがわずかに異なることです。Python コードについては、この記事を参照してください。無保証!!!

後で必ず実行してくださいmdimport your_backup_dir/。大規模なデータ操作を行うと、Spotlight と Finder が少し混乱します。この方法で 240 GB のバックアップ フォルダーの重複を排除しましたが、約 45 分かかりました。

また、ほとんどの OSX アプリはハード リンクを壊して新しい i ノードに保存することに注意してください。ほとんどの UNIX アプリはおそらくハード リンクを保持します (emacs を除く)。

于 2010-03-09T04:41:45.743 に答える
0

通常、ハードリンクはベスト プラクティスではありません。従来のソフト/シンボリック リンク (ln -s) も同様に機能するはずです。

于 2009-11-12T00:42:54.343 に答える