DirectConnect

Oppaat

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

  1. Kytke kaapeli.
  2. Valitse Järjestelmäasetuksissa Verkko ja sitten Thunderbolt-silta.
  3. 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 thunderbolt0

inet 169.254…-rivi on kaapelin osoite. Jos inet-riviä ei ole, NetworkManager odottaa yhä DHCP:tä. Anna kaapelille itse määritetty osoite:

  1. Valitse Asetuksissa Verkko ja valitse sitten kaapelin langallisen yhteyden vieressä oleva asetuspainike.
  2. Valitse IPv4-välilehdellä Vain linkkipaikallinen ja valitse Toteuta.
  3. 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

  1. Valitse Järjestelmäasetuksissa Yleiset, sitten Jakaminen, ja laita Etäkirjautuminen päälle.
  2. Valitse Etäkirjautuminen-kohdan vieressä oleva tietopainike ja tarkista, että tilisi on sallittu.
  3. 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

  1. Suorita päätteessä rsync -a --progress user@address:/Users/user/Projects/ ~/Projects/. Korvaa user Macin tilin lyhyellä nimellä (sen kotikansion nimi) ja address Macin 169.254-osoitteella.
  2. Ensimmäisellä kerralla SSH kysyy, luotetaanko Maciin. Kirjoita yes.
  3. 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

  1. Valitse Järjestelmäasetuksissa Yleiset, sitten Jakaminen, ja laita Tiedostojen jako päälle.
  2. Valitse Tiedostojen jako -kohdan vieressä oleva tietopainike. Valitse kohdassa Jaetut kansiot + ja valitse kansio.
  3. Aseta kohdassa Käyttäjät tilillesi Luku ja kirjoitus, jos Linuxin on kopioitava tiedostoja sinne.
  4. Valitse Valinnat…, valitse tilisi kohdassa Windows-tiedostojen jako, kirjoita sen salasana ja valitse Valmis. Ilman tätä vaihetta Linux ei voi kirjautua.

Linux-tietokoneessa

  1. Paina Tiedostot-sovelluksessa Ctrl+L, kirjoita smb:// ja Macin osoite, esimerkiksi smb://169.254.20.30, ja paina Enter.
  2. Valitse Rekisteröity käyttäjä, kirjoita Macin tilin lyhyt nimi ja salasana ja valitse Yhdistä.
  3. 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

  1. Asenna Samba: Fedorassa sudo dnf install samba tai Ubuntussa sudo apt install samba.
  2. Lisää jako tiedoston /etc/samba/smb.conf loppuun alla esitetyllä tavalla. fruit-rivi lisää Apple-yhteensopivuusvalinnat.
  3. Aseta käyttäjällesi Samba-salasana komennolla sudo smbpasswd -a you. Se on erillinen kirjautumissalasanastasi.
  4. Avaa palomuuri. Fedorassa suorita sudo firewall-cmd --permanent --add-service=samba ja sitten sudo firewall-cmd --reload. Ubuntussa palomuuri on pois päältä, ellet laittanut sitä päälle. Jos se on päällä, suorita sudo ufw allow samba.
  5. Salli Fedorassa SELinuxin jakaa kansio: sudo semanage fcontext -a -t samba_share_t "/home/you/Projects(/.*)?" ja sitten sudo restorecon -R /home/you/Projects.
  6. Käynnistä Samba: Fedorassa sudo systemctl enable --now smb tai Ubuntussa sudo systemctl restart smbd.
[Projects]
   path = /home/you/Projects
   valid users = you
   read only = no
   vfs objects = catia fruit streams_xattr

Macissa

  1. Valitse Finderissa Siirry > Yhdistä palvelimeen….
  2. Kirjoita smb:// ja Linux-tietokoneen osoite, esimerkiksi smb://169.254.40.50, ja valitse Yhdistä.
  3. Valitse Rekisteröity käyttäjä, kirjoita Linuxin käyttäjänimesi ja Samba-salasanasi ja valitse Yhdistä.
  4. 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.