GNU/Linux >> Znalost Linux >  >> Linux

Symlink z jedné pracovní stanice na druhou bez připojení

Nemůžete:

Symbolický odkaz je jednoduše další inode (struktura, která ukazuje na soubor) a tento inode se skládá mimo jiné z deviceId a inode pointer . deviceId účinně ukazuje na speciální soubor zařízení v rámci /dev adresář a inode pointer ukazuje na blok na tomto zařízení.

Vaše síťové umístění 10.0.1.103 nemá a nemůže mít deviceId (není v /dev ), proto nemůžete mít symbolický odkaz na umístění v síti.

Na druhou stranu připojené síťové sdílení bude mít deviceId proto můžete vytvořit symbolický odkaz na připojené umístění.


Windows má speciální syntaxi \\MACHINE\DIRECTORY…\FILE což znamená soubor umístěný na \DIRECTORY…\FILE na počítači s názvem \\MACHINE přes protokol SMB. Toto je zabudováno do operačního systému a specializováno na jeden síťový protokol.

Linux má flexibilní souborový systém založený na připojování. Souborové systémy jsou připojeny k existujícímu adresáři a administrátor si může vybrat, jak uspořádat hierarchii adresářů. Pro více informací si přečtěte Co znamená připojení zařízení v Linuxu? Proč je souborový systém Linuxu navržen jako strom s jedním adresářem? a Jaké přípojné body existují na typickém systému Linux?. Linux podporuje mnoho síťových souborových systémů (tj. souborových systémů, které umožňují jednomu počítači přístup k souborům na jiném počítači), včetně NFS, SMB, SSHFS atd.

NFS lze považovat za nativní síťový souborový systém Linuxu, stejně jako SMB je systém Windows. Linux však své soubory ve výchozím nastavení neexportuje:musíte nainstalovat server NFS. Server NFS je dostupný ve všech distribucích Linuxu, ale vyžaduje trochu nastavení (adresáře, které chcete exportovat, musíte zaregistrovat do souboru /etc/exports ). Navíc NFS pochází z mírnější doby, kdy se útočníci v lokální síti netýkali, a jeho zabezpečení vyžaduje trochu znalostí o firewallech, což je nad rámec této odpovědi. Chcete-li vytvořit adresář /some/where ze vzdáleného počítače foo.example.com k dispozici na adrese /local/dir (což musí být existující adresář), za předpokladu, že je exportován vzdáleným počítačem, spusťte následující příkaz jako root:

mount foo.example.com:/some/where /local/dir

Snadný způsob, jak přistupovat ke vzdáleným souborům téměř bez nastavení, je přes SSHFS. Vše, co potřebujete, je nainstalovat SSH server na vzdálený počítač a sshfs balíček na místním počítači. Měli byste také vygenerovat klíč (viz Jak zajistit, aby přihlášení bez hesla fungovalo), i když jej nemáte můžete to udělat, pokud vám nevadí pokaždé zadávat heslo. SSH je navíc užitečné pro spouštění příkazů na vzdáleném počítači. Chcete-li vytvořit adresář /some/where ze vzdáleného počítače foo.example.com k dispozici na adrese /local/dir (což musí být existující adresář) přes SSHFS, spusťte následující příkaz (jako váš obvyklý uživatel):

sshfs foo.example.com:/some/where /local/dir

Linux může být serverem nebo klientem pro protokol SMB (komunikující se stroji Windows nebo dokonce s jinými stroji Linux, i když je méně dobře integrován než jiné protokoly) prostřednictvím softwaru Samba.

Můžete nastavit automounter (například autofs ), takže přístup k určitým adresářům automaticky připojí adresáře z nějakého vzdáleného počítače. Běžná konfigurace například zajišťuje, že souborový systém autofs je připojen do adresáře /net a přístup k /net/MACHINE/DIRECTORY způsobí vzdálený adresář /DIRECTORY od /net/MACHINE být připojen přes NFS v tomto umístění (a bude odpojen po určité době nečinnosti). Vzdálený počítač musí mít samozřejmě nastaven NFS server a umožnit toto připojení.

Je možné nastavit automounter pomocí SSHFS. Podívejte se na Totally Seamless SSHFS pod Linuxem pomocí Fuse a Autofs a Autofs a sshfs – perfektní pár pro rychlé tutoriály; ve zkratce:

  1. Nainstalujte autofs a sshfs .
  2. Přidejte následující řádek do /etc/auto.master :

    /mnt/sshfs /etc/auto.sshfs uid=1000,gid=1000,--timeout=30,--ghost
    

    Nahraďte dva výskyty 1000 svým uživatelským jménem a ID skupiny (spusťte id -u a id -g pro zobrazení těchto hodnot). Vytvořte adresář /mnt/sshfs .

  3. Vytvořte soubor /etc/auto.sshfs obsahující řádky jako jsou následující:

    machinename -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#machinename.example.com\:
    

    kde machinename.example.com je název hostitele (nebo adresa IP) vzdáleného počítače a machinename je jméno, pod kterým k němu chcete přistupovat lokálně prostřednictvím cesty /mnt/sshfs/machinename .

Autosshfs poskytuje pohodlnější nastavení autofs+sshfs.

A konečně, pokud jde o symbolickou část:můžete vytvořit symbolický odkaz na neexistující cestu. Symbolický odkaz je druhý argument, takže budete potřebovat něco jako

ln -s /net/10.0.1.103/sharedFolder/symlinkFile.mov /link/to/local/file.mov

Budete muset ručně nebo automaticky zařídit /sharedFolder z 10.0.1.103 k montáži na /net/10.0.1.103/sharedFolder .


Linux
  1. Jak přesunout všechny soubory (včetně skrytých) z jednoho adresáře do druhého?

  2. Jak zkopírovat nastavení z jednoho počítače do druhého?

  3. Jak zkopírovat tabulku z jedné databáze mysql do jiné databáze mysql

  1. Jak přesunout (a přepsat) všechny soubory z jednoho adresáře do druhého?

  2. Jak zkopírovat 10 posledních souborů z jednoho adresáře do druhého?

  3. Spouštění skriptů z jiného adresáře

  1. Použití nástrojů mongodb (mongodump, mongorestore) z jiného stroje

  2. Přesuňte logický svazek z jedné skupiny svazků do druhé

  3. Jak mohu připojit blokové zařízení z jednoho počítače do druhého přes síť jako blokové zařízení?