GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Symlink von einer Workstation zu einer anderen ohne Mount

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:

  1. Installieren Sie autofs und sshfs .
  2. 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 und id -g um diese Werte anzuzeigen). Erstellen Sie das Verzeichnis /mnt/sshfs .

  3. 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 und machinename 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 .


Linux
  1. Wie kopiert man Einstellungen von einem Gerät auf ein anderes?

  2. Kopieren Sie die Ordnerstruktur (ohne Dateien) von einem Ort zum anderen

  3. Wie verschiebt (und überschreibt) man alle Dateien von einem Verzeichnis in ein anderes?

  4. Was ist der schnellste Weg, um unter Linux eine Million Bilder von einem Verzeichnis in ein anderes zu verschieben?

  5. Verwenden von Mongodb-Tools (mongodump, mongorestore) von einem anderen Computer

So finden und kopieren Sie bestimmte Dateitypen von einem Verzeichnis in ein anderes unter Linux

Reptyr – Verschieben Sie einen laufenden Prozess von einem Terminal zum anderen, ohne es zu schließen

Wie kopiert man eine Datei aus einem anderen Verzeichnis in das aktuelle?

Wie leitet man einen Port von einer Maschine zu einer anderen weiter?

MySQL-Dump von einer anderen Maschine nehmen

Können wir mehrere Festplatten als ein Verzeichnis mounten?