GNU/Linux >> Linux Esercitazione >  >> Linux

Collegamento simbolico da una workstation all'altra senza montaggio

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:

  1. Installa autofs e sshfs .
  2. 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 e id -g per mostrare questi valori). Crea la directory /mnt/sshfs .

  3. 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 e machinename è 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 .


Linux
  1. Copiare le ultime N righe da un file all'altro?

  2. Come copiare una tabella da un database mysql a un altro database mysql

  3. Come copiare i primi 10 file più recenti da una directory all'altra?

  4. Qual è il modo più veloce per spostare un milione di immagini da una directory all'altra in Linux?

  5. Come inoltrare una porta da una macchina all'altra?

Come trovare e copiare determinati tipi di file da una directory all'altra in Linux

Reptyr:sposta un processo in esecuzione da un terminale all'altro senza chiuderlo

Come copiare un file da un'altra directory a quella corrente?

Utilizzo degli strumenti mongodb (mongodump, mongorestore) da un'altra macchina

Come si cambia atomicamente un collegamento simbolico a una directory in busybox?

Sposta un volume logico da un gruppo di volumi a un altro