Auf jedenfall. Wenn Sie den Befehl ausführen ln -s
, erstellen Sie eine symbolische Verknüpfung, bei der es sich um eine Inode handelt, die auf ein bestimmtes Dateisystemobjekt verweist. Daher können Symlinks Dateisysteme durchqueren und Hardlinks nicht: Hardlinks haben keine eigene Inode.
Wenn Sie ein Dateisystem mit bereitstellen --bind
, erstellen Sie einen zweiten Bereitstellungspunkt für ein Gerät oder Dateisystem.
Wenn Sie sich einen Symlink als Umleitung vorstellen, stellen Sie sich ein bereitgestelltes --bind
Dateisystem als ein weiteres Gateway für Daten vor.
Symlinks und Bind Mounts sind ein ganz anderes Ballspiel.
Die --bind
Montierung scheint mir ein bisschen robuster zu sein und ist wahrscheinlich ein bisschen schneller als die Arbeit mit einem Symlink. Auf der anderen Seite gibt es keine gravierenden Nachteile bei der Verwendung des Symlinks, da der Leistungseinbruch gering sein wird (falls überhaupt vorhanden).
Edit : Ich habe darüber nachgedacht, und der Performance-Hit könnte ein bisschen größer sein, als ich ursprünglich dachte. Wenn Sie eine Anwendung haben, die viele verschiedene Dateien liest, ist für jede neu geöffnete Datei ein zusätzlicher Lesevorgang erforderlich. Einige Nachforschungen legen nahe, dass meine Annahme richtig ist. Wenn Sie also eine IO-lastige Anwendung haben, die dort ausgeführt wird, ziehen Sie die --bind
Option in Betracht , über der Symlink-Lösung zu mounten.
Der Grund, warum dies nicht häufig vorkommt, ist wahrscheinlich die Tatsache, dass ein Symlink in einem sichtbar ist ls
, wohingegen ein Bindungs-Mount nur sichtbar ist, wenn Sie sich / proc / mounts oder / etc / mtab ansehen (was der Befehl mount auch tut, wenn er es ist) ohne Parameter ausgeführt). Abgesehen davon glaube ich nicht, dass es irgendwelche Probleme gibt. Es würde mich allerdings interessieren, ob es welche gibt.
Zusatz : Ein weiteres Problem ln -s
besteht darin, dass bei einigen Anwendungen der Pfad dereferenziert wird und die Anwendung blockiert, wenn bestimmte Elemente an bestimmten Stellen "erwartet" werden.