Näin siirrät tiedostoja Macin ja Linuxin välillä
Tiedostojen siirtämiseksi Macin ja Linuxin välillä kopioi ne rsyncillä SSH:n kautta, jaa Mac-kansio ja avaa se Linuxin tiedostonhallinnassa tai jaa Linux-kansio Samballa. Jokainen vaatii asetuksia molemmissa tietokoneissa, ja tiedostojen jako on hidas pienten tiedostojen kansioilla.
Miksi tämä on vaikeampaa kuin pitäisi
- Ei yhteistä pikalähetystä. AirDrop on vain Applella, eikä Linux-työpöydillä ole mitään, mitä Mac ymmärtäisi.
- Jokainen tapa vaatii tilejä ja salasanoja. SSH ja Macin tiedostojen jako kirjautuvat Macin tilillä. Samba tarvitsee oman erillisen salasanansa.
- Linux ei oletuksena jaa kansioita Macin kanssa. Asennat ja määrität Samban ja avaat palomuurin. Fedorassa ja vastaavissa jakeluissa myös SELinuxin on sallittava jaettu kansio.
- Samba tarvitsee Mac-kohtaisia asetuksia. Ilman Apple-yhteensopivuusvalintoja Finder jättää tiedostojesi viereen ylimääräisiä piilotettuja
._-tiedostoja. - Kaapeliyhteys tarvitsee osoitteet. Mac antaa itselleen kaapelissa 169.254-osoitteen. Linux odottaa usein DHCP-palvelinta, jota ei ole, eikä saa IPv4-osoitetta lainkaan.
- Pienet tiedostot matelevat. Testeissämme Macilta kului lähes neljä minuuttia 20 000 pienen tiedoston (331 MB) kopioimiseen Samba-jakoon 10 Gb/s:n Thunderbolt-yhteydellä.
- Asemat eivät toimi ristiin. Mac ei voi kirjoittaa Linuxin ext4- tai btrfs-asemille, ja Linux käsittelee Macin APFS-asemia huonosti. Vain exFAT toimii hyvin molemmissa.
- Kaapelit voivat toimia puolella nopeudella. Testeissämme Linux-kannettava ja Mac yhdistyivät 40 Gb/s:n kaapelin vain yhdellä 20 Gb/s:n kaistalla.
Kytke kaapeli ja selvitä kummankin tietokoneen osoite
Jos molemmissa tietokoneissa on Thunderbolt tai USB4, niiden välinen kaapeli antaa suoran verkkoyhteyden. Mac kutsuu sitä nimellä Thunderbolt-silta, ja Linux nimeää sen thunderbolt0. Ilman näitä portteja käytä sen sijaan kotiverkkoasi ja sen osoitteita. Katso tiedostojen siirtäminen Thunderboltilla.
Macissa
- Kytke kaapeli.
- Valitse Järjestelmäasetuksissa Verkko ja sitten Thunderbolt-silta.
- Valitse Tiedot… ja kirjoita muistiin IP-osoite. Kun kaapelissa ei ole muuta, se alkaa numeroilla 169.254.
Linux-tietokoneessa
Suorita päätteessä tämä komento. Se vain lukee asetukset:
ip -4 addr show thunderbolt0inet 169.254…-rivi on kaapelin osoite. Jos inet-riviä ei ole, NetworkManager odottaa yhä DHCP:tä. Anna kaapelille itse määritetty osoite:
- Valitse Asetuksissa Verkko ja valitse sitten kaapelin langallisen yhteyden vieressä oleva asetuspainike.
- Valitse IPv4-välilehdellä Vain linkkipaikallinen ja valitse Toteuta.
- Laita yhteys pois päältä ja takaisin päälle ja suorita sitten
ip-komento uudelleen.
Yhdistä aina 169.254-osoitteella, älä tietokoneen nimellä. Nimi voi löytää sen sijaan tietokoneen Wi-Fi-osoitteen, jolloin kopio kulkee Wi-Fin kautta.
Vaihtoehto 1: rsync SSH:n kautta päätteestä
rsync sopii kaikille, jotka ovat sinut päätteen kanssa. Se kopioi kokonaisia kansioita, ja jos kopio pysähtyy, sen ajaminen uudelleen ohittaa jo kopioidut tiedostot. Linux-tietokone suorittaa kaikki komennot, joten vain Mac on määritettävä.
Macissa
- Valitse Järjestelmäasetuksissa Yleiset, sitten Jakaminen, ja laita Etäkirjautuminen päälle.
- Valitse Etäkirjautuminen-kohdan vieressä oleva tietopainike ja tarkista, että tilisi on sallittu.
- Jos haluat kopioida Työpöytä-, Dokumentit- tai Lataukset-kansiosta, laita samassa paneelissa päälle Salli etäkäyttäjille täysi levyn käyttöoikeus. Ilman sitä macOS kieltäytyy näistä kansioista ilmoituksella ”Operation not permitted”.
Linux-tietokoneessa
- Suorita päätteessä
rsync -a --progress user@address:/Users/user/Projects/ ~/Projects/. KorvaauserMacin tilin lyhyellä nimellä (sen kotikansion nimi) jaaddressMacin 169.254-osoitteella. - Ensimmäisellä kerralla SSH kysyy, luotetaanko Maciin. Kirjoita
yes. - Kirjoita Macin tilin salasana. rsync luettelee jokaisen tiedoston sitä kopioidessaan.
Vaihda kaksi polkua keskenään kopioidaksesi toiseen suuntaan. Lopussa oleva / on tärkeä: sen kanssa rsync kopioi kansion sisällön ja ilman sitä itse kansion. Laita lainausmerkit välilyöntejä sisältävien polkujen ympärille. Selattavaa ei ole, joten tarvitset tarkat polut ennen kuin aloitat.
Vaihtoehto 2: jaa Mac-kansio ja avaa se Linuxissa
Macin tiedostojen jako ei vaadi ohjelmistoja Linuxiin. GNOME Tiedostot ja useimmat muut Linuxin tiedostonhallinnat avaavat SMB-jakoja.
Macissa
- Valitse Järjestelmäasetuksissa Yleiset, sitten Jakaminen, ja laita Tiedostojen jako päälle.
- Valitse Tiedostojen jako -kohdan vieressä oleva tietopainike. Valitse kohdassa Jaetut kansiot + ja valitse kansio.
- Aseta kohdassa Käyttäjät tilillesi Luku ja kirjoitus, jos Linuxin on kopioitava tiedostoja sinne.
- Valitse Valinnat…, valitse tilisi kohdassa Windows-tiedostojen jako, kirjoita sen salasana ja valitse Valmis. Ilman tätä vaihetta Linux ei voi kirjautua.
Linux-tietokoneessa
- Paina Tiedostot-sovelluksessa Ctrl+L, kirjoita
smb://ja Macin osoite, esimerkiksismb://169.254.20.30, ja paina Enter. - Valitse Rekisteröity käyttäjä, kirjoita Macin tilin lyhyt nimi ja salasana ja valitse Yhdistä.
- Avaa jaettu kansio. Vedä tiedostoja sinne tai sieltä pois.
Suuret tiedostot kopioituvat hyvin tällä tavalla. Pienten tiedostojen kansiot ovat hitaita, koska tiedostojen jako avaa, kirjoittaa ja sulkee jokaisen tiedoston vuorollaan.
Vaihtoehto 3: jaa Linux-kansio Samballa
Jaa Linuxista, kun haluat selata Linux-tietokoneen tiedostoja Finderissa. Jokainen alla oleva komento muuttaa järjestelmää ja vaatii salasanasi sudo-komentoa varten. Korvaa you Linuxin käyttäjänimelläsi.
Linux-tietokoneessa
- Asenna Samba: Fedorassa
sudo dnf install sambatai Ubuntussasudo apt install samba. - Lisää jako tiedoston
/etc/samba/smb.confloppuun alla esitetyllä tavalla.fruit-rivi lisää Apple-yhteensopivuusvalinnat. - Aseta käyttäjällesi Samba-salasana komennolla
sudo smbpasswd -a you. Se on erillinen kirjautumissalasanastasi. - Avaa palomuuri. Fedorassa suorita
sudo firewall-cmd --permanent --add-service=sambaja sittensudo firewall-cmd --reload. Ubuntussa palomuuri on pois päältä, ellet laittanut sitä päälle. Jos se on päällä, suoritasudo ufw allow samba. - Salli Fedorassa SELinuxin jakaa kansio:
sudo semanage fcontext -a -t samba_share_t "/home/you/Projects(/.*)?"ja sittensudo restorecon -R /home/you/Projects. - Käynnistä Samba: Fedorassa
sudo systemctl enable --now smbtai Ubuntussasudo systemctl restart smbd.
[Projects]
path = /home/you/Projects
valid users = you
read only = no
vfs objects = catia fruit streams_xattrMacissa
- Valitse Finderissa Siirry > Yhdistä palvelimeen….
- Kirjoita
smb://ja Linux-tietokoneen osoite, esimerkiksismb://169.254.40.50, ja valitse Yhdistä. - Valitse Rekisteröity käyttäjä, kirjoita Linuxin käyttäjänimesi ja Samba-salasanasi ja valitse Yhdistä.
- Valitse Projects-jako. Se avautuu Finderissa.
Testeissämme 10 Gb/s:n Thunderbolt-yhteydellä Mac kopioi 20 000 pientä tiedostoa (331 MB) Samba-jaosta 114 sekunnissa ja sinne 238 sekunnissa. 4 GiB:n tiedosto kopioitui noin 7,6 Gb/s:n nopeudella kumpaankin suuntaan.
Lepotilan, uudelleenkäynnistyksen tai irrottamisen jälkeen
Jokainen tässä esitetty vaihtoehto toimii vain, kun kaapeliyhteys on ylhäällä. Kun jompikumpi tietokone menee lepotilaan tai irrotat kaapelin, yhteys katkeaa.
- rsync pysähtyy yhteysvirheeseen. Suorita sama komento uudelleen. Se ohittaa jo perille tulleet tiedostot.
- Jaetut kansiot katkeavat. Finder varoittaa, että palvelinyhteys katkesi, ja Tiedostot sulkee jaon. Yhdistä ja kirjaudu uudelleen.
- Osoite voi muuttua. Itse määritetyt osoitteet voivat muuttua irrottamisen jälkeen, joten tarkista ne uudelleen ennen uudelleen yhdistämistä.
- Uudelleenkäynnistyksen jälkeen jakaminen pysyy päällä. Etäkirjautuminen, tiedostojen jako ja käyttöön otettu Samba-palvelu käynnistyvät uudelleen itsestään. Sinun on silti yhdistettävä uudelleen toisesta tietokoneesta.
Katso miksi verkkojako katkeaa lepotilan jälkeen.
Vaihtoehto 4: exFAT-asema
Alusta asema exFAT-muotoon ja kopioi tiedostot sille ja sieltä pois. Se ei vaadi asetuksia kummassakaan tietokoneessa ja toimii ilman Thunderboltia tai USB4:ää, mutta jokainen tiedosto kopioidaan kahdesti ja asemalla on oltava riittävästi vapaata tilaa.