Slik overfører du filer mellom en Mac og Linux
For å flytte filer mellom en Mac og Linux kopierer du dem med rsync over SSH, deler en Mac-mappe og åpner den i filbehandleren på Linux, eller deler en Linux-mappe med Samba. Hver av dem krever oppsett på begge datamaskinene, og fildeling er tregt med mapper med små filer.
Hvorfor dette er vanskeligere enn det burde være
- Ingen felles hurtigsending. AirDrop finnes bare hos Apple, og Linux-skrivebord har ingenting Macen forstår.
- Alle metoder krever kontoer og passord. SSH og Fildeling på Mac logger på med Mac-kontoen. Samba trenger sitt eget separate passord.
- Linux deler ikke mapper med en Mac som standard. Du installerer og konfigurerer Samba og åpner brannmuren. På Fedora og lignende distribusjoner må SELinux også tillate den delte mappen.
- Samba trenger Mac-spesifikke innstillinger. Uten valgene for Apple-kompatibilitet legger Finder igjen ekstra skjulte
._-filer ved siden av dine. - Kabelforbindelsen trenger adresser. Macen gir seg selv en 169.254-adresse på kabelen. Linux venter ofte på en DHCP-tjener som ikke finnes, og får ingen IPv4-adresse i det hele tatt.
- Små filer kryper. I testene våre brukte en Mac nesten fire minutter på å kopiere 20 000 små filer (331 MB) til en Samba-deling over en 10 Gb/s Thunderbolt-forbindelse.
- Disker fungerer ikke på begge. En Mac kan ikke skrive til ext4- eller btrfs-disker fra Linux, og Linux håndterer APFS-disker fra Mac dårlig. Bare exFAT fungerer godt på begge.
- Kabler kan gå med halv hastighet. I testene våre koblet en bærbar med Linux og en Mac seg sammen over bare én bane på 20 Gb/s av en kabel på 40 Gb/s.
Koble til kabelen og finn adressen til hver datamaskin
Hvis begge datamaskinene har Thunderbolt eller USB4, gir en kabel mellom dem en direkte nettverksforbindelse. Macen kaller den Thunderbolt-bro, og Linux kaller den thunderbolt0. Uten slike porter bruker du hjemmenettverket og adressene der i stedet. Se overføre filer med Thunderbolt.
På Macen
- Koble til kabelen.
- I Systeminnstillinger velger du Nettverk og deretter Thunderbolt-bro.
- Klikk på Detaljer … og noter IP-adressen. Uten noe annet på kabelen begynner den med 169.254.
På Linux-datamaskinen
Kjør denne kommandoen i en terminal. Den leser bare innstillingene:
ip -4 addr show thunderbolt0En inet 169.254…-linje er kabelens adresse. Hvis det ikke finnes noen inet-linje, venter NetworkManager fortsatt på DHCP. Gi kabelen en selvtildelt adresse:
- I Innstillinger velger du Nettverk og klikker deretter på innstillingsknappen ved siden av kabelens kablede tilkobling.
- På fanen IPv4 velger du Kun lenkelokal og klikker på Bruk.
- Slå tilkoblingen av og på igjen, og kjør deretter
ip-kommandoen på nytt.
Koble alltid til med 169.254-adressen, ikke navnet på datamaskinen. Et navn kan finne Wi-Fi-adressen til datamaskinen i stedet, og da går kopien over Wi-Fi.
Alternativ 1: rsync over SSH, fra en terminal
rsync passer for alle som er vant med terminalen. Den kopierer hele mapper, og hvis en kopi stopper, hopper den over filene som allerede er kopiert når du kjører den på nytt. Linux-datamaskinen kjører alle kommandoene, så bare Macen må settes opp.
På Macen
- I Systeminnstillinger velger du Generelt og deretter Deling, og slår på Ekstern pålogging.
- Klikk på infoknappen ved siden av Ekstern pålogging og sjekk at kontoen din er tillatt.
- For å kopiere fra Skrivebord, Dokumenter eller Nedlastinger slår du på Gi eksterne brukere full disktilgang i det samme panelet. Uten dette nekter macOS tilgang til disse mappene med «Operation not permitted».
På Linux-datamaskinen
- Kjør
rsync -a --progress user@address:/Users/user/Projects/ ~/Projects/i en terminal. Bytt utusermed kortnavnet til Mac-kontoen (navnet på hjemmemappen) ogaddressmed 169.254-adressen til Macen. - Første gang spør SSH om du stoler på Macen. Skriv
yes. - Skriv inn passordet til Mac-kontoen. rsync viser hver fil mens den kopieres.
Bytt om de to stiene for å kopiere den andre veien. Den avsluttende / betyr noe: med den kopierer rsync innholdet i mappen, og uten den selve mappen. Sett anførselstegn rundt stier som inneholder mellomrom. Det er ingenting å bla i, så du trenger de nøyaktige stiene før du starter.
Alternativ 2: del en Mac-mappe og åpne den i Linux
Fildeling på Mac krever ingen programvare på Linux. GNOME Filer og de fleste andre filbehandlere på Linux åpner SMB-delinger.
På Macen
- I Systeminnstillinger velger du Generelt og deretter Deling, og slår på Fildeling.
- Klikk på infoknappen ved siden av Fildeling. Under Delte mapper klikker du på + og velger mappen.
- Under Brukere setter du kontoen din til Les og skriv hvis Linux skal kopiere filer inn.
- Klikk på Valg …, velg kontoen din under Windows-fildeling, skriv inn passordet og klikk på Ferdig. Uten dette trinnet kan ikke Linux logge på.
På Linux-datamaskinen
- I Filer trykker du på Ctrl+L, skriver
smb://og adressen til Macen, for eksempelsmb://169.254.20.30, og trykker på Enter. - Velg Registrert bruker, skriv inn kortnavnet og passordet til Mac-kontoen, og klikk på Koble til.
- Åpne den delte mappen. Dra filer inn eller ut.
Store filer kopieres godt på denne måten. Mapper med små filer går tregt, fordi fildeling åpner, skriver og lukker hver fil etter tur.
Alternativ 3: del en Linux-mappe med Samba
Del fra Linux når du vil bla gjennom filene på Linux-datamaskinen i Finder. Hver kommando nedenfor endrer systemet og krever passordet ditt for sudo. Bytt ut you med brukernavnet ditt på Linux.
På Linux-datamaskinen
- Installer Samba:
sudo dnf install sambapå Fedora, ellersudo apt install sambapå Ubuntu. - Legg til delingen på slutten av
/etc/samba/smb.conf, som vist nedenfor.fruit-linjen legger til valgene for Apple-kompatibilitet. - Angi et Samba-passord for brukeren din med
sudo smbpasswd -a you. Det er atskilt fra påloggingspassordet ditt. - Åpne brannmuren. På Fedora kjører du
sudo firewall-cmd --permanent --add-service=sambaog derettersudo firewall-cmd --reload. På Ubuntu er brannmuren av med mindre du har slått den på. Hvis den er på, kjører dusudo ufw allow samba. - På Fedora lar du SELinux dele mappen:
sudo semanage fcontext -a -t samba_share_t "/home/you/Projects(/.*)?", og derettersudo 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å Macen
- Velg Gå > Koble til tjener … i Finder.
- Skriv
smb://og adressen til Linux-datamaskinen, for eksempelsmb://169.254.40.50, og klikk på Koble til. - Velg Registrert bruker, skriv inn brukernavnet ditt på Linux og Samba-passordet, og klikk på Koble til.
- Velg delingen Projects. Den åpnes i Finder.
I testene våre over en 10 Gb/s Thunderbolt-forbindelse kopierte 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 ble kopiert med rundt 7,6 Gb/s i begge retninger.
Etter dvale, en omstart eller frakobling
Alle alternativene her fungerer bare mens kabelforbindelsen er oppe. Når en av datamaskinene går i dvale eller du trekker ut kabelen, faller tilkoblingen ut.
- rsync stopper med en tilkoblingsfeil. Kjør den samme kommandoen igjen. Den hopper over filene som allerede kom fram.
- Delte mapper kobles fra. Finder advarer om at tjenertilkoblingen ble avbrutt, og Filer lukker delingen. Koble til og logg på igjen.
- Adressen kan endres. Selvtildelte adresser kan endres etter at du kobler fra, så slå dem opp igjen før du kobler til på nytt.
- Etter en omstart forblir deling på. Ekstern pålogging, Fildeling og en aktivert Samba-tjeneste starter igjen av seg selv. Du må likevel koble til igjen fra den andre datamaskinen.
Se hvorfor en nettverksdeling kobles fra etter dvale.
Alternativ 4: en exFAT-disk
Formater en disk som exFAT og kopier filer over på den og av den. Det krever ikke noe oppsett på noen av datamaskinene og fungerer uten Thunderbolt eller USB4, men hver fil kopieres to ganger, og disken må ha nok ledig plass.