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?
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?
Risposte:
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;
principalmenteftp
(Filezilla) per il trasferimento di file di routine da / verso Pi
eSamba
per 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 .
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.
scp
di solito non richiede sudo
, dovrebbe funzionare bene senza di essa.
scp
da un Mac a RPi funziona come previsto e non richiede alcun software aggiuntivo su RPi. netatalk
funziona anche bene, ma ovviamente aggiunge software e spese generali che potrebbero essere utilizzate solo occasionalmente.
Hai provato scp
con la -r
bandiera? 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/
scp
molto 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
.
Se hai molti file, potresti anche prendere in considerazione l'uso di rsync . Saresti in grado di utilizzare il -P
flag (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 world2
alla /world2
directory sulla macchina remota)
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
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.Pi
quindi puoi navigare nella struttura delle cartelle, copiare / incollare file, ecc.
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.
Il modo più semplice che ho trovato è stato usare Cyberduck.
deseleziona l'accesso anonimo e quindi connettiti.
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.
scp
e / osftp
. Se il tuo ssh funziona già, dovrebbero essere disponibili. C'è anche unsshfs
, che consente il montaggio di condivisioni alla NFS.