Frage

habe ich ein paar identischen Dateien in mehr als ein Ort auf meiner Festplatte gespeichert. Ich denke, ich kann eine Menge Speicherplatz sparen, indem hart Verknüpfung mit auf die gleiche Datei. Ich bin ein wenig über möglicherweise katastrophalen Nebenwirkungen beunruhigt.

Ich denke, es keine Berechtigungen beeinflussen, wie die in den entsprechenden Verzeichnissen gespeichert sind, ebenso wie die Dateinamen, nicht wahr? (Update: Anscheinend ich falsch geraten, werden Berechtigungen freigegeben, wie Carl in seiner Antwort zeigt)

Die größte Sorge ist, Änderungen an einer Datei zu ändern versehentlich auch die anderen Dateien. Read-only sollten Dateien sicher dann sein. Und Dateien, die geändert werden können, sind auch in Ordnung, wenn nicht innerhalb der bestehenden Datei zu aktualisieren, wird eine neue Datei geschrieben wird. Ich glaube, die meisten Anwendungen auf diese Weise arbeiten, aber wahrscheinlich nicht alle.

Gibt es noch etwas zu beachten?

Ich bin auf OS X / HFS +.

War es hilfreich?

Lösung

Verwenden Sie harte Links nicht, wenn Sie Änderungen an einer Datei möchten nicht in anderen Dateien widerspiegeln. Das ist der springende Punkt bei den harten Links - mehrere Verzeichniseinträge für die gleiche Datei (gleiche Blöcke auf der Festplatte). Durch Ändern der Berechtigungen auf einen der Namen eines harten Link ändert sie auf beiden:

$ 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

Von der ln man-Seite:

  

Ein harter Link auf eine Datei ist nicht vom Original-Verzeichniseintrag; Änderungen an einer Datei sind effektiv unabhängig von Namen verwendet, um die Datei zu verweisen.

Andere Tipps

Ich schrieb ein kleines Skript genau dies zu tun. Ich würde nur zu Berechtigungen besorgt, wenn Ihr Backup mehrere Benutzer oder Systemdateien wurde überspannen.

hatte ich ein paar alte Backups auf CDs und DVDs, von denen viele auf ihnen eine Menge redundanter Daten hatte. Anstatt Sift durch alle, dass Informationen und die Duplikate löschen, ich die Time Machine Route führte und harte Verbindungen zwischen allen den passenden Dateien aus (wirklich passenden Inhalte, nahm ich ein SHA1-Prüfsumme von allen).

Jetzt sind alle meine Backup-Volumes aussehen wie sie sonst und die meisten der redundanten Dateien sind Geschichte. Der ein Schluckauf ist, dass viele Mediendateien speichern Metadaten in dem Dateiinhalt, so dass jede Version etwas anders. Siehe dieser Artikel für den Python-Code. Keine Garantien !!!

Stellen Sie sicher, Sie tun mdimport your_backup_dir/ danach: Spotlight und Finder bekommen ein bisschen nervös, wenn Sie massive Datenmanipulationen zu tun. Ich habe deduplizierten meine 240 GB Backup-Ordner auf diese Weise, und es dauerte etwa 45 Minuten.

Auch Anmerkung wird die meisten OSX apps Ihre harten Links brechen und in einem neuen inode speichern, die meist UNIX'y apps wird wahrscheinlich die harten Links beibehalten (außer Emacs, höre i).

Hardlinks sind im Allgemeinen nicht eine bewährte Methode. plain old soft / symbolische Links (ln -s) sollte genauso gut dienen.

Wenn Ihr primäres Ziel, „dedupe Time Machine-Backups“ ist, wie Sie in einer der Kommentare erwähnen, dann eine weitere Option, dass einige Ihrer Bedenken vermeidet wäre, die Betrogenen von Time Machine zu beseitigen mit der Time Machine-Einstellungen . Sie können an der Verzeichnis- oder Dateiebene ausschließen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top