fanwander schrieb:
Ein Symbolic Link ist einfach ein Verweis auf einen inode. Wird die Zieldatei gelöscht, ist der Symbolic link kaputt - auch wenn ggf später eine neue Datei gleichen Namens angelegt wird. Denn deren inode ist eine andere Nummer.
Nein, das is nicht richtig. (Ob das in dem Artikel falsch oder missverständlich beschrieben ist oder ob du's falsch interpretierst hast, weis ich nicht, spielt aber auch keine Rolle). Ich möchte das gerne aufklären:
ein
symbolic link (symlink) is vom Prinzip her das gleiche wie ein Alias. Es is ein Eintrag im Dateisystem, der einfach nur einen Pfad enthält. Dieser Pfad kann absolut oder relativ sein, je nachdem wie man den symlink angelegt hat. Verweist man auf einen absoluten Pfad, hat man den Vorteil, dass man den Symlink einfach verschieben kann, und er weiterhin aufgelöst wird. Verweist man auf einen relativen Pfad, hat man den Vorteil, dass der Symlink auch dann richtig aufgelöst wird, wenn man das Dateisystem an einer anderen stelle einhängt. Und: Wenn man die Datei löscht, auf die ein Symlink zeigt, is der Link natürlich tot. Legt man an der Stelle aber wieder unter gleichem Namen eine Datei ab, lebt der Link wieder. Wie gesagt, im Symlink steht einzig und allein ein Pfad drin. Mehr nicht. Der unterschied zwischen einem Symlink und einem Alias ist, dass der Symlink vom Dateisystem aufgelöst wird, also mit jedem beliebigen Programm funktioniert. Das Alias kann nur von Programmen aufgelöst werden, die diesen Kram explizit unterstützen.
Hard links zeigen auf einen Inode. Sie sind von regulären Dateien
nicht zu unterscheiden, denn eine reguläre Datei ist auch nur ein Zeiger auf ein Inode. Wenn du einen hard link auf eine Datei anlegst und anschließend die ursprüngliche Datei löschst, is das völlig wurscht, da die Inodes Referenzzähler haben, und so lange nicht überschrieben werden, wie es Referenzen gibt. Oder anschaulich: Die zuständigen Daten bleiben erhalten, solange es weitere hard links gibt. Deine Daten sind erst dann futsch, nachdem
alle hard links entfernt wurden! Beispielhaft: Ich mach ein Backup meiner Arbeit unter /backup/2014/arbeit.tex. Da ich 2015 nix mehr zustande gebracht hab, lege ich unter /backup/2015/arbeit.tex einen hard link auf /backup/2014/arbeit.tex an. Wenn ich dann beim Aufräumen das ganze Verzeichnis /backup/2014 lösche, spielt das für meine /backup/2015/arbeit.tex keine Rolle, da es ein hard link ist. Die Daten sind noch da.
Die richtige Doku dazu findet man unter
@swissdoc:
Diese Strategie "wir verstecken das System mit einer bunten Oberfläche vor dem User" is bei MacOS noch relativ harmlos, finde ich. Ähnlich wie Windows ME. Ein wesentlich krasserer Kandidat in der Disziplin is mMn Android. Hier wird das komplette Multitasking for dem User versteckt und um sich als root einzuloggen, muss man echte Handstände machen!