Qualche tempo fa sono stato costretto a trasferire file dal mio computer di prova, che all'epoca aveva Ubuntu 11.10, verso quello principale, in cui ha usato Ubuntu LTS 10.04, per poter apportare alcune modifiche alle partizioni della prima. Dopo aver sperimentato molti metodi, alcuni che non funzionavano e altri che funzionavano ma molto lentamente, sono riuscito a trovare una soluzione che mi ha convinto semplice, infallibile e che ti permette di raggiungere velocità davvero tremende.
Per questo metodo dovremo ricorrere a una piccola utility gratuita chiamata Cast UDP. Si trova nei repository ufficiali della maggior parte delle distribuzioni (ad eccezione di quelli di Arch Linux, ma può essere scaricato da AUR) quindi lo installiamo da lì. Per poterlo utilizzare dobbiamo averlo installato sia sul computer che dovrà inviare i file (server) e dove li riceverai (cliente).
UDP Cast non ha un'interfaccia grafica (e non ho verificato se ce ne sono Software forniscilo) in modo che venga utilizzato dalla console, ma il suo utilizzo è abbastanza semplice quindi anche se non ti piace la riga di comando probabilmente non avrai problemi a usarla.
Empezando
Per prima cosa dobbiamo assicurarci che entrambi i computer siano collegati alla rete locale. Quindi apriamo una console sul computer server e entriamo nella directory che contiene il file o la cartella che stiamo per inviare. Dopodiché facciamo lo stesso sul computer client, accedendo alla directory in cui verranno salvati i file da ricevere (di default vengono salvati nella cartella dell'utente). In entrambi i casi il comando da utilizzare sarà simile a questo:
cd /directorio/cualquiera
Da qui i comandi variano a seconda che invieremo un singolo file o una directory completa.
Invia singoli file
Per inviare un singolo file lo scriveremo nella console del computer server:
udp-sender -f archivo.zip
Dove file.zip Lo sostituiremo con il nome del file da inviare insieme alla sua estensione, che in questo caso sarebbe un file ZIP compresso.
Successivamente, dal computer client scriviamo questo:
udp-receiver -f archivo.zip
Sostituendo, ovviamente, ancora una volta il nome. Quando lo faremo vedremo che la console risponderà con il messaggio Premere un tasto qualsiasi per iniziare a ricevere i dati!; come sarebbe tradotto Premere un tasto qualsiasi per iniziare a ricevere i dati. Premiamo un tasto qualsiasi e il file inizierà a essere trasferito.
Invia directory
Per inviare directory complete dobbiamo utilizzare questo comando:
tar cf - directorio | udp-sender
Dove elenco Lo sostituiremo con il nome della directory che stiamo per inviare. Quindi, sul computer client copiamo e incolliamo questo comando così com'è (qui non è necessario sostituire nulla):
udp-receiver | tar xf -
Quindi apparirà lo stesso messaggio del caso precedente e premiamo un tasto qualsiasi per avviare il trasferimento.
Conclusioni
Come ho detto all'inizio del post, UDP Cast ti consente di trasferire file a una velocità davvero incredibile, in quanto sfrutta appieno tutte le potenzialità di trasferimento che la rete locale è in grado di sviluppare. Per quanto ho potuto verificare, le velocità massime si raggiungono quando entrambi i computer sono collegati alla rete via cavo Ethernet, e per un esempio presento le seguenti acquisizioni:
In questo caso sto trasferendo una cartella chiamata ISO (che, come puoi dedurre, contiene i file .iso delle distribuzioni che scarico per testare) che si trovava nella directory Download dal mio laptop con Arch Linux, verso la directory Download dal PC di mia madre che usa Debian.
A più di 25 Mbps ovviamente il trasferimento è finito in brevissimo tempo, quindi avrai già potuto verificarlo questo metodo è ideale quando è necessario trasferire file o cartelle di grandi dimensioni.
Infine, va notato che UDP Cast è uno strumento molto potente e con funzioni che vanno ben oltre quelle qui riportate. Se vuoi saperne di più su questa interessante utility, ti consiglio di visitare la sua sito ufficiale.
E dico dalla mia ignoranza, non sarebbe più facile e più comodo con la samba?
Ho provato Samba e non era neanche lontanamente vicino a queste velocità. Ricordo di averlo lasciato acceso tutta la notte e la mattina dopo non era nemmeno a metà.
Esatto.
Buon post!
L'ho usato per trasferire 3.5 GB, l'ho fatto a 82.24 Mb / s di velocità finito in circa 7 minuti. Eccezionale!
Grazie per aver condiviso il software
facile trasferimento con chiunque utilizzi semplicemente il browser
http://jetbytes.com
Ulteriori informazioni:
http://www.visualbeta.es/9010/aplicaciones-web/jetbytes-transferir-archivos-de-manera-sencilla-incluso-a-traves-de-un-firewall/
Questo non lo sapeva, dovrò provarlo. 🙂
Applicazione interessante, utile quando qualche servizio comune è bloccato da qualche fw. Sarebbe necessario conoscere i suoi porti. Ma mi sembra più facile con NFS.
Con NFS la velocità massima che ho raggiunto è di circa 4 Mbps. Come puoi vedere, raggiunge circa 6 volte di più.
Potrebbe essere quello di cui ho bisogno. Devo spostare diversi GiB dal laptop al PC desktop per formattare completamente il laptop.
Proviamo.
PS: il programma comprime ciò che viene inviato all'origine e decomprime a destinazione?
Il programma stesso non si comprime o decomprime. Quello che ha fatto è una catena di comandi.
tar cf - directorio | udp-sender
In questo modo prima comprime la directory con "tar" e poi la invia.
Esattamente. 😉
Ottimo, grazie mille, lo sto già provando, prima con piccole quantità e cose non molto importanti e funziona benissimo!
Con il catrame devi solo imballare, non si comprime.
Per comprimere potresti usare -z per tar.gz o -j per tar.bz2 o anche -J per tar.xz ... Gli ultimi due si comprimono meglio di gzip
Ok, lo strumento è una buona opzione, ma trovo sshfs più efficiente e sicuro.
sshfs è l'ultima opzione che dovresti usare per scambiare file e limitarti a usarlo solo se le operazioni che devi eseguire meritano di essere crittografate poiché l'overhead con cui sovraccarica la macchina su cui gira è DEMENTIALE.
Ottieni la stessa funzione usando NFSv4 e se vuoi puoi combinarlo con AutoFS per montare le risorse condivise solo quando accedi a detta risorsa.
Ebbene, questa utility è interessante, non per la velocità di trasferimento raggiunta (80 Mbps / s), ma per la sua semplicità ...
Per quanto riguarda la velocità di trasferimento, non ho notato nulla di straordinario ... Tenendo conto che la velocità massima di trasferimento in una rete a 100 Mbps / s è esattamente 100 Mbps / s, che equivarrebbe a circa 12 Mb / s. Vedo normale che con udpcast si raggiungano velocità di trasferimento dell'ordine di 85 o 90 Mbps / s, come si ottiene con Samba. Anche se dipende dal sistema operativo che utilizziamo (e dalla qualità della rete fisica), ad esempio in Debian Lenny con Samba non arrivo a 5 o 6 Mb / s invece con SystemRescuecd arrivo a 8 o 9 Mb / S.
Il contributo è buono, ma per questo c'è il mitico 'scp' che diventerebbe un sicuro 'cp' (sì, copia) usando ssh.
Inoltre, dato il nome di detto software, immagino che utilizzi il protocollo UDP. Sebbene la mia conoscenza delle reti non sia molto avanzata, è orientata alla non connessione (in controparte con TCP), e mi fa pensare che possa generare corruzione dei file se alcuni pacchetti vengono persi per motivi X. È come indagare meglio.
Raccomando scp, è molto più semplice e viene preinstallato su qualsiasi distribuzione.
Ovviamente, UDP è molto più veloce di TCP perché non esegue il controllo dei dati, ecco perché ottieni quelle velocità di trasferimento.
Per verificare che il file sia arrivato correttamente puoi fare un md5sum o qualsiasi altro hash ...
Il problema sarebbe che se c'è un errore nel trasferimento, i dati devono essere inviati nuovamente. Per file importanti (come i backup) è meglio usare un altro metodo tramite TCP.
Allo stesso modo, è ancora interessante.
e…. nfs da quanto ho capito è il meccanismo di trasferimento file di rete nativo tra macchine GNU / Linux
Non ha funzionato per me, grazie comunque, ...
ma mi raggiunge solo a 9.03 mbps: 'c
Non funziona per me, strano, rimane solo ricevere e quella poveretta con un file pdf
Linux ha molti vantaggi e servizi come server, è molto comune vedere server in aziende con questo sistema operativo, a causa del costo, della stabilità e dei vantaggi che il software libero ha nei confronti di alcuni sistemi a pagamento che presentano svantaggi in quest'area delle tecnologie .
Un altro modo noto per condividere i file in modo semplice è con il modulo del server web Python, nella cartella in cui vogliamo condividere quello che scriviamo: $ python -m SimpleHTTPServer 8080, sulla macchina che sta per ricevere i file dobbiamo solo aprire il browser e metti l'ip + la porta, ad esempio: 192.168.0.3:8080 e vuala !!
Recentemente ho usato dropy per questo compito.
Non conoscevo questo metodo
Accidenti, sono riuscito a 52 Mb al secondo con questo metodo, trasferendo da un BD modello Raspberry Pi:
Grazie mille, l'ho adorato.
Sai come posso pubblicare le foto qui?
Dovrei fare un post in cui indichi come updcats è installato in unix, che bel post questo
Si è adempiuto! Non volevo configurare un server NFS per qualcosa di veloce e sporco. Ricorda di aprire le porte se sei dietro un firewall.
Eccellente! Grazie! Stavo copiando su samba e mi dava fastidio a 20 KB / s