Come condividere file attraverso la rete locale?


65

Ho un desktop (Ubuntu 13.04 e Win 7 Home Premium) e un laptop (Ubuntu 12.04) , entrambi con adattatori WiFi. Ho anche un router WiFi collegato a Internet a cui entrambi i miei computer possono accedere.

Voglio condividere file tra il mio desktop e il mio laptop usando WiFi (simile a Homegroup su Windows 7 ma senza usare cavi Ethernet) . Come lo installo?

Voglio condividere i file utilizzando entrambi i sistemi operativi, se qualcuno ha informazioni sulla condivisione di file con uno qualsiasi dei sistemi operativi, rispondi!



1
Questo non è un duplicato, in quanto richiede la condivisione di file tra Ubuntu e Windows, nonché Ubuntu e Ubuntu. Nota che il desktop ha sia Ubuntu che Windows. Quando viene avviato su Ubuntu e il laptop ha Ubuntu, hai la condivisione di file da Ubuntu a Ubuntu.
user68186

Risposte:


77

Configurazione di rete

Connetti sia il desktop che il laptop al router WiFi usando la configurazione standard. Per verificare che entrambi i computer siano connessi, verificare che sia possibile accedere a Internet da entrambi i computer.

Facoltativo: nell'impostazione del router, vedere gli indirizzi IP locali assegnati al desktop e al laptop. Questi possono apparire come 192.168.0.100 o 192.168.1.199. Se esiste un'opzione per assegnare permanentemente questi specifici indirizzi IP nel router, è possibile farlo.


Windows → Ubuntu

Passaggio 1 Sul portatile creare una cartella che si desidera condividere. Potrebbe esserci una cartella chiamata "Pubblico" scegli quella se vuoi. Fai clic con il tasto destro sull'icona della cartella e scegli "Opzioni di condivisione". Si aprirà una nuova finestra:

inserisci qui la descrizione dell'immagine

Seleziona la casella "Condividi questa cartella".

Puoi anche selezionare le altre due caselle "Consenti ad altri di creare ed eliminare file in questa cartella". Ciò consentirà all'utente di desktop Windows di creare ed eliminare file in questa cartella.

La casella di controllo "Accesso ospite" si spiega da sé. Ciò può essere utile se l'ID utente di Windows non è esattamente uguale all'ID utente di Ubuntu.

Potrebbe indicare che il servizio di condivisione non è installato:

inserisci qui la descrizione dell'immagine

Fai clic su "Installa servizio" e lascia che installi il software fornendo la password per l'account utente del laptop quando richiesto. È possibile che ti venga richiesto di installare altri software simili libpam-smbpass. Installa tutto il software. Ti verrà chiesto di riavviare i servizi e fare clic su Sì.

Passaggio 2. Aprire la finestra delle proprietà della cartella "Pubblico", facendo clic con il tasto destro su di essa. Vai alla scheda permessi e assicurati che assomigli a questo:

inserisci qui la descrizione dell'immagine

Fai clic sul pulsante "Modifica le autorizzazioni per i file allegati" e assicurati che sia simile al seguente:

inserisci qui la descrizione dell'immagine

Ora dovresti essere in grado di modificare i file creati in Ubuntu nella cartella "Pubblica" del laptop in Esplora risorse.

Tuttavia, se si crea un file in Windows e lo si inserisce nella cartella pubblica del laptop, potrebbe non essere possibile aprire quel file quando si arriva al laptop. Questo perché Windows e Ubuntu non comprendono reciprocamente la proprietà e le autorizzazioni dei file. Quindi nel laptop Ubuntu, il file creato da Windows è di proprietà di "Nessuno". Dovrai aprire Nautilus come amministratore e modificare la proprietà e le autorizzazioni di lettura / scrittura mentre sei nel computer portatile.

Passaggio 3. Vai a Windows sul computer desktop e apri Esplora risorse , fai clic sul triangolo accanto a Rete nel pannello di sinistra. Dall'elenco a discesa dovresti essere in grado di selezionare il nome del computer portatile che esegue Ubuntu .

