Eu tenho um Pi rodando sem cabeça usando ssh e Screen Sharing no OSX e tightvncserver no raspbian.
Posso copiar arquivos do Mac para / do Pi usando ssh ou Screen Sharing (por exemplo, VNC) ou preciso usar o Samba ou similar?
Eu tenho um Pi rodando sem cabeça usando ssh e Screen Sharing no OSX e tightvncserver no raspbian.
Posso copiar arquivos do Mac para / do Pi usando ssh ou Screen Sharing (por exemplo, VNC) ou preciso usar o Samba ou similar?
Respostas:
Nos 6 anos desde que publiquei esta resposta, muitas coisas mudaram.
O suporte ao macOS Samba melhorou e a Apple agora usa o Samba como padrão para compartilhamento de arquivos (e o afp não funciona com os novos arquivos da Apple) O
Debian Buster agora usa o netatalk 3 - que possui alterações significativas e requer mais configuração para fazer qualquer coisa útil.
O nfs suporta muito melhor no Raspbian recente, mas ainda tem problemas com a permissão de gravação do macOS.Eu uso todo o ftp, samba, afp e nfs;
principalmenteftp
(Filezilla) para transferência de arquivos de rotina de / para o Pi
eSamba
para navegar no Pi Home e sistemas de arquivos compartilhados e montar em loop minhas imagens de backup para backup / restauração.
Usei o ftp para resolver meu problema (como mencionado acima), mas descobri recentemente outro método, que outros usuários de Mac podem achar útil.
sudo apt-get install netatalk
Instala o protocolo appletalk no Pi. Isso permite que você use o seguinte (no prompt do terminal no Mac) para conectar-se ao Pi
open afp://10.1.1.10 (replace this with your Raspberry Pi IP address)
Você pode usar o Finder (ou qualquer outro FileManager, por exemplo, QuollEyeTree) para transferir arquivos de ou para o Pi, usando as mesmas técnicas que você usaria no Mac
Nota: Esta edição é feita por outro usuário e o AFAIK é desnecessário. Se você receber o erro Não foi possível obter um descritor de arquivo referente ao console com o comando open afp, tente novamente com o sudo. Verifique também se o login remoto está configurado no seu mac .
se você pode usar ssh
, provavelmente scp
(cópia SSH) também funcionará.
eu instalaria o samba de qualquer maneira, porque há muitos winboxen em todos os lugares e a próxima coisa que você precisa será o acesso pelo windows.
scp
geralmente não requer sudo
, deve funcionar bem sem ele.
scp
de um Mac para o RPi funciona conforme o esperado e não requer nenhum software adicional no RPi. netatalk
funciona bem também, mas é claro, adiciona software e sobrecarga que podem ser usados apenas ocasionalmente.
Você tentou scp
com a -r
bandeira? Porque sem ele, não será executada uma cópia recursiva.
Se você estava procurando copiar o arquivo ou a pasta world2
, é assim que eu faria:
$ scp -rv world2 pi@10.1.1.10:/path/to/copy/of/world2/
scp
facilitar a utilização se definir seus hosts em ~/.ssh/config
(consulte nerderati.com/2011/03/17/… ) - se você configurar seu host como rpi
, poderá usar algo como scp -r world2 rpi:/path/to/copy/of/world2/
. Apenas no caso não é óbvio, ele funciona de outra maneira também, por exemplo: scp rpi:.bashrc somedir
. Se um caminho não for absoluto, será relativo a $HOME
.
Se você tiver muitos arquivos, considere também usar o rsync . Você poderá usar o -P
sinalizador (para --partial --progress
), o que é útil quando você antecipa uma longa transferência com possíveis interrupções - dessa forma, os arquivos parcialmente transferidos serão retidos (em circunstâncias normais, eles serão excluídos), para que quando você retomar a transferência, não demorará muito para concluir a transferência.
Então, no seu caso, você poderia fazer:
rsync -avP world2/ pi@10.1.1.10:world2
(assumindo que world2
é um diretório, o comando seria copiar os conteúdos de world2
que o /world2
diretório na máquina remota)
Se for uma solução de longo prazo, outra opção é instalar o Syncthing ou o Bittorrent Sync nas duas máquinas. Ele mantém os diretórios em várias máquinas sincronizados e pode lidar com arquivos e diretórios grandes. É muito útil como servidor de arquivos, backup e transferência de arquivos.
Acabei de mudar para o Syncthing do btsync. A sincronização fornece mais opções e controle (e o btsync possui código proprietário).
O pacote Debian / Ubuntu no apt.syncthing.net funcionou bem para mim e eu usei este tutorial como um guia
Configure o compartilhamento SMB no seu Pi, http://raspberrywebserver.com/serveradmin/share-your-raspberry-pis-files-and-folders-across-a-network.html
Em seguida, no seu Mac, vá para o localizador> vá> conectar-se ao servidor (cmd + k)> e digite o endereço do seu pi smb://192.Ras.Pi
e navegue na estrutura de pastas, copie / cole arquivos etc.
Basta usar o FileZilla e definir um novo site no Gerenciador de sites no menu Arquivo. Em seguida, selecione SFTP e preencha com seu nome de usuário e senha Rasp e pronto.
A maneira mais fácil que encontrei foi usar o Cyberduck.
desmarque o login anônimo e conecte-se.
A instalação do MacFusion no seu Mac permitirá que você monte seu Pi sobre SSH, semelhante a como você montaria um pendrive no seu Mac. Em seguida, você pode usar o localizador para copiar arquivos para qualquer pasta no Pi, como desejar.
scp
e / ousftp
. Se o seu ssh já funcionar, eles deverão estar disponíveis. Há também umsshfs
, que permite a montagem de ações à la NFS.