So übertragen Sie Dateien zwischen einem Mac und Linux
Um Dateien zwischen einem Mac und Linux zu bewegen, kopieren Sie sie mit rsync über SSH, geben einen Mac-Ordner frei und öffnen ihn in Ihrem Linux-Dateimanager, oder geben einen Linux-Ordner mit Samba frei. Jede Methode braucht Einrichtung auf beiden Computern, und die Dateifreigabe ist bei Ordnern mit kleinen Dateien langsam.
Warum das schwieriger ist, als es sein sollte
- Kein gemeinsames Senden. AirDrop gibt es nur bei Apple, und Linux-Desktops haben nichts, was der Mac versteht.
- Jede Methode braucht Konten und Passwörter. SSH und die Mac-Dateifreigabe melden sich mit dem Mac-Account an. Samba braucht ein eigenes Passwort.
- Linux gibt standardmäßig keine Ordner für einen Mac frei. Sie installieren und konfigurieren Samba und öffnen die Firewall. Auf Fedora und ähnlichen Distributionen muss auch SELinux den freigegebenen Ordner erlauben.
- Samba braucht Mac-spezifische Einstellungen. Ohne Apple-Kompatibilitätsoptionen legt der Finder zusätzliche versteckte
._-Dateien neben Ihre. - Die Kabelverbindung braucht Adressen. Der Mac gibt sich am Kabel eine 169.254-Adresse. Linux wartet oft auf einen DHCP-Server, den es nicht gibt, und bekommt gar keine IPv4-Adresse.
- Kleine Dateien kriechen. In unseren Tests brauchte ein Mac fast vier Minuten, um 20.000 kleine Dateien (331 MB) über eine 10-Gb/s-Thunderbolt-Verbindung auf eine Samba-Freigabe zu kopieren.
- Laufwerke passen nicht zusammen. Ein Mac kann nicht auf ext4- oder btrfs-Laufwerke von Linux schreiben, und Linux kommt mit APFS-Laufwerken vom Mac schlecht zurecht. Nur exFAT funktioniert auf beiden gut.
- Kabel können mit halber Geschwindigkeit laufen. In unseren Tests verbanden sich ein Linux-Laptop und ein Mac nur über eine 20-Gb/s-Lane eines 40-Gb/s-Kabels.
Das Kabel anschließen und die Adresse jedes Computers herausfinden
Haben beide Computer Thunderbolt oder USB4, ergibt ein Kabel zwischen ihnen eine direkte Netzwerkverbindung. Der Mac nennt sie Thunderbolt-Bridge, und Linux nennt sie thunderbolt0. Ohne diese Anschlüsse nutzen Sie stattdessen Ihr Heimnetz und dessen Adressen. Siehe Dateien mit Thunderbolt übertragen.
Auf dem Mac
- Schließen Sie das Kabel an.
- Wählen Sie in den Systemeinstellungen Netzwerk und dann Thunderbolt-Bridge.
- Klicken Sie auf Details … und notieren Sie die IP-Adresse. Ist sonst nichts am Kabel, beginnt sie mit 169.254.
Auf dem Linux-Computer
Führen Sie in einem Terminal diesen Befehl aus. Er liest die Einstellungen nur:
ip -4 addr show thunderbolt0Eine Zeile inet 169.254… ist die Adresse des Kabels. Gibt es keine Zeile inet, wartet NetworkManager noch auf DHCP. Geben Sie dem Kabel eine selbst zugewiesene Adresse:
- Wählen Sie in den Einstellungen Netzwerk und klicken Sie auf die Einstellungstaste neben der kabelgebundenen Verbindung des Kabels.
- Wählen Sie im Reiter IPv4 die Option Nur Link-Local und klicken Sie auf Anwenden.
- Schalten Sie die Verbindung aus und wieder ein und führen Sie dann den Befehl
iperneut aus.
Verbinden Sie sich immer über die 169.254-Adresse, nicht über den Namen des Computers. Ein Name kann stattdessen die WLAN-Adresse des Computers finden, und die Kopie läuft dann über WLAN.
Option 1: rsync über SSH, im Terminal
rsync eignet sich für alle, die sich im Terminal wohlfühlen. Es kopiert ganze Ordner, und wenn eine Kopie abbricht, überspringt ein erneuter Aufruf die schon kopierten Dateien. Der Linux-Computer führt alle Befehle aus, also muss nur der Mac eingerichtet werden.
Auf dem Mac
- Wählen Sie in den Systemeinstellungen Allgemein, dann Teilen, und schalten Sie Entfernte Anmeldung ein.
- Klicken Sie auf die Infotaste neben Entfernte Anmeldung und prüfen Sie, ob Ihr Account zugelassen ist.
- Um aus Schreibtisch, Dokumente oder Downloads zu kopieren, schalten Sie im selben Bereich Vollständigen Festplattenzugriff für entfernte Benutzer erlauben ein. Ohne das verweigert macOS diese Ordner mit „Operation not permitted“.
Auf dem Linux-Computer
- Führen Sie in einem Terminal
rsync -a --progress user@address:/Users/user/Projects/ ~/Projects/aus. Ersetzen Sieuserdurch den Kurznamen des Mac-Accounts (den Namen seines Benutzerordners) undaddressdurch die 169.254-Adresse des Macs. - Beim ersten Mal fragt SSH, ob es dem Mac vertrauen soll. Tippen Sie
yes. - Geben Sie das Passwort des Mac-Accounts ein. rsync listet jede Datei auf, während es kopiert.
Vertauschen Sie die beiden Pfade, um in die andere Richtung zu kopieren. Der abschließende / zählt: Mit ihm kopiert rsync den Inhalt des Ordners, ohne ihn den Ordner selbst. Setzen Sie Pfade mit Leerzeichen in Anführungszeichen. Es gibt nichts zu durchsuchen, Sie brauchen also vorher die genauen Pfade.
Option 2: einen Mac-Ordner freigeben und unter Linux öffnen
Die Mac-Dateifreigabe braucht unter Linux keine Software. GNOME Dateien und die meisten anderen Linux-Dateimanager öffnen SMB-Freigaben.
Auf dem Mac
- Wählen Sie in den Systemeinstellungen Allgemein, dann Teilen, und schalten Sie Dateifreigabe ein.
- Klicken Sie auf die Infotaste neben Dateifreigabe. Klicken Sie unter Freigegebene Ordner auf + und wählen Sie den Ordner.
- Stellen Sie unter Benutzer Ihren Account auf Lesen & Schreiben, wenn Linux Dateien hineinkopieren soll.
- Klicken Sie auf Optionen …, wählen Sie Ihren Account unter Windows-Dateifreigabe aus, geben Sie dessen Passwort ein und klicken Sie auf Fertig. Ohne diesen Schritt kann sich Linux nicht anmelden.
Auf dem Linux-Computer
- Drücken Sie in Dateien Strg+L, geben Sie
smb://und die Adresse des Macs ein, zum Beispielsmb://169.254.20.30, und drücken Sie die Eingabetaste. - Wählen Sie Registrierter Benutzer, geben Sie den Kurznamen und das Passwort des Mac-Accounts ein und klicken Sie auf Verbinden.
- Öffnen Sie den freigegebenen Ordner. Ziehen Sie Dateien hinein oder heraus.
Große Dateien lassen sich so gut kopieren. Ordner mit kleinen Dateien sind langsam, weil die Dateifreigabe jede Datei der Reihe nach öffnet, schreibt und schließt.
Option 3: einen Linux-Ordner mit Samba freigeben
Geben Sie von Linux aus frei, wenn Sie die Dateien des Linux-Computers im Finder durchsuchen möchten. Jeder Befehl unten ändert das System und braucht Ihr Passwort für sudo. Ersetzen Sie you durch Ihren Linux-Benutzernamen.
Auf dem Linux-Computer
- Installieren Sie Samba:
sudo dnf install sambaunter Fedora odersudo apt install sambaunter Ubuntu. - Fügen Sie die Freigabe am Ende von
/etc/samba/smb.confhinzu, wie unten gezeigt. Die Zeilefruitfügt die Apple-Kompatibilitätsoptionen hinzu. - Setzen Sie mit
sudo smbpasswd -a youein Samba-Passwort für Ihren Benutzer. Es ist unabhängig von Ihrem Anmeldepasswort. - Öffnen Sie die Firewall. Unter Fedora führen Sie
sudo firewall-cmd --permanent --add-service=sambaund dannsudo firewall-cmd --reloadaus. Unter Ubuntu ist die Firewall aus, sofern Sie sie nicht eingeschaltet haben. Ist sie an, führen Siesudo ufw allow sambaaus. - Erlauben Sie SELinux unter Fedora, den Ordner freizugeben:
sudo semanage fcontext -a -t samba_share_t "/home/you/Projects(/.*)?", dannsudo restorecon -R /home/you/Projects. - Starten Sie Samba:
sudo systemctl enable --now smbunter Fedora odersudo systemctl restart smbdunter Ubuntu.
[Projects]
path = /home/you/Projects
valid users = you
read only = no
vfs objects = catia fruit streams_xattrAuf dem Mac
- Wählen Sie im Finder Gehe zu > Mit Server verbinden ….
- Geben Sie
smb://und die Adresse des Linux-Computers ein, zum Beispielsmb://169.254.40.50, und klicken Sie auf Verbinden. - Wählen Sie Registrierter Benutzer, geben Sie Ihren Linux-Benutzernamen und Ihr Samba-Passwort ein und klicken Sie auf Verbinden.
- Wählen Sie die Freigabe Projects. Sie öffnet sich im Finder.
In unseren Tests über eine 10-Gb/s-Thunderbolt-Verbindung kopierte ein Mac 20.000 kleine Dateien (331 MB) in 114 Sekunden von einer Samba-Freigabe und in 238 Sekunden dorthin. Eine 4-GiB-Datei wurde in beide Richtungen mit etwa 7,6 Gb/s kopiert.
Nach Ruhezustand, Neustart oder Ausstecken
Jede Option hier funktioniert nur, solange die Kabelverbindung steht. Geht einer der Computer in den Ruhezustand oder ziehen Sie das Kabel ab, bricht die Verbindung ab.
- rsync bricht mit einem Verbindungsfehler ab. Führen Sie denselben Befehl erneut aus. Er überspringt die Dateien, die schon angekommen sind.
- Freigegebene Ordner werden getrennt. Der Finder warnt, dass die Verbindung zum Server unterbrochen wurde, und Dateien schließt die Freigabe. Verbinden Sie sich und melden Sie sich erneut an.
- Die Adresse kann sich ändern. Selbst zugewiesene Adressen können sich nach dem Ausstecken ändern, schauen Sie sie also vor dem erneuten Verbinden nach.
- Nach einem Neustart bleibt die Freigabe an. Entfernte Anmeldung, Dateifreigabe und ein aktivierter Samba-Dienst starten von selbst wieder. Vom anderen Computer aus verbinden Sie sich trotzdem neu.
Siehe warum eine Netzwerkfreigabe nach dem Ruhezustand getrennt wird.
Option 4: ein exFAT-Laufwerk
Formatieren Sie ein Laufwerk als exFAT und kopieren Sie Dateien drauf und wieder runter. Das braucht auf keinem Computer Einrichtung und funktioniert ohne Thunderbolt oder USB4, aber jede Datei wird zweimal kopiert, und das Laufwerk braucht genug freien Platz.