Sie können nicht:
Ein Symlink ist einfach ein zusätzlicher Inode (eine Struktur, die auf die Datei zeigt) und dieser Inode besteht unter anderem aus einem deviceId und eine inode pointer . Die deviceId verweist effektiv auf eine spezielle Gerätedatei innerhalb von /dev Verzeichnis und die inode pointer zeigt auf einen Block auf diesem Gerät.
Ihr Netzwerkstandort von 10.0.1.103 hat und kann keinen deviceId haben (es ist nicht in /dev ) daher können Sie unmöglich einen Symlink zu einem Netzwerkstandort haben.
Andererseits hat eine gemountete Netzwerkfreigabe einen deviceId Aus diesem Grund können Sie einen Symlink zu einem gemounteten Ort erstellen.
Windows hat eine spezielle Syntax \\MACHINE\DIRECTORY…\FILE Gemeint ist die Datei unter \DIRECTORY…\FILE auf der Maschine namens \\MACHINE über das SMB-Protokoll. Diese ist in das Betriebssystem integriert und auf ein Netzwerkprotokoll spezialisiert.
Linux hat ein flexibles Dateisystem, das auf dem Begriff des Mountens basiert. Dateisysteme werden an ein vorhandenes Verzeichnis angehängt, und der Administrator kann wählen, wie die Verzeichnishierarchie angeordnet werden soll. Weitere Hintergrundinformationen finden Sie unter Was ist unter Linux mit dem Mounten eines Geräts gemeint?, Warum ist das Dateisystem von Linux als ein einziger Verzeichnisbaum konzipiert? und Welche Einhängepunkte gibt es auf einem typischen Linux-System?. Linux unterstützt viele Netzwerkdateisysteme (d. h. Dateisysteme, die es einer Maschine ermöglichen, auf Dateien auf einer anderen Maschine zuzugreifen), einschließlich NFS, SMB, SSHFS usw.
NFS kann als natives Netzwerkdateisystem von Linux betrachtet werden, so wie SMB das von Windows ist. Linux exportiert seine Dateien jedoch nicht standardmäßig:Sie müssen einen NFS-Server installieren. Ein NFS-Server ist in allen Linux-Distributionen verfügbar, erfordert jedoch ein wenig Einrichtung (Sie müssen die Verzeichnisse, die Sie exportieren möchten, in der Datei /etc/exports registrieren ). Darüber hinaus stammt NFS aus einer sanfteren Zeit, als Angreifer im lokalen Netzwerk kein Problem darstellten, und seine Sicherung erfordert ein wenig Wissen über Firewalls, das den Rahmen dieser Antwort sprengen würde. Um das Verzeichnis /some/where zu machen von der entfernten Maschine foo.example.com erhältlich am Standort /local/dir (das ein vorhandenes Verzeichnis sein muss), führen Sie unter der Annahme, dass es vom Remote-Computer exportiert wird, den folgenden Befehl als root aus:
mount foo.example.com:/some/where /local/dir
Der einfache Weg, auf entfernte Dateien nahezu ohne Einrichtung zuzugreifen, ist über SSHFS. Alles, was Sie brauchen, ist die Installation eines SSH-Servers auf dem Remote-Computer und der sshfs Paket auf dem lokalen Rechner. Sie sollten auch einen Schlüssel generieren (siehe So funktioniert die passwortlose Anmeldung), obwohl Sie keinen haben wenn es Ihnen nichts ausmacht, jedes Mal Ihr Passwort einzugeben. SSH ist außerdem nützlich, um Befehle auf dem Remote-Computer auszuführen. Um das Verzeichnis /some/where zu machen von der entfernten Maschine foo.example.com erhältlich am Standort /local/dir (bei dem es sich um ein vorhandenes Verzeichnis handeln muss) über SSHFS den folgenden Befehl ausführen (als Ihr üblicher Benutzer):
sshfs foo.example.com:/some/where /local/dir
Linux kann ein Server oder ein Client für das SMB-Protokoll sein (kommuniziert mit Windows-Rechnern oder sogar mit anderen Linux-Rechnern, obwohl es weniger gut integriert ist als andere Protokolle) über die Samba-Software.
Sie können einen Automounter einrichten (z. B. autofs ), sodass beim Zugriff auf bestimmte Verzeichnisse automatisch Verzeichnisse von einem Remotecomputer bereitgestellt werden. Beispielsweise sieht eine gängige Konfiguration vor, dass das autofs-Dateisystem im Verzeichnis /net gemountet wird , und auf /net/MACHINE/DIRECTORY zugreifen bewirkt das entfernte Verzeichnis /DIRECTORY ab /net/MACHINE an diesem Ort über NFS gemountet werden (und es wird nach einer gewissen Zeit der Inaktivität ausgehängt). Auf dem Remote-Rechner muss natürlich ein NFS-Server eingerichtet sein, der diese Verbindung zulässt.
Es ist möglich, einen Automounter mit SSHFS einzurichten. Siehe Totally Seamless SSHFS unter Linux mit Fuse und Autofs und Autofs und sshfs – das perfekte Paar für schnelle Tutorials; Kurz gesagt:
- Installieren Sie
autofsundsshfs. -
Fügen Sie die folgende Zeile zu
/etc/auto.masterhinzu :/mnt/sshfs /etc/auto.sshfs uid=1000,gid=1000,--timeout=30,--ghostErsetzen Sie die beiden Vorkommen von 1000 durch Ihre Benutzer-ID und Gruppen-ID (führen Sie
id -uaus undid -gum diese Werte anzuzeigen). Erstellen Sie das Verzeichnis/mnt/sshfs. -
Erstellen Sie eine Datei
/etc/auto.sshfsZeilen wie die folgenden enthalten:machinename -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#machinename.example.com\:wobei
machinename.example.comist der Hostname (oder die IP-Adresse) des Remote-Rechners undmachinenameist der Name, unter dem Sie lokal über den Pfad/mnt/sshfs/machinenamedarauf zugreifen möchten .
Autosshfs bietet eine bequemere Einrichtung von autofs+sshfs.
Abschließend zum symbolischen Teil:Sie können einen symbolischen Link zu einem nicht existierenden Pfad erstellen. Der symbolische Link ist das zweite Argument, also brauchen Sie so etwas wie
ln -s /net/10.0.1.103/sharedFolder/symlinkFile.mov /link/to/local/file.mov
Sie müssen /sharedFolder manuell oder automatisch arrangieren von 10.0.1.103 zu montieren bei /net/10.0.1.103/sharedFolder .