Copia i file da OSX a / da Pi


13

Ho un Pi che gira senza testa usando ssh e Screen Sharing su OSX e tightvncserver su raspbian.

Posso copiare file dal Mac al / dal Pi usando ssh o Screen Sharing (cioè VNC) o devo usare Samba o simili?


4
Vedi scpe / o sftp. Se il tuo ssh funziona già, dovrebbero essere disponibili. C'è anche un sshfs, che consente il montaggio di condivisioni alla NFS.
Goldilocks

1
scp over ssh funziona bene per me. Io stesso uso Cyberduck per il trasferimento di file, in quanto posso semplicemente trascinare e rilasciare, come in Finder.
Gerben,

1
Ho usato sftp (usando FileZilla) che ha ottenuto i file lì, quindi la query ora è chiusa. (Avrei contrassegnato questo come accettato.)
Milliways

Nota che la crittografia ssh può essere lenta sul Pi. Alcuni anni fa ho scoperto che il pesce palla era un fastidio della CPU.
Thorbjørn Ravn Andersen,

NFS è un'altra opzione e ha più senso nel mondo Unix come è nativo.
jet

Risposte:


18

Nei 6 anni da quando ho pubblicato questa risposta molte cose sono cambiate.
il supporto macOS Samba è migliorato e Apple ora utilizza Samba come predefinito per la condivisione dei file (e afp non funziona con i nuovi file system Apple)
Debian Buster ora utilizza netatalk 3 - che ha cambiamenti significativi e richiede più configurazione per fare qualcosa di utile.
NFS supporta molto meglio nella recente Raspbian, ma ha ancora problemi con il permesso di scrittura da macOS.

Uso tutto ftp, Samba, afp e nfs;
principalmente ftp(Filezilla) per il trasferimento di file di routine da / verso Pi
e Sambaper sfogliare Pi Home e filesystem condivisi e per montare in loop le mie immagini di backup per backup / ripristino.

Ho usato ftp per risolvere il mio problema (come notato sopra), ma recentemente ho scoperto un altro metodo, che altri utenti Mac potrebbero trovare utile.

sudo apt-get install netatalk

Installa il protocollo appletalk sul Pi. Ciò consente di utilizzare quanto segue (al prompt del terminale sul Mac) per connettersi al Pi

open afp://10.1.1.10  (replace this with your Raspberry Pi IP address)

È quindi possibile utilizzare Finder (o qualsiasi altro FileManager, ad esempio QuollEyeTree) per trasferire file da o verso il Pi, utilizzando le stesse tecniche che si utilizzerebbero sul Mac

Nota: questa modifica è di un altro utente e AFAIK non è necessario Se viene visualizzato l'errore Impossibile ottenere un descrittore di file che si riferisce alla console con il comando afp aperto riprovare con sudo, inoltre, assicurarsi di avere configurato l'accesso remoto sul Mac .


@Paul Fort: come l'hai aggiunto originariamente, che cos'è "comando open afp"? "Afp" dovrebbe essere "ftp"?
Peter Mortensen,

@PeterMortensen l'hai provato (o verificato la guida di Mac)?
Milliways,

1
Questo è bellissimo. Lo adoro! Grazie per il suggerimento, non ero a conoscenza della possibilità di farlo.
gdgr

7

se puoi usarlo ssh, molto probabilmente funzionerà anche scp(copia SSH).

installerei comunque samba, perché ci sono troppe winboxen dappertutto e la prossima cosa di cui potresti aver bisogno sarà l'accesso da Windows.


Ho provato scp su Mac, ma mentre questo sembrava funzionare non apparivano file (ho usato "sudo scp -v world2 //pi@10.1.1.10:" e varianti). Ho usato scp (su Pi) per trasferire le chiavi rsa. sftp sembra l'opzione più semplice.
Milliways,

scpdi solito non richiede sudo, dovrebbe funzionare bene senza di essa.
lenik,

scpda un Mac a RPi funziona come previsto e non richiede alcun software aggiuntivo su RPi. netatalkfunziona anche bene, ma ovviamente aggiunge software e spese generali che potrebbero essere utilizzate solo occasionalmente.
Bobstro,

3

Hai provato scpcon la -rbandiera? Perché senza di essa, non eseguirà una copia ricorsiva.

Se stessi cercando di copiare il file o la cartella world2, ecco come lo farei:

$ scp -rv world2 pi@10.1.1.10:/path/to/copy/of/world2/

Comando eccellente. Facile e veloce. Grazie mille.
GutierrezDev,

