Copiar arquivos do OSX para / do Pi

13

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?

Milliways
fonte
4
Veja scpe / ou sftp. Se o seu ssh já funcionar, eles deverão estar disponíveis. Há também um sshfs, que permite a montagem de ações à la NFS.
goldilocks
1
scp sobre ssh funciona bem para mim. Eu mesmo uso o Cyberduck para transferência de arquivos, pois posso simplesmente arrastar e soltar, como no localizador.
Gerben
1
Eu usei o sftp (usando o FileZilla), que obteve os arquivos lá, então a consulta está encerrada. (I teria marcado isso como aceito.)
Milliways
Observe que a criptografia ssh pode ser lenta no Pi. Eu descobri que o blowfish era uma CPU rápida há alguns anos.
Thorbjørn Ravn Andersen
O NFS é outra opção e faz mais sentido no mundo Unix, como é nativo.
jet

Respostas:

18

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;
principalmente ftp(Filezilla) para transferência de arquivos de rotina de / para o Pi
e Sambapara 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 .

Milliways
fonte
@ Paul Fort: como você adicionou originalmente, o que é "comando open afp"? "Afp" deve ser "ftp"?
Peter Mortensen
@PeterMortensen você já tentou (ou consultou a ajuda do Mac)?
Milliways
1
Isso é incrível. Adoro! Obrigado pela dica, não estava ciente da capacidade de fazer isso.
gdgr
7

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.

lenik
fonte
Eu tentei o scp no Mac, mas enquanto isso parecia funcionar, nenhum arquivo apareceu (usei "sudo scp -v world2 //[email protected]:" e variantes). Eu usei o scp (no Pi) para transferir chaves rsa. O sftp parece a opção mais fácil.
Milliways
scpgeralmente não requer sudo, deve funcionar bem sem ele.
111313
scpde um Mac para o RPi funciona conforme o esperado e não requer nenhum software adicional no RPi. netatalkfunciona bem também, mas é claro, adiciona software e sobrecarga que podem ser usados ​​apenas ocasionalmente.
Bobstro # 1/15
3

Você tentou scpcom a -rbandeira? 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 [email protected]:/path/to/copy/of/world2/
3cheesewheel
fonte
Excelente comando. Rápido e fácil. Muito obrigado.
GutierrezDev
Você pode scpfacilitar 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.
Ccpizza 11/11
3

Se você tiver muitos arquivos, considere também usar o rsync . Você poderá usar o -Psinalizador (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/ [email protected]:world2

(assumindo que world2é um diretório, o comando seria copiar os conteúdos de world2que o /world2diretório na máquina remota)

3cheesewheel
fonte
1

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

SteveLambert
fonte
1

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.Pie navegue na estrutura de pastas, copie / cole arquivos etc.

jrubins
fonte
Por que se preocupar em postar uma resposta para uma pergunta de 2 anos com uma resposta aceita? Esta nem é uma boa resposta, pois SMB é um b. de um protocolo. Se você possui um Mac, tente a resposta.
Milliways
Por que se incomodar em postar um comentário inútil em uma resposta perfeitamente boa, diferente de qualquer outra solução fornecida? Existem várias maneiras de mover arquivos de um lugar para outro, este não requer a instalação de nenhum outro software no mac e não requer uso extensivo do terminal. Por que publicá-lo em um tópico de N anos? A) a solução ainda é boa, B) a questão ainda é relevante - fiz uma pesquisa no google esta manhã e este é o primeiro resultado C) essa solução é diferente das outras soluções fornecidas.
Jrubins
Eu aludei a isso na pergunta original "ou preciso usar o Samba ou similar" e (implicitamente) o excluí.
Milliways
"Ou eu preciso usar o Samba ou similar" não é um idioma exclusivo. Portanto, peço desculpas por fornecer uma resposta perfeitamente boa que (na maioria dos casos, já que o Samba já está instalado em muitas distribuições de RPi) é muito mais fácil do que qualquer outra resposta fornecida. Realmente não vejo por que você sente a necessidade de discutir com a minha resposta e rebaixá-la. Só porque você tem 5000 reputação no Stack Exchange não significa que você não está sendo um idiota.
Jrubins 1/1
0

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.

Marco Almeida
fonte
0

A maneira mais fácil que encontrei foi usar o Cyberduck.

  1. Abrir nova conexão
  2. Selecione SFTP no menu suspenso
  3. Servidor: coloque o endereço IP do Pi
  4. Nome de usuário: deve ser 'pi'
  5. Senha: deve ser 'raspberry' por padrão, a menos que você a altere

desmarque o login anônimo e conecte-se.

saqehi
fonte
0

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.

Lukas Vermeer
fonte