Ora dovresti essere in grado di vedere la tua cartella condivisa (dire "Pubblico") dal laptop in Esplora risorse. Fare clic sulla cartella "Pubblico" e vedere i file nella cartella. Dovresti essere in grado di copiare i file dalla cartella pubblica di Ubuntu nella cartella locale di Windows.

Ecco una guida passo passo con alcuni dettagli in più.


Ubuntu → Windows

Passaggio 1 Configurare la condivisione delle cartelle di Windows utilizzando i metodi disponibili per Windows. seguire i passaggi nel link sopra per la parte Windows.

Passaggio 2 Aprire un terminale nel computer portatile Ubuntu premendo Ctrl+ Alt+ Te inserire:

sudo -H gedit /etc/samba/smb.conf

e cerca la linea:

;   name resolve order = lmhosts host wins bcast

e modificalo in questo modo

   name resolve order = bcast lmhosts host wins 

Nota, non c'è; all'inizio della riga modificata. Salva il file ed esci da gedit. Immettere le seguenti due righe (una alla volta) per interrompere e avviare samba:

sudo stop smbd
sudo start smbd

Passaggio 3 Sul laptop, apri Nautilus, il browser dei file e fai clic su Rete nel pannello di sinistra. Fai clic su "Sfoglia rete" Fai clic sulle icone nella finestra principale della rete di Nautilus e trova il desktop di Windows e la cartella condivisa. Verifica di poter copiare i file da e verso questa cartella.

Vedere errore "Impossibile recuperare l'elenco di condivisioni dal server" durante l'esplorazione di una condivisione con Nautilus come riferimento per la modifica di smb.conf.


Ubuntu → Ubuntu

Avvia il desktop su Ubuntu.

Sia sul desktop che sul laptop, procedere come segue per assicurarsi che ssh-server sia installato:

Apri un terminale premendo Ctrl+ Alt+ Te inserisci

sudo apt-get install openssh-server

Inserisci la tua password quando richiesto. Il cursore non si sposterà quando si inserisce la password. E 'normale.

Questo installerà lo ssh-server se non è già installato. Se già installato, non farà nulla.

Il desktop prima di tutto:

Apri Nautilus e trova la voce di menu "Altre posizioni". In fondo trova Connetti al server:

connessione sftp [7]

In Indirizzo server inserire:

sftp://laptop_user_id@laptop_name.local/home/laptop_user_id

dove si laptop_user_idtrova l'ID utente che hai creato sul tuo laptop. Puoi trovare il tuo ID utente digitando whoamiun terminale. Ed laptop_nameè il nome che hai dato al laptop quando hai installato Ubuntu.

Se si desidera condividere una partizione nel secondo disco rigido del desktop, in Indirizzo server immettere:

sftp://desktop_user_id@desktop_name.local/path/to/the/mount/point/of/the/partition/in/second/hard/drive

Sostituisci path/to/.../drivecon il percorso effettivo.

In alternativa, se si conosce l'indirizzo IP locale del laptop, è possibile sostituirlo laptop_name.localcon l'indirizzo IP locale del laptop.

Press Connect. Vedrai una finestra di dialogo della password:

Password per SSH

Immettere la password associata a laptop_user_id e selezionare se si desidera che la password venga memorizzata o meno. Ancora clic Connect.

Ora dovresti vedere la tua cartella home del laptop.

Si noti che c'è una nuova voce in Rete nel pannello di sinistra di Nautilus che inizia con laptop_user_id. Fai clic destro su di esso e scegli "Aggiungi segnalibro" per creare un segnalibro permanente per la cartella principale del tuo laptop nel Nautilus del desktop.

Vedi questa pagina per le foto di una versione precedente.

Adesso il portatile

Segui la stessa procedura del desktop sopra.


Proverò il metodo Ur e risponderò a U, fino ad allora Grazie mille per la risposta! -a user68186
Gaurav,

2
:) Fatto, ho installato SSH sul mio laptop come ho detto U e il mio lavoro è finito, ora posso vedere il mio laptop sul mio desktop e il mio desktop sul mio laptop, grazie mille e grazie mille per il tempo che hai speso per questa domanda.
Gaurav,

2
@Gaurav Samba è un servizio che viene eseguito in background. Non esiste un'interfaccia utente grafica con quel nome. Ecco perché non lo troverai in Dash. In quale passo ti blocchi? Riesci a vedere la cartella condivisa in Windows da Ubuntu? Riesci a vedere la cartella condivisa in Ubuntu da Windows?
user68186

