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
autofs
undsshfs
. -
Fügen Sie die folgende Zeile zu
/etc/auto.master
hinzu :/mnt/sshfs /etc/auto.sshfs uid=1000,gid=1000,--timeout=30,--ghost
Ersetzen Sie die beiden Vorkommen von 1000 durch Ihre Benutzer-ID und Gruppen-ID (führen Sie
id -u
aus undid -g
um diese Werte anzuzeigen). Erstellen Sie das Verzeichnis/mnt/sshfs
. -
Erstellen Sie eine Datei
/etc/auto.sshfs
Zeilen wie die folgenden enthalten:machinename -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#machinename.example.com\:
wobei
machinename.example.com
ist der Hostname (oder die IP-Adresse) des Remote-Rechners undmachinename
ist der Name, unter dem Sie lokal über den Pfad/mnt/sshfs/machinename
darauf 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
.