Puoi semplificare scpmolto l'uso se definisci i tuoi host in ~/.ssh/config(vedi nerderati.com/2011/03/17/… ) - se configuri il tuo host come rpi, puoi usare qualcosa di simile scp -r world2 rpi:/path/to/copy/of/world2/. Nel caso in cui non è ovvio, funziona anche nell'altro senso, ad esempio: scp rpi:.bashrc somedir. Se un percorso non è assoluto, sarà relativo a $HOME.
ccpizza,

3

Se hai molti file, potresti anche prendere in considerazione l'uso di rsync . Saresti in grado di utilizzare il -Pflag (per --partial --progress), che è utile quando stai anticipando un lungo trasferimento con potenziali interruzioni - in questo modo i file parzialmente trasferiti verranno conservati (in circostanze normali vengono eliminati), in modo che quando riprendi il trasferimento, non ci vorrà molto tempo per terminare il trasferimento.

Quindi nel tuo caso potresti fare:

rsync -avP world2/ pi@10.1.1.10:world2

(supponendo che world2è una directory, il comando sarebbe copiare i contenuti del world2alla /world2directory sulla macchina remota)


1

Se si tratta di una soluzione a lungo termine, un'altra opzione è l'installazione di Syncthing o Bittorrent Sync su entrambe le macchine. Mantiene le directory su più macchine sincronizzate e può gestire file e directory di grandi dimensioni. È molto utile come file server, backup e per il trasferimento di file.

Sono appena passato a Syncthing da btsync. La sincronizzazione offre più opzioni e controllo (e btsync ha un codice proprietario).

Il loro pacchetto Debian / Ubuntu su apt.syncthing.net ha funzionato bene per me e ho usato questo tutorial come guida


1

Imposta la condivisione SMB sul tuo Pi, http://raspberrywebserver.com/serveradmin/share-your-raspberry-pis-files-and-folders-across-a-network.html

Quindi, sul tuo Mac, vai a finder> vai> collega al server (cmd + k)> e inserisci l'indirizzo del tuo pi smb://192.Ras.Piquindi puoi navigare nella struttura delle cartelle, copiare / incollare file, ecc.


Perché preoccuparsi di pubblicare una risposta a una domanda di 2 anni con una risposta accettata. Questa non è nemmeno una buona risposta, poiché SMB è una b. di un protocollo. Se hai un Mac prova la risposta.
Milliways,

Perché preoccuparsi di pubblicare un commento inutile a una risposta perfettamente valida, diversa da ogni altra soluzione fornita? Esistono diversi modi per spostare i file da una posizione all'altra, questo non richiede l'installazione di alcun altro software sul Mac e non richiede un uso estensivo del terminale. Perché pubblicarlo su un thread di N anni? A) la soluzione è ancora valida, B) la domanda è ancora pertinente - ho fatto una ricerca su Google questa mattina e questo è il primo risultato C) questa soluzione è diversa dalle altre soluzioni fornite.
jrubins,

Avevo accennato a questo nella domanda originale "o devo usare Samba o simili" e (implicitamente) l'ho escluso.
Milliways,

"O devo usare Samba o simili" non è un linguaggio esclusivo. Quindi mi scuso per averti dato una risposta perfettamente valida che (nella maggior parte dei casi, poiché Samba è già installato su molte distribuzioni RPi) è molto più semplice di qualsiasi altra risposta fornita. Davvero non capisco perché senti il ​​bisogno di discutere con la mia risposta e votarla. Solo perché hai 5000 reputazione su Stack Exchange non significa che non sei un coglione.
jrubins,

0

Basta usare FileZilla e impostare un nuovo sito dal gestore del sito nel menu File. Quindi seleziona SFTP e compila il tuo nome utente e password Rasp e sei a posto.


0

Il modo più semplice che ho trovato è stato usare Cyberduck.

  1. Apri una nuova connessione
  2. Seleziona SFTP dal menu a discesa
  3. Server: inserisci l'indirizzo IP del Pi
  4. Nome utente: dovrebbe essere "pi"
  5. Password: dovrebbe essere "raspberry" per impostazione predefinita a meno che non sia stata modificata

deseleziona l'accesso anonimo e quindi connettiti.


0

L'installazione di MacFusion sul tuo Mac ti permetterà di montare il tuo Pi su SSH, in modo simile a come monteresti una chiavetta USB sul tuo Mac. Quindi puoi utilizzare il Finder per copiare i file in qualsiasi cartella sul Pi come preferisci.

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.