Como transferir arquivos entre um Mac e o Linux
Para mover arquivos entre um Mac e o Linux, copie-os com rsync por SSH, compartilhe uma pasta do Mac e abra-a no seu gerenciador de arquivos do Linux, ou compartilhe uma pasta do Linux com o Samba. Cada um exige configuração nos dois computadores, e o compartilhamento de arquivos é lento com pastas de arquivos pequenos.
Por que isso é mais difícil do que deveria
- Nenhum envio rápido em comum. O AirDrop é só da Apple, e os desktops Linux não têm nada que o Mac entenda.
- Todos os métodos exigem contas e senhas. O SSH e o Compartilhamento de Arquivos do Mac fazem login com a conta do Mac. O Samba precisa de uma senha própria, separada.
- O Linux não compartilha pastas com o Mac por padrão. Você instala e configura o Samba e abre o firewall. No Fedora e distribuições parecidas, o SELinux também precisa permitir a pasta compartilhada.
- O Samba precisa de ajustes específicos para Mac. Sem as opções de compatibilidade com a Apple, o Finder deixa arquivos ocultos extras
._ao lado dos seus. - A ligação por cabo precisa de endereços. O Mac atribui a si mesmo um endereço 169.254 no cabo. O Linux muitas vezes espera um servidor DHCP que não existe e não recebe nenhum endereço IPv4.
- Arquivos pequenos se arrastam. Nos nossos testes, um Mac levou quase quatro minutos para copiar 20.000 arquivos pequenos (331 MB) para um compartilhamento Samba numa ligação Thunderbolt de 10 Gb/s.
- Unidades não passam de um sistema para o outro. O Mac não grava em unidades ext4 ou btrfs do Linux, e o Linux lida mal com unidades APFS do Mac. Só o exFAT funciona bem nos dois.
- Cabos podem rodar na metade da velocidade. Nos nossos testes, um notebook com Linux e um Mac se conectaram por uma única via de 20 Gb/s de um cabo de 40 Gb/s.
Ligar o cabo e descobrir o endereço de cada computador
Se os dois computadores têm Thunderbolt ou USB4, um cabo entre eles cria uma ligação de rede direta. O Mac a chama de Ponte Thunderbolt, e o Linux a chama de thunderbolt0. Sem essas portas, use a sua rede doméstica e os endereços dela. Veja transferir arquivos com Thunderbolt.
No Mac
- Conecte o cabo.
- Em Ajustes do Sistema, escolha Rede e depois Ponte Thunderbolt.
- Clique em Detalhes… e anote o endereço IP. Sem mais nada no cabo, ele começa com 169.254.
No computador com Linux
Num terminal, rode este comando. Ele só lê as configurações:
ip -4 addr show thunderbolt0Uma linha inet 169.254… é o endereço do cabo. Se não houver linha inet, o NetworkManager ainda está esperando o DHCP. Dê ao cabo um endereço autoatribuído:
- Em Configurações, escolha Rede e clique no botão de configurações ao lado da conexão cabeada do cabo.
- Na aba IPv4, escolha Somente link-local e clique em Aplicar.
- Desligue e ligue a conexão de novo e rode o comando
ipoutra vez.
Sempre conecte pelo endereço 169.254, não pelo nome do computador. Um nome pode achar o endereço do Wi-Fi do computador, e a cópia passa pelo Wi-Fi.
Opção 1: rsync por SSH, num terminal
O rsync serve para quem se sente à vontade num terminal. Ele copia pastas inteiras, e se uma cópia parar, rodá-lo de novo pula os arquivos já copiados. O computador com Linux roda todos os comandos, então só o Mac precisa ser configurado.
No Mac
- Em Ajustes do Sistema, escolha Geral, depois Compartilhamento, e ative Login Remoto.
- Clique no botão de informações ao lado de Login Remoto e confira se a sua conta tem permissão.
- Para copiar da Mesa, de Documentos ou de Downloads, ative Permitir acesso total ao disco para usuários remotos no mesmo painel. Sem isso, o macOS recusa essas pastas com «Operation not permitted».
No computador com Linux
- Num terminal, rode
rsync -a --progress user@address:/Users/user/Projects/ ~/Projects/. Troqueuserpelo nome abreviado da conta do Mac (o nome da pasta pessoal dela) eaddresspelo endereço 169.254 do Mac. - Na primeira vez, o SSH pergunta se deve confiar no Mac. Digite
yes. - Digite a senha da conta do Mac. O rsync lista cada arquivo enquanto copia.
Inverta os dois caminhos para copiar no outro sentido. A / no final importa: com ela, o rsync copia o conteúdo da pasta, e sem ela, a própria pasta. Coloque aspas em caminhos com espaços. Não há nada para navegar, então você precisa dos caminhos exatos antes de começar.
Opção 2: compartilhar uma pasta do Mac e abri-la no Linux
O Compartilhamento de Arquivos do Mac não precisa de nenhum software no Linux. O Arquivos do GNOME e a maioria dos outros gerenciadores de arquivos do Linux abrem compartilhamentos SMB.
No Mac
- Em Ajustes do Sistema, escolha Geral, depois Compartilhamento, e ative Compartilhamento de Arquivos.
- Clique no botão de informações ao lado de Compartilhamento de Arquivos. Em Pastas Compartilhadas, clique em + e escolha a pasta.
- Em Usuários, defina a sua conta como Leitura e Gravação se o Linux precisar copiar arquivos para dentro.
- Clique em Opções…, selecione a sua conta em Compartilhamento de Arquivos do Windows, digite a senha dela e clique em OK. Sem esse passo, o Linux não consegue fazer login.
No computador com Linux
- No Arquivos, pressione Ctrl+L, digite
smb://e o endereço do Mac, por exemplosmb://169.254.20.30, e pressione Enter. - Escolha Usuário registrado, digite o nome abreviado e a senha da conta do Mac e clique em Conectar.
- Abra a pasta compartilhada. Arraste arquivos para dentro ou para fora.
Arquivos grandes copiam bem assim. Pastas de arquivos pequenos são lentas, porque o compartilhamento de arquivos abre, grava e fecha cada arquivo por vez.
Opção 3: compartilhar uma pasta do Linux com o Samba
Compartilhe a partir do Linux quando quiser navegar pelos arquivos do computador com Linux no Finder. Cada comando abaixo altera o sistema e precisa da sua senha para o sudo. Troque you pelo seu nome de usuário do Linux.
No computador com Linux
- Instale o Samba:
sudo dnf install sambano Fedora, ousudo apt install sambano Ubuntu. - Adicione o compartilhamento ao fim de
/etc/samba/smb.conf, como mostrado abaixo. A linhafruitadiciona as opções de compatibilidade com a Apple. - Defina uma senha do Samba para o seu usuário com
sudo smbpasswd -a you. Ela é separada da sua senha de login. - Abra o firewall. No Fedora, rode
sudo firewall-cmd --permanent --add-service=sambae depoissudo firewall-cmd --reload. No Ubuntu, o firewall fica desligado a menos que você o tenha ligado. Se estiver ligado, rodesudo ufw allow samba. - No Fedora, deixe o SELinux compartilhar a pasta:
sudo semanage fcontext -a -t samba_share_t "/home/you/Projects(/.*)?"e depoissudo restorecon -R /home/you/Projects. - Inicie o Samba:
sudo systemctl enable --now smbno Fedora, ousudo systemctl restart smbdno Ubuntu.
[Projects]
path = /home/you/Projects
valid users = you
read only = no
vfs objects = catia fruit streams_xattrNo Mac
- No Finder, escolha Ir > Conectar ao Servidor….
- Digite
smb://e o endereço do computador com Linux, por exemplosmb://169.254.40.50, e clique em Conectar. - Escolha Usuário Registrado, digite o seu nome de usuário do Linux e a senha do Samba e clique em Conectar.
- Escolha o compartilhamento Projects. Ele abre no Finder.
Nos nossos testes numa ligação Thunderbolt de 10 Gb/s, um Mac copiou 20.000 arquivos pequenos (331 MB) de um compartilhamento Samba em 114 segundos, e para ele em 238 segundos. Um arquivo de 4 GiB copiou a cerca de 7,6 Gb/s nos dois sentidos.
Depois do repouso, de reiniciar ou de tirar o cabo
Todas as opções aqui só funcionam enquanto a ligação do cabo está ativa. Quando um dos computadores entra em repouso ou você tira o cabo, a conexão cai.
- O rsync para com um erro de conexão. Rode o mesmo comando de novo. Ele pula os arquivos que já chegaram.
- As pastas compartilhadas desconectam. O Finder avisa que a conexão com o servidor foi interrompida, e o Arquivos fecha o compartilhamento. Conecte e faça login de novo.
- O endereço pode mudar. Endereços autoatribuídos podem mudar depois que você desconecta, então descubra-os de novo antes de reconectar.
- Depois de reiniciar, o compartilhamento continua ativado. O Login Remoto, o Compartilhamento de Arquivos e um serviço Samba habilitado iniciam de novo sozinhos. Você ainda precisa reconectar a partir do outro computador.
Veja por que um compartilhamento de rede desconecta depois do repouso.
Opção 4: uma unidade exFAT
Formate uma unidade em exFAT e copie arquivos para ela e dela. Não precisa de configuração em nenhum dos computadores e funciona sem Thunderbolt ou USB4, mas cada arquivo é copiado duas vezes e a unidade precisa de espaço livre suficiente.