Non puoi:
Un collegamento simbolico è semplicemente un inode aggiuntivo (una struttura che punta al file) e questo inode consiste, tra le altre cose, in un deviceId
e un inode pointer
. Il deviceId
punta effettivamente a un file speciale del dispositivo all'interno del /dev
directory e il inode pointer
punta a un blocco su quel dispositivo.
La tua posizione di rete di 10.0.1.103
non ha e non può avere un deviceId
(non è in /dev
) pertanto non è possibile avere un collegamento simbolico a un percorso di rete.
D'altra parte, una condivisione di rete montata avrà un deviceId
ecco perché puoi creare un collegamento simbolico a una posizione montata.
Windows ha una sintassi speciale \\MACHINE\DIRECTORY…\FILE
ovvero il file che si trova in \DIRECTORY…\FILE
sulla macchina chiamata \\MACHINE
sul protocollo SMB. Questo è integrato nel sistema operativo e specializzato in un protocollo di rete.
Linux ha un filesystem flessibile basato sulla nozione di montaggio. I filesystem sono collegati a una directory esistente e l'amministratore può scegliere come organizzare la gerarchia delle directory. Per ulteriori informazioni, leggi Cosa si intende per montaggio di un dispositivo in Linux?, Perché il filesystem di Linux è progettato come un singolo albero di directory? e Quali punti di montaggio esistono su un tipico sistema Linux?. Linux supporta molti filesystem di rete (ovvero filesystem che consentono a una macchina di accedere ai file su un'altra macchina), inclusi NFS, SMB, SSHFS, ecc.
NFS può essere considerato il filesystem di rete nativo di Linux, così come SMB lo è di Windows. Tuttavia Linux non esporta i suoi file per impostazione predefinita:è necessario installare un server NFS. Un server NFS è disponibile in tutte le distribuzioni Linux, ma richiede un po' di configurazione (è necessario registrare le directory che si desidera esportare nel file /etc/exports
). Inoltre NFS proviene da un momento più delicato in cui gli aggressori sulla rete locale non erano un problema e la sua protezione richiede un po 'di conoscenza dei firewall che va oltre lo scopo di questa risposta. Per rendere la directory /some/where
dalla macchina remota foo.example.com
disponibile presso la posizione /local/dir
(che deve essere una directory esistente), supponendo che venga esportata dalla macchina remota, esegui il seguente comando come root:
mount foo.example.com:/some/where /local/dir
Il modo più semplice per accedere ai file remoti quasi senza configurazione è tramite SSHFS. Tutto ciò di cui hai bisogno è installare un server SSH sulla macchina remota e sshfs
pacchetto sulla macchina locale. Dovresti anche generare una chiave (vedi Come far funzionare l'accesso senza password), anche se non hai per farlo se non ti dispiace inserire la tua password ogni volta. SSH è inoltre utile per eseguire comandi sulla macchina remota. Per creare la directory /some/where
dalla macchina remota foo.example.com
disponibile alla locazione /local/dir
(che deve essere una directory esistente) su SSHFS, esegui il seguente comando (come il tuo solito utente):
sshfs foo.example.com:/some/where /local/dir
Linux può essere un server o un client per il protocollo SMB (che comunica con macchine Windows, o anche con altre macchine Linux sebbene sia meno integrato rispetto ad altri protocolli) attraverso il software Samba.
Puoi impostare un automounter (come autofs
) in modo che l'accesso a determinate directory monti automaticamente le directory da una macchina remota. Ad esempio, una configurazione comune prevede che il filesystem autofs sia montato nella directory /net
e accedendo a /net/MACHINE/DIRECTORY
causa la directory remota /DIRECTORY
da /net/MACHINE
essere montato su NFS in quella posizione (e verrà smontato dopo un certo periodo di inattività). La macchina remota deve ovviamente avere un server NFS configurato e consentire tale connessione.
È possibile configurare un automounter con SSHFS. Guarda Totally Seamless SSHFS sotto Linux usando Fuse e Autofs e Autofs e sshfs:la coppia perfetta per tutorial veloci; in poche parole:
- Installa
autofs
esshfs
. -
Aggiungi la riga seguente a
/etc/auto.master
:/mnt/sshfs /etc/auto.sshfs uid=1000,gid=1000,--timeout=30,--ghost
Sostituisci le due occorrenze di 1000 con il tuo ID utente e ID gruppo (esegui
id -u
eid -g
per mostrare questi valori). Crea la directory/mnt/sshfs
. -
Crea un file
/etc/auto.sshfs
contenente righe come le seguenti:machinename -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#machinename.example.com\:
dove
machinename.example.com
è il nome host (o indirizzo IP) della macchina remota emachinename
è il nome con cui vuoi accedervi in locale, tramite il percorso/mnt/sshfs/machinename
.
Autosshfs fornisce una configurazione autofs+sshfs più conveniente.
Infine, per quanto riguarda la parte simbolica:puoi creare un collegamento simbolico a un percorso inesistente. Il collegamento simbolico è il secondo argomento, quindi avrai bisogno di qualcosa come
ln -s /net/10.0.1.103/sharedFolder/symlinkFile.mov /link/to/local/file.mov
Dovrai organizzare manualmente o automaticamente /sharedFolder
da 10.0.1.103
da montare a /net/10.0.1.103/sharedFolder
.