Sådan overfører du filer mellem en Mac og Linux
For at flytte filer mellem en Mac og Linux kan du kopiere dem med rsync over SSH, dele en Mac-mappe og åbne den i din filhåndtering på Linux eller dele en Linux-mappe med Samba. Hver kræver opsætning på begge computere, og fildeling er langsom med mapper med små filer.
Hvorfor det er sværere, end det burde være
- Ingen fælles hurtigsending. AirDrop er kun til Apple, og Linux-skriveborde har intet, din Mac forstår.
- Alle metoder kræver konti og adgangskoder. SSH og Fildeling på Mac logger ind med Mac-kontoen. Samba kræver sin egen separate adgangskode.
- Linux deler som standard ikke mapper med en Mac. Du skal installere og konfigurere Samba og åbne firewallen. På Fedora og lignende distributioner skal SELinux også tillade den delte mappe.
- Samba skal bruge Mac-specifikke indstillinger. Uden Apple-kompatibilitetsindstillinger efterlader Finder ekstra skjulte
._-filer ved siden af dine. - Kabelforbindelsen kræver adresser. Din Mac giver sig selv en 169.254-adresse på kablet. Linux venter ofte på en DHCP-server, der ikke er der, og får slet ingen IPv4-adresse.
- Små filer kravler. I vores test tog det en Mac næsten fire minutter at kopiere 20.000 små filer (331 MB) til en Samba-deling over en Thunderbolt-forbindelse på 10 Gb/s.
- Drev virker ikke på begge. En Mac kan ikke skrive til Linux’ ext4- eller btrfs-drev, og Linux håndterer Mac-APFS-drev dårligt. Kun exFAT virker godt på begge.
- Kabler kan køre med halv hastighed. I vores test forbandt en bærbar med Linux og en Mac sig kun over én bane på 20 Gb/s af et kabel på 40 Gb/s.
Sæt kablet i, og find hver computers adresse
Hvis begge computere har Thunderbolt eller USB4, giver et kabel mellem dem en direkte netværksforbindelse. Din Mac kalder den Thunderbolt-bro, og Linux kalder den thunderbolt0. Uden de porte skal du i stedet bruge dit hjemmenetværk og dets adresser. Se overførsel af filer med Thunderbolt.
På din Mac
- Sæt kablet i.
- Vælg Netværk i Systemindstillinger og derefter Thunderbolt-bro.
- Klik på Detaljer…, og notér IP-adressen. Når der ikke er andet på kablet, starter den med 169.254.
På Linux-computeren
Kør denne kommando i en terminal. Den læser kun indstillingerne:
ip -4 addr show thunderbolt0En linje inet 169.254… er kablets adresse. Hvis der ikke er nogen linje inet, venter NetworkManager stadig på DHCP. Giv kablet en selvtildelt adresse:
- Vælg Netværk i Indstillinger, og klik derefter på indstillingsknappen ud for kablets kablede forbindelse.
- Vælg Kun link-lokal under fanen IPv4, og klik på Anvend.
- Slå forbindelsen fra og til igen, og kør så kommandoen
ipigen.
Opret altid forbindelse via 169.254-adressen, ikke computerens navn. Et navn kan i stedet finde computerens wi-fi-adresse, og så kører kopien over wi-fi.
Løsning 1: rsync over SSH fra en terminal
rsync passer til alle, der er fortrolige med en terminal. Den kopierer hele mapper, og hvis en kopi stopper, springer den de filer over, der allerede er kopieret, når du kører den igen. Linux-computeren kører alle kommandoer, så kun din Mac skal sættes op.
På din Mac
- Vælg Generelt i Systemindstillinger og derefter Deling, og slå Fjernlogin til.
- Klik på infoknappen ud for Fjernlogin, og tjek, at din konto er tilladt.
- For at kopiere fra Skrivebord, Dokumenter eller Overførsler skal du slå Tillad fuld diskadgang for eksterne brugere til i det samme panel. Uden det afviser macOS de mapper med “Operation not permitted”.
På Linux-computeren
- Kør
rsync -a --progress user@address:/Users/user/Projects/ ~/Projects/i en terminal. Erstatusermed Mac-kontoens korte navn (navnet på dens hjemmemappe) ogaddressmed din Macs 169.254-adresse. - Første gang spørger SSH, om du vil stole på din Mac. Skriv
yes. - Skriv adgangskoden til Mac-kontoen. rsync viser hver fil, mens den kopierer.
Byt om på de to stier for at kopiere den anden vej. Den afsluttende / betyder noget: Med den kopierer rsync mappens indhold, og uden den selve mappen. Sæt anførselstegn om stier, der indeholder mellemrum. Der er intet at gennemse, så du skal kende de præcise stier, før du starter.
Løsning 2: Del en Mac-mappe, og åbn den i Linux
Fildeling på Mac kræver ingen software på Linux. GNOME Filer og de fleste andre filhåndteringer på Linux åbner SMB-delinger.
På din Mac
- Vælg Generelt i Systemindstillinger og derefter Deling, og slå Fildeling til.
- Klik på infoknappen ud for Fildeling. Klik på + under Delte mapper, og vælg mappen.
- Sæt din konto til Læse og skrive under Brugere, hvis Linux skal kunne kopiere filer ind.
- Klik på Indstillinger…, vælg din konto under Windows-fildeling, skriv dens adgangskode, og klik på OK. Uden dette trin kan Linux ikke logge ind.
På Linux-computeren
- Tryk på Ctrl+L i Filer, skriv
smb://og din Macs adresse, for eksempelsmb://169.254.20.30, og tryk på Enter. - Vælg Registreret bruger, skriv Mac-kontoens korte navn og adgangskode, og klik på Forbind.
- Åbn den delte mappe. Træk filer ind eller ud.
Store filer kopieres fint på denne måde. Mapper med små filer er langsomme, fordi fildeling åbner, skriver og lukker hver fil efter tur.
Løsning 3: Del en Linux-mappe med Samba
Del fra Linux, når du vil gennemse Linux-computerens filer i Finder. Hver kommando nedenfor ændrer systemet og kræver din adgangskode til sudo. Erstat you med dit brugernavn på Linux.
På Linux-computeren
- Installer Samba:
sudo dnf install sambapå Fedora ellersudo apt install sambapå Ubuntu. - Tilføj delingen sidst i
/etc/samba/smb.conf, som vist nedenfor. Linjenfruittilføjer Apple-kompatibilitetsindstillingerne. - Angiv en Samba-adgangskode til din bruger med
sudo smbpasswd -a you. Den er adskilt fra din login-adgangskode. - Åbn firewallen. På Fedora kører du
sudo firewall-cmd --permanent --add-service=sambaog dereftersudo firewall-cmd --reload. På Ubuntu er firewallen slået fra, medmindre du har slået den til. Hvis den er slået til, så kørsudo ufw allow samba. - På Fedora skal du lade SELinux dele mappen:
sudo semanage fcontext -a -t samba_share_t "/home/you/Projects(/.*)?"og dereftersudo restorecon -R /home/you/Projects. - Start Samba:
sudo systemctl enable --now smbpå Fedora ellersudo systemctl restart smbdpå Ubuntu.
[Projects]
path = /home/you/Projects
valid users = you
read only = no
vfs objects = catia fruit streams_xattrPå din Mac
- Vælg Gå > Opret forbindelse til server… i Finder.
- Skriv
smb://og Linux-computerens adresse, for eksempelsmb://169.254.40.50, og klik på Opret forbindelse. - Vælg Registreret bruger, skriv dit brugernavn på Linux og din Samba-adgangskode, og klik på Opret forbindelse.
- Vælg delingen Projects. Den åbnes i Finder.
I vores test over en Thunderbolt-forbindelse på 10 Gb/s kopierede en Mac 20.000 små filer (331 MB) fra en Samba-deling på 114 sekunder og til den på 238 sekunder. En fil på 4 GiB blev kopieret med omkring 7,6 Gb/s i begge retninger.
Efter dvale, en genstart eller når kablet tages ud
Alle løsningerne her virker kun, mens kabelforbindelsen er oppe. Når en af computerne går i dvale, eller du tager kablet ud, falder forbindelsen ud.
- rsync stopper med en forbindelsesfejl. Kør samme kommando igen. Den springer de filer over, der allerede er kommet frem.
- Delte mapper afbrydes. Finder advarer om, at forbindelsen til serveren blev afbrudt, og Filer lukker delingen. Opret forbindelse, og log ind igen.
- Adressen kan ændre sig. Selvtildelte adresser kan ændre sig, når du tager kablet ud, så slå dem op igen, før du opretter forbindelse igen.
- Efter en genstart forbliver deling slået til. Fjernlogin, Fildeling og en aktiveret Samba-tjeneste starter igen af sig selv. Du skal stadig oprette forbindelse igen fra den anden computer.
Se hvorfor en netværksdeling afbrydes efter dvale.
Mulighed 4: et exFAT-drev
Formatér et drev som exFAT, og kopier filer over og af igen. Det kræver ingen opsætning på nogen af computerne og virker uden Thunderbolt eller USB4, men hver fil kopieres to gange, og drevet skal have nok ledig plads.