Så för du över filer mellan en Mac och Linux
För att flytta filer mellan en Mac och Linux kopierar du dem med rsync över SSH, delar en Mac-mapp och öppnar den i filhanteraren i Linux, eller delar en Linux-mapp med Samba. Alla kräver inställningar på båda datorerna, och fildelning är långsam med mappar med små filer.
Varför det är svårare än det borde vara
- Ingen gemensam snabbsändning. AirDrop finns bara hos Apple, och Linux-skrivbord har inget som Macen förstår.
- Alla metoder kräver konton och lösenord. SSH och Fildelning på Mac loggar in med Mac-kontot. Samba behöver ett eget, separat lösenord.
- Linux delar inte mappar med en Mac som standard. Du installerar och konfigurerar Samba och öppnar brandväggen. På Fedora och liknande distributioner måste SELinux också tillåta den delade mappen.
- Samba behöver Mac-specifika inställningar. Utan Apple-kompatibilitetsalternativ lämnar Finder extra dolda
._-filer bredvid dina. - Kabellänken behöver adresser. Macen ger sig själv en 169.254-adress på kabeln. Linux väntar ofta på en DHCP-server som inte finns och får ingen IPv4-adress alls.
- Små filer kryper fram. I våra tester tog det en Mac nästan fyra minuter att kopiera 20 000 små filer (331 MB) till en Samba-delning över en Thunderbolt-länk på 10 Gb/s.
- Enheter fungerar inte på båda. En Mac kan inte skriva till Linux ext4- eller btrfs-enheter, och Linux hanterar Macens APFS-enheter dåligt. Bara exFAT fungerar bra på båda.
- Kablar kan gå i halv hastighet. I våra tester anslöt en bärbar Linux-dator och en Mac över bara en lane på 20 Gb/s av en kabel på 40 Gb/s.
Anslut kabeln och hitta varje dators adress
Om båda datorerna har Thunderbolt eller USB4 ger en kabel mellan dem en direkt nätverkslänk. Macen kallar den Thunderbolt-brygga, och Linux kallar den thunderbolt0. Utan de portarna använder du i stället hemnätverket och dess adresser. Se överföra filer med Thunderbolt.
På Macen
- Anslut kabeln.
- Välj Nätverk i Systeminställningar och sedan Thunderbolt-brygga.
- Klicka på Information… och anteckna IP-adressen. Med inget annat på kabeln börjar den med 169.254.
På Linux-datorn
Kör det här kommandot i en terminal. Det läser bara inställningarna:
ip -4 addr show thunderbolt0En inet 169.254…-rad är kabelns adress. Om det inte finns någon inet-rad väntar NetworkManager fortfarande på DHCP. Ge kabeln en självtilldelad adress:
- Välj Nätverk i Inställningar och klicka sedan på inställningsknappen bredvid kabelns trådbundna anslutning.
- Välj Endast länklokal på fliken IPv4 och klicka på Verkställ.
- Stäng av anslutningen och slå på den igen, och kör sedan kommandot
ipigen.
Anslut alltid via 169.254-adressen, inte datorns namn. Ett namn kan i stället hitta datorns wifiadress, och kopian går då över wifi.
Alternativ 1: rsync över SSH, från en terminal
rsync passar alla som känner sig hemma i en terminal. Det kopierar hela mappar, och om en kopia stannar hoppar en ny körning över filerna som redan kopierats. Linux-datorn kör alla kommandon, så bara Macen behöver ställas in.
På Macen
- Välj Allmänt i Systeminställningar, sedan Delning, och slå på Fjärrinloggning.
- Klicka på informationsknappen bredvid Fjärrinloggning och kontrollera att ditt konto är tillåtet.
- För att kopiera från Skrivbord, Dokument eller Hämtade filer slår du på Tillåt fullständig skivåtkomst för fjärranvändare i samma panel. Utan det nekar macOS åtkomst till de mapparna med ”Operation not permitted”.
På Linux-datorn
- Kör
rsync -a --progress user@address:/Users/user/Projects/ ~/Projects/i en terminal. Ersättusermed Mac-kontots korta namn (namnet på dess hemmapp) ochaddressmed Macens 169.254-adress. - Första gången frågar SSH om Macen ska betros. Skriv
yes. - Skriv Mac-kontots lösenord. rsync listar varje fil medan den kopieras.
Byt plats på de två sökvägarna för att kopiera åt andra hållet. Det avslutande / spelar roll: med det kopierar rsync mappens innehåll, och utan det själva mappen. Sätt citattecken runt sökvägar som innehåller mellanslag. Det finns inget att bläddra i, så du behöver de exakta sökvägarna innan du börjar.
Alternativ 2: dela en Mac-mapp och öppna den i Linux
Fildelning på Mac kräver ingen programvara i Linux. GNOME Filer och de flesta andra filhanterare i Linux öppnar SMB-delningar.
På Macen
- Välj Allmänt i Systeminställningar, sedan Delning, och slå på Fildelning.
- Klicka på informationsknappen bredvid Fildelning. Klicka på + under Delade mappar och välj mappen.
- Ställ in ditt konto på Läsa och skriva under Användare om Linux behöver kopiera in filer.
- Klicka på Alternativ…, markera ditt konto under Windows-fildelning, skriv dess lösenord och klicka på Klar. Utan det här steget kan Linux inte logga in.
På Linux-datorn
- Tryck på Ctrl+L i Filer, skriv
smb://och Macens adress, till exempelsmb://169.254.20.30, och tryck på Retur. - Välj Registrerad användare, skriv Mac-kontots korta namn och lösenord och klicka på Anslut.
- Öppna den delade mappen. Dra filer in eller ut.
Stora filer kopieras bra på det här sättet. Mappar med små filer går långsamt, eftersom fildelning öppnar, skriver och stänger varje fil i tur och ordning.
Alternativ 3: dela en Linux-mapp med Samba
Dela från Linux när du vill bläddra bland Linux-datorns filer i Finder. Varje kommando nedan ändrar systemet och kräver ditt lösenord för sudo. Ersätt you med ditt användarnamn i Linux.
På Linux-datorn
- Installera Samba:
sudo dnf install sambapå Fedora, ellersudo apt install sambapå Ubuntu. - Lägg till delningen i slutet av
/etc/samba/smb.conf, som nedan. Radenfruitlägger till Apple-kompatibilitetsalternativen. - Ställ in ett Samba-lösenord för din användare med
sudo smbpasswd -a you. Det är skilt från ditt inloggningslösenord. - Öppna brandväggen. På Fedora kör du
sudo firewall-cmd --permanent --add-service=sambaoch sedansudo firewall-cmd --reload. På Ubuntu är brandväggen avstängd om du inte har slagit på den. Om den är på kör dusudo ufw allow samba. - På Fedora låter du SELinux dela mappen:
sudo semanage fcontext -a -t samba_share_t "/home/you/Projects(/.*)?"och sedansudo restorecon -R /home/you/Projects. - Starta 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
- Välj Gå > Anslut till server… i Finder.
- Skriv
smb://och Linux-datorns adress, till exempelsmb://169.254.40.50, och klicka på Anslut. - Välj Registrerad användare, skriv ditt användarnamn i Linux och ditt Samba-lösenord och klicka på Anslut.
- Välj delningen Projects. Den öppnas i Finder.
I våra tester över en Thunderbolt-länk på 10 Gb/s kopierade en Mac 20 000 små filer (331 MB) från en Samba-delning på 114 sekunder, och till den på 238 sekunder. En fil på 4 GiB kopierades i ungefär 7,6 Gb/s i båda riktningarna.
Efter viloläge, en omstart eller urkoppling
Alla alternativ här fungerar bara medan kabellänken är uppe. När någon av datorerna går i viloläge eller du drar ur kabeln bryts anslutningen.
- rsync stannar med ett anslutningsfel. Kör samma kommando igen. Det hoppar över filerna som redan kommit fram.
- Delade mappar kopplas från. Finder varnar för att anslutningen till servern avbröts, och Filer stänger delningen. Anslut och logga in igen.
- Adressen kan ändras. Självtilldelade adresser kan ändras när du kopplar ur, så leta upp dem igen innan du ansluter på nytt.
- Efter en omstart förblir delningen på. Fjärrinloggning, Fildelning och en aktiverad Samba-tjänst startar igen av sig själva. Du ansluter ändå igen från den andra datorn.
Se varför en nätverksdelning kopplas från efter viloläge.
Alternativ 4: en exFAT-enhet
Formatera en enhet som exFAT och kopiera filer till och från den. Det kräver inga inställningar på någon av datorerna och fungerar utan Thunderbolt eller USB4, men varje fil kopieras två gånger och enheten behöver tillräckligt med ledigt utrymme.