1
Nota per Ubuntu su Ubuntu la casella di input "Connetti al server" ora appare nella parte inferiore della pagina "Altre posizioni" per le versioni più recenti dei file (Nautilus) ed è sorprendentemente facile da perdere - askubuntu.com/a/851681
bonger

1
@bonger Thanks! Ho aggiornato il testo e l'immagine per riflettere le modifiche.
user68186

3

Proporrò alcune alternative che non assomigliano esattamente a SAMBA, ma potrebbero essere migliori per altri casi d'uso.

Server HTTP

HTTP è il protocollo utilizzato per accedere a siti Web normali, quindi ogni sistema operativo è stato costretto a implementarlo!

Trova il tuo IP sul computer di origine, ad es 192.168.0.10. Su Ubuntu:

ifconfig

Creare un server in una directory che contiene il file che si desidera trasferire:

python -m SimpleHTTPServer 8080

Sul computer ricevente, apri un browser e visita:

192.168.0.10:8080

Ora puoi navigare attraverso le directory fino al file che desideri.

Non sono sicuro che questo metodo sia veloce / robusto, ma è uno dei più semplici da installare e portatile.

Le alternative più veloci sono discusse su: https://stackoverflow.com/questions/12905426/what-is-a-faster-alternative-to-pythons-simplehttpserver

rsync

Tra due computer Ubuntu, questa è un'ottima opzione: https://en.wikipedia.org/wiki/Rsync

Per prima cosa assicurati di poter SSH da un computer all'altro:

ssh server-username@192.168.0.10

È possibile creare un nuovo account per l'utente se si desidera mantenere la password privata.

Potrebbe essere necessario eseguire su server e client:

sudo apt-get install ssh

Quindi, una volta effettuato l'accesso, per copiare i file dal server al client basta:

rsync -av server-username@192.168.0.10:/full/path/to/remote/directory .

È possibile copiare più directory in una sola volta, come spiegato in https://unix.stackexchange.com/questions/308810/copying-multiple-files-using-rsync-over-ssh :

rsync -av 'server-username@192.168.0.10:/full/path/to/remote/directory "/full/path/to/remote/directory with space"' .

Questo è il metodo di denominazione comune più basso: più robusto, efficiente, ampiamente disponibile su Linux e la sicurezza si basa su permessi di file ben noti + schemi utente.

Questo potrebbe non essere facile su Windows pensato:

NFS

Ancora una volta principalmente per due macchine Ubuntu, questo è SAMBA per Linux, con supporto integrato nel kernel Linux: https://en.wikipedia.org/wiki/Network_File_System

Fondamentalmente ti consente di accedere a mountuna cartella dal server sul guest.

L'installazione e la risoluzione dei problemi sono potenzialmente un po 'più difficili di rsync, ma sicuramente fattibili, questo è un buon articolo: https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on- ubuntu-16-04

Forse c'è anche qualche implementazione di Windows: https://docs.microsoft.com/en-us/windows-server/storage/nfs/nfs-overview ma suppongo che Microsoft debba fornire un supporto migliore al proprio protocollo SMB.


1
sudo apt-get install servefile

servefile è perfetto per la condivisione casuale, esegue un server http sulla porta 8080 (a meno che non sia specificato -p < porta >), quindi può comunicare velocemente con qualsiasi dispositivo con un browser.

Esempi:

  • servefile nomefile # Serve solo un file


    Ricevo 3 URL perché ho 3 IP da 3 LAN diverse, normalmente ne otterresti solo 1, ma è fantastico che te lo mostra.

  • servefile -u ~ / Pictures # Consente di caricare i file nella cartella Pictures

    caricare files

  • servefile -l ~ / Pictures # Fornisce il contenuto della cartella

    contenuto della cartella

  • servefile -tc gzip ~ / Pictures # costruisce un file tar da qualsiasi file o cartella e lo comprime al volo

    inserisci qui la descrizione dell'immagine

A proposito, con questo metodo ho raggiunto la velocità di trasferimento di 1 Gbps (velocità massima della mia LAN).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.