Cómo transferir archivos entre un Mac y Linux
Para mover archivos entre un Mac y Linux, cópialos con rsync por SSH, comparte una carpeta del Mac y ábrela en tu gestor de archivos de Linux, o comparte una carpeta de Linux con Samba. Todos necesitan configuración en los dos ordenadores, y compartir archivos es lento con carpetas de archivos pequeños.
Por qué es más difícil de lo que debería
- Sin envío rápido común. AirDrop es solo de Apple, y los escritorios Linux no tienen nada que el Mac entienda.
- Todos los métodos necesitan cuentas y contraseñas. SSH y Compartir archivos del Mac inician sesión con la cuenta del Mac. Samba necesita su propia contraseña aparte.
- Linux no comparte carpetas con un Mac por defecto. Tienes que instalar y configurar Samba y abrir el cortafuegos. En Fedora y distribuciones parecidas, SELinux también tiene que permitir la carpeta compartida.
- Samba necesita ajustes específicos para Mac. Sin las opciones de compatibilidad con Apple, el Finder deja archivos ocultos
._adicionales junto a los tuyos. - El enlace por cable necesita direcciones. El Mac se asigna una dirección 169.254 en el cable. Linux a menudo espera a un servidor DHCP que no existe y no obtiene ninguna dirección IPv4.
- Los archivos pequeños van a paso de tortuga. En nuestras pruebas, un Mac tardó casi cuatro minutos en copiar 20.000 archivos pequeños (331 MB) a una carpeta compartida de Samba por un enlace Thunderbolt de 10 Gb/s.
- Las unidades no pasan de un sistema a otro. Un Mac no puede escribir en unidades ext4 o btrfs de Linux, y Linux maneja mal las unidades APFS del Mac. Solo exFAT funciona bien en ambos.
- Los cables pueden ir a media velocidad. En nuestras pruebas, un portátil con Linux y un Mac se conectaron por un solo carril de 20 Gb/s de un cable de 40 Gb/s.
Conectar el cable y buscar la dirección de cada ordenador
Si los dos ordenadores tienen Thunderbolt o USB4, un cable entre ellos da un enlace de red directo. El Mac lo llama Puente Thunderbolt, y Linux lo llama thunderbolt0. Sin esos puertos, usa tu red doméstica y sus direcciones. Consulta transferir archivos con Thunderbolt.
En el Mac
- Conecta el cable.
- En Ajustes del Sistema, elige Red y luego Puente Thunderbolt.
- Haz clic en Detalles… y anota la dirección IP. Si no hay nada más en el cable, empieza por 169.254.
En el ordenador con Linux
En un terminal, ejecuta este comando. Solo lee los ajustes:
ip -4 addr show thunderbolt0Una línea inet 169.254… es la dirección del cable. Si no hay ninguna línea inet, NetworkManager sigue esperando al DHCP. Da al cable una dirección autoasignada:
- En Configuración, elige Red y luego haz clic en el botón de ajustes junto a la conexión cableada del cable.
- En la pestaña IPv4, elige Solo enlace local y haz clic en Aplicar.
- Desactiva la conexión y vuelve a activarla, y luego ejecuta otra vez el comando
ip.
Conéctate siempre con la dirección 169.254, no con el nombre del ordenador. Un nombre puede encontrar en su lugar la dirección wifi del ordenador, y entonces la copia va por wifi.
Opción 1: rsync por SSH, desde un terminal
rsync va bien para quien se maneja con soltura en un terminal. Copia carpetas enteras y, si una copia se detiene, al volver a ejecutarlo se salta los archivos ya copiados. El ordenador con Linux ejecuta todos los comandos, así que solo hay que configurar el Mac.
En el Mac
- En Ajustes del Sistema, elige General, luego Compartir, y activa Sesión remota.
- Haz clic en el botón de información junto a Sesión remota y comprueba que tu cuenta está permitida.
- Para copiar desde Escritorio, Documentos o Descargas, activa Permitir acceso total al disco a los usuarios remotos en el mismo panel. Sin ello, macOS rechaza esas carpetas con «Operation not permitted».
En el ordenador con Linux
- En un terminal, ejecuta
rsync -a --progress user@address:/Users/user/Projects/ ~/Projects/. Sustituyeuserpor el nombre corto de la cuenta del Mac (el nombre de su carpeta de inicio) yaddresspor la dirección 169.254 del Mac. - La primera vez, SSH pregunta si confiar en el Mac. Escribe
yes. - Escribe la contraseña de la cuenta del Mac. rsync muestra cada archivo a medida que lo copia.
Intercambia las dos rutas para copiar en el otro sentido. La / final importa: con ella, rsync copia el contenido de la carpeta, y sin ella, la propia carpeta. Pon entre comillas las rutas que contengan espacios. No hay nada que explorar, así que necesitas las rutas exactas antes de empezar.
Opción 2: compartir una carpeta del Mac y abrirla en Linux
Compartir archivos del Mac no necesita ningún software en Linux. Archivos de GNOME y la mayoría de los demás gestores de archivos de Linux abren carpetas compartidas SMB.
En el Mac
- En Ajustes del Sistema, elige General, luego Compartir, y activa Compartir archivos.
- Haz clic en el botón de información junto a Compartir archivos. En Carpetas compartidas, haz clic en + y elige la carpeta.
- En Usuarios, pon tu cuenta en Leer y escribir si Linux necesita copiar archivos hacia el Mac.
- Haz clic en Opciones…, selecciona tu cuenta en Compartir archivos de Windows, escribe su contraseña y haz clic en OK. Sin este paso, Linux no puede iniciar sesión.
En el ordenador con Linux
- En Archivos, pulsa Ctrl+L, escribe
smb://y la dirección del Mac, por ejemplosmb://169.254.20.30, y pulsa Intro. - Elige Usuario registrado, escribe el nombre corto y la contraseña de la cuenta del Mac y haz clic en Conectar.
- Abre la carpeta compartida. Arrastra archivos hacia dentro o hacia fuera.
Los archivos grandes se copian bien de esta forma. Las carpetas de archivos pequeños van lentas, porque el uso compartido de archivos abre, escribe y cierra cada archivo por turnos.
Opción 3: compartir una carpeta de Linux con Samba
Comparte desde Linux cuando quieras explorar los archivos del ordenador con Linux en el Finder. Cada comando de abajo cambia el sistema y necesita tu contraseña para sudo. Sustituye you por tu nombre de usuario de Linux.
En el ordenador con Linux
- Instala Samba:
sudo dnf install sambaen Fedora, osudo apt install sambaen Ubuntu. - Añade la carpeta compartida al final de
/etc/samba/smb.conf, como se muestra abajo. La líneafruitañade las opciones de compatibilidad con Apple. - Define una contraseña de Samba para tu usuario con
sudo smbpasswd -a you. Es distinta de tu contraseña de inicio de sesión. - Abre el cortafuegos. En Fedora, ejecuta
sudo firewall-cmd --permanent --add-service=sambay luegosudo firewall-cmd --reload. En Ubuntu, el cortafuegos está desactivado salvo que lo hayas activado. Si está activado, ejecutasudo ufw allow samba. - En Fedora, deja que SELinux comparta la carpeta:
sudo semanage fcontext -a -t samba_share_t "/home/you/Projects(/.*)?"y luegosudo restorecon -R /home/you/Projects. - Inicia Samba:
sudo systemctl enable --now smben Fedora, osudo systemctl restart smbden Ubuntu.
[Projects]
path = /home/you/Projects
valid users = you
read only = no
vfs objects = catia fruit streams_xattrEn el Mac
- En el Finder, elige Ir > Conectarse al servidor….
- Escribe
smb://y la dirección del ordenador con Linux, por ejemplosmb://169.254.40.50, y haz clic en Conectar. - Elige Usuario registrado, escribe tu nombre de usuario de Linux y tu contraseña de Samba y haz clic en Conectar.
- Elige la carpeta compartida Projects. Se abre en el Finder.
En nuestras pruebas con un enlace Thunderbolt de 10 Gb/s, un Mac copió 20.000 archivos pequeños (331 MB) desde una carpeta compartida de Samba en 114 segundos, y hacia ella en 238 segundos. Un archivo de 4 GiB se copió a unos 7,6 Gb/s en los dos sentidos.
Tras el reposo, un reinicio o desenchufar
Todas estas opciones solo funcionan mientras el enlace del cable está activo. Cuando cualquiera de los ordenadores entra en reposo o desenchufas el cable, la conexión se cae.
- rsync se detiene con un error de conexión. Vuelve a ejecutar el mismo comando. Se salta los archivos que ya llegaron.
- Las carpetas compartidas se desconectan. El Finder avisa de que la conexión con el servidor se ha interrumpido, y Archivos cierra la carpeta compartida. Vuelve a conectarte e iniciar sesión.
- La dirección puede cambiar. Las direcciones autoasignadas pueden cambiar después de desenchufar, así que vuelve a buscarlas antes de reconectar.
- Tras un reinicio, el uso compartido sigue activado. Sesión remota, Compartir archivos y un servicio Samba habilitado vuelven a arrancar solos. Aun así, tienes que volver a conectarte desde el otro ordenador.
Consulta por qué una carpeta compartida en red se desconecta tras el reposo.
Opción 4: una unidad exFAT
Formatea una unidad en exFAT y copia archivos a ella y desde ella. No necesita configuración en ninguno de los dos ordenadores y funciona sin Thunderbolt ni USB4, pero cada archivo se copia dos veces y la unidad necesita espacio libre suficiente.