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:
- Nainstalujte
autofs
asshfs
. -
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
aid -g
pro zobrazení těchto hodnot). Vytvořte adresář/mnt/sshfs
. -
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 amachinename
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
.