Comment transférer des fichiers entre un Mac et Linux
Pour déplacer des fichiers entre un Mac et Linux, copiez-les avec rsync par SSH, partagez un dossier du Mac et ouvrez-le dans votre gestionnaire de fichiers Linux, ou partagez un dossier Linux avec Samba. Chaque méthode demande une configuration sur les deux ordinateurs, et le partage de fichiers est lent avec les dossiers de petits fichiers.
Pourquoi c’est plus compliqué que ça ne devrait l’être
- Pas d’envoi rapide commun. AirDrop est réservé à Apple, et les bureaux Linux n’ont rien que le Mac comprenne.
- Chaque méthode demande des comptes et des mots de passe. SSH et le partage de fichiers du Mac se connectent avec le compte Mac. Samba a besoin de son propre mot de passe distinct.
- Linux ne partage pas de dossiers avec un Mac par défaut. Il faut installer et configurer Samba et ouvrir le pare-feu. Sur Fedora et les distributions similaires, SELinux doit aussi autoriser le dossier partagé.
- Samba a besoin de réglages spécifiques au Mac. Sans les options de compatibilité Apple, le Finder laisse des fichiers cachés
._supplémentaires à côté des vôtres. - La liaison par câble a besoin d’adresses. Le Mac s’attribue une adresse en 169.254 sur le câble. Linux attend souvent un serveur DHCP qui n’existe pas et n’obtient aucune adresse IPv4.
- Les petits fichiers se traînent. Lors de nos tests, un Mac a mis près de quatre minutes à copier 20 000 petits fichiers (331 Mo) vers un partage Samba sur une liaison Thunderbolt à 10 Gb/s.
- Les disques ne passent pas d’un système à l’autre. Un Mac ne peut pas écrire sur les disques ext4 ou btrfs de Linux, et Linux gère mal les disques APFS du Mac. Seul exFAT fonctionne bien sur les deux.
- Les câbles peuvent tourner à mi-vitesse. Lors de nos tests, un portable Linux et un Mac se sont connectés sur une seule voie à 20 Gb/s d’un câble à 40 Gb/s.
Brancher le câble et trouver l’adresse de chaque ordinateur
Si les deux ordinateurs ont Thunderbolt ou USB4, un câble entre eux offre une liaison réseau directe. Le Mac l’appelle Pont Thunderbolt, et Linux la nomme thunderbolt0. Sans ces ports, utilisez votre réseau domestique et ses adresses. Voir transférer des fichiers avec Thunderbolt.
Sur le Mac
- Branchez le câble.
- Dans Réglages Système, choisissez Réseau, puis Pont Thunderbolt.
- Cliquez sur Détails… et notez l’adresse IP. Sans rien d’autre sur le câble, elle commence par 169.254.
Sur l’ordinateur Linux
Dans un terminal, lancez cette commande. Elle se contente de lire les réglages :
ip -4 addr show thunderbolt0Une ligne inet 169.254… donne l’adresse du câble. S’il n’y a pas de ligne inet, NetworkManager attend encore le DHCP. Donnez au câble une adresse auto-attribuée :
- Dans Paramètres, choisissez Réseau, puis cliquez sur le bouton des réglages à côté de la connexion filaire du câble.
- Dans l’onglet IPv4, choisissez Lien local uniquement et cliquez sur Appliquer.
- Désactivez puis réactivez la connexion, puis relancez la commande
ip.
Connectez-vous toujours avec l’adresse en 169.254, pas avec le nom de l’ordinateur. Un nom peut trouver l’adresse Wi-Fi de l’ordinateur à la place, et la copie passe alors par le Wi-Fi.
Option 1 : rsync par SSH, depuis un terminal
rsync convient à qui est à l’aise dans un terminal. Il copie des dossiers entiers, et si une copie s’arrête, la relancer ignore les fichiers déjà copiés. L’ordinateur Linux exécute toutes les commandes, donc seul le Mac doit être configuré.
Sur le Mac
- Dans Réglages Système, choisissez Général, puis Partage, et activez Session à distance.
- Cliquez sur le bouton d’informations à côté de Session à distance et vérifiez que votre compte est autorisé.
- Pour copier depuis Bureau, Documents ou Téléchargements, activez Autoriser l’accès complet au disque pour les utilisateurs distants dans le même panneau. Sans cela, macOS refuse ces dossiers avec « Operation not permitted ».
Sur l’ordinateur Linux
- Dans un terminal, lancez
rsync -a --progress user@address:/Users/user/Projects/ ~/Projects/. Remplacezuserpar le nom court du compte Mac (le nom de son dossier de départ) etaddresspar l’adresse en 169.254 du Mac. - La première fois, SSH demande s’il faut faire confiance au Mac. Tapez
yes. - Tapez le mot de passe du compte Mac. rsync liste chaque fichier pendant la copie.
Inversez les deux chemins pour copier dans l’autre sens. Le / final compte : avec lui, rsync copie le contenu du dossier, et sans lui, le dossier lui-même. Mettez entre guillemets les chemins qui contiennent des espaces. Il n’y a rien à parcourir, il vous faut donc les chemins exacts avant de commencer.
Option 2 : partager un dossier du Mac et l’ouvrir sous Linux
Le partage de fichiers du Mac ne demande aucun logiciel sous Linux. Fichiers de GNOME et la plupart des autres gestionnaires de fichiers Linux ouvrent les partages SMB.
Sur le Mac
- Dans Réglages Système, choisissez Général, puis Partage, et activez le Partage de fichiers.
- Cliquez sur le bouton d’informations à côté de Partage de fichiers. Sous Dossiers partagés, cliquez sur + et choisissez le dossier.
- Sous Utilisateurs, réglez votre compte sur Lecture et écriture si Linux doit y copier des fichiers.
- Cliquez sur Options…, sélectionnez votre compte sous Partage de fichiers Windows, tapez son mot de passe et cliquez sur OK. Sans cette étape, Linux ne peut pas se connecter.
Sur l’ordinateur Linux
- Dans Fichiers, appuyez sur Ctrl+L, tapez
smb://et l’adresse du Mac, par exemplesmb://169.254.20.30, et appuyez sur Entrée. - Choisissez Utilisateur enregistré, tapez le nom court et le mot de passe du compte Mac, et cliquez sur Se connecter.
- Ouvrez le dossier partagé. Faites glisser des fichiers vers lui ou depuis lui.
Les gros fichiers se copient bien de cette façon. Les dossiers de petits fichiers sont lents, car le partage de fichiers ouvre, écrit et ferme chaque fichier tour à tour.
Option 3 : partager un dossier Linux avec Samba
Partagez depuis Linux quand vous voulez parcourir les fichiers de l’ordinateur Linux dans le Finder. Chaque commande ci-dessous modifie le système et demande votre mot de passe pour sudo. Remplacez you par votre nom d’utilisateur Linux.
Sur l’ordinateur Linux
- Installez Samba :
sudo dnf install sambasur Fedora, ousudo apt install sambasur Ubuntu. - Ajoutez le partage à la fin de
/etc/samba/smb.conf, comme ci-dessous. La lignefruitajoute les options de compatibilité Apple. - Définissez un mot de passe Samba pour votre utilisateur avec
sudo smbpasswd -a you. Il est distinct de votre mot de passe de session. - Ouvrez le pare-feu. Sur Fedora, lancez
sudo firewall-cmd --permanent --add-service=samba, puissudo firewall-cmd --reload. Sur Ubuntu, le pare-feu est désactivé sauf si vous l’avez activé. S’il est activé, lancezsudo ufw allow samba. - Sur Fedora, autorisez SELinux à partager le dossier :
sudo semanage fcontext -a -t samba_share_t "/home/you/Projects(/.*)?", puissudo restorecon -R /home/you/Projects. - Démarrez Samba :
sudo systemctl enable --now smbsur Fedora, ousudo systemctl restart smbdsur Ubuntu.
[Projects]
path = /home/you/Projects
valid users = you
read only = no
vfs objects = catia fruit streams_xattrSur le Mac
- Dans le Finder, choisissez Aller > Se connecter au serveur….
- Tapez
smb://et l’adresse de l’ordinateur Linux, par exemplesmb://169.254.40.50, et cliquez sur Se connecter. - Choisissez Utilisateur référencé, tapez votre nom d’utilisateur Linux et votre mot de passe Samba, et cliquez sur Se connecter.
- Choisissez le partage Projects. Il s’ouvre dans le Finder.
Lors de nos tests sur une liaison Thunderbolt à 10 Gb/s, un Mac a copié 20 000 petits fichiers (331 Mo) depuis un partage Samba en 114 secondes, et vers lui en 238 secondes. Un fichier de 4 Gio a été copié à environ 7,6 Gb/s dans les deux sens.
Après une veille, un redémarrage ou un débranchement
Chacune de ces options ne fonctionne que tant que la liaison par câble est active. Quand l’un des ordinateurs se met en veille ou que vous débranchez le câble, la connexion tombe.
- rsync s’arrête sur une erreur de connexion. Relancez la même commande. Elle ignore les fichiers déjà arrivés.
- Les dossiers partagés se déconnectent. Le Finder signale que la connexion au serveur a été interrompue, et Fichiers ferme le partage. Reconnectez-vous et identifiez-vous à nouveau.
- L’adresse peut changer. Les adresses auto-attribuées peuvent changer après un débranchement, donc vérifiez-les à nouveau avant de vous reconnecter.
- Après un redémarrage, le partage reste activé. La session à distance, le partage de fichiers et un service Samba activé redémarrent tout seuls. Il faut quand même vous reconnecter depuis l’autre ordinateur.
Voir pourquoi un partage réseau se déconnecte après la veille.
Option 4 : un disque exFAT
Formatez un disque en exFAT et copiez les fichiers dessus puis depuis. Aucune configuration n’est nécessaire sur l’un ou l’autre ordinateur et cela fonctionne sans Thunderbolt ni USB4, mais chaque fichier est copié deux fois et le disque doit avoir assez d’espace libre.