Onko ext4 -tiedostojärjestelmissä turvallista, vakaa sovellus lukemiseen ja kirjoittamiseen Macissa   OS   X?

Jos ei, mikä on paras tapa käyttää ext4-tiedostojärjestelmä Macissa   OS   X?

Kommentit

  • Olisi enemmän kuin hyödyllistä, jos määrität käyttämäsi OS X -version. Käytettävissä olevien ratkaisujen kanssa on yhteensopivuusongelmia käyttöjärjestelmän version mukaan.

Vastaa

Vastaus riippuu halustasi sijoittaa kaupallisiin ohjelmistoihin:

Jos et viitsi kuluttaa rahaa kaupalliseen tuotteeseen , Paragonin extFS for Mac antaa sinulle luku- ja kirjoitusoikeuden ext2 / ext3 / ext4-tiedostojärjestelmiin s kaikki OS X / macOS -versiot versiosta 10.10 ylöspäin.

Jos etsit ilmaista ratkaisua , voit määrittää Linux-virtuaalikoneen, liittää levyn (t) sinne ja jakaa ne / he Samban tai (S) FTP: n kautta. Tässä viestissä on joitain yksityiskohtia tämän saavuttamiseksi käyttämällä ilmaista virtuaalikoneen sovellusta VirtualBox . Huomaa, että tämä ei ole aivan kevyt ratkaisu, vaikka valmiiksi rakennetun VirtualBox VM: n käyttäminen säästää Linux-distron asentamista ja määrittämistä tyhjästä.

Kommentit

  • Onko ’ varmasti olemassa ilmainen nonvm-ratkaisu?
  • osboxes.org tarjoaa uudemmat versiot vs virtualboxes.org.

Vastaa

Perustuen Kenin vastaukseen: Käytin fuse4x ja fuse-ext2 onnistuneesti, ja Suosittelen fuse-ext2: ta ext4fuse: n yli. Fuse-ext2 tarjoaa kirjoitusoikeuden, kun taas ext4fuse tarjoaa vain lukuoikeuden. Huomaa, että nimestä huolimatta fuse-ext2 tukee EXT2 / EXT3 / EXT4.

ext4fuse oli minulle vaivaa , koska se vaatii manuaalisen kääntämisen eikä sillä ole tukea fuse4x-asetuksille, jotka antaisivat minun asettaa kulunvalvonnan.fuse-ext2 tarjoaa ladattavia paketteja, ja 0.0.7-versio toimi vain fi ne. Kopioin muutaman suuren ISO: n ongelmitta.

Kommentit

  • voivatko sulake-ext2: n asentaa asiat kirjoitettaviksi tai vain luku -toiminnoksi?

Vastaus

OSXFUSE voidaan asentaa myös kokonaan -haudun komentorivipaketinhallinta:

brew install homebrew/fuse/ext4fuse 

Huomaa, että asennus kertoo, että tietyt komennot on suoritettava tämän lisäksi sudo-tiedostoina.


Yosemiten kanssa on parempi katsoa tätä . Varmista sitten, että käyttäjä voi lukea hakemiston tekemällä tämän . Jotta se toimisi, jouduin käyttämään pyöräryhmää näin:

sudo dscl . append /Groups/wheel GroupMembership $(whoami) 

Vastaa

Viimeisillä homebrew-muutoksilla tämän on oltava yksinkertaista:

brew cask install osxfuse brew install ext4fuse 

Sinun on ehkä käynnistettävä uudelleen.

ext4fuse on valitettavasti vain luku -tilassa. Ja saatat joutua käyttämään lippua saadaksesi sen toimimaan normaalina käyttäjänä.

Muut, jotka tarkastelevat tätä kysymystä, saattavat olla kiinnostuneita libguestfs . En ole tietoinen OS X -portista, mutta koska VirtualBoxilla on sovellusliittymä, se ei ole poissuljettua.

Mietin, miksi kukaan ei ole kirjoittanut yhteensopivuuskerrosta sallimaan Linux-ytimen tiedostojärjestelmän koodi, joka suoritetaan käyttäjätilassa / sulake. Tai onko joku?

Vastaa

Päivitetty vastaus (korkea) Sierraan

Sierra ja High Sierra ext4fuse näyttää toimivan hyvin vain lukuoikeudella ja siksi sitä voidaan todennäköisesti pitää ensisijaisena vaihtoehtona. Vaikka muut vastaukset antavat jo joitain käyttöesimerkkejä, toistan sen vielä kerran tärkeillä yksityiskohdilla:

Asenna ext4fuse seuraavalla kielellä:

 brew install ext4fuse  

Voit liittää tavallisena käyttäjänä, mutta tällöin vain pystyt käyttää maailman luettavia tiedostoja, siksi täyden käyttöoikeuden saavuttamiseksi sinun on käytettävä sudo, esim .:

 sudo ext4fuse -o allow_other /dev/disk2s1  

Tässä on bash-komentosarja, joka automatisoi prosessin osittain.Käynnistyksen yhteydessä se luo kiinnityspisteen automaattisesti, kun sinua pyydetään antamaan jokin näytetyistä laitetunnisteista, kuten disk2s1:

 diskutil list read -p "Please type the EXT4 device identifier: " disk_id MOUNT_POINT=~/mnt/$disk_id mkdir -p ${MOUNT_POINT} sudo ext4fuse -o allow_other /dev/$disk_id ${MOUNT_POINT} echo "***TO UNMOUNT USE***: "diskutil umount ${MOUNT_POINT}"" open ${MOUNT_POINT}  

Irrotukseen voi käyttää esim. diskutil umount /dev/disk2s1 – jos saat viestin, joka irrotetaan epäonnistui, voit pakottaa irrotuksen diskutil umount force /dev/disk2s1 -toiminnolla, vaikka puhtaampi olisi sulkea levyllä olevia tiedostoja käyttävät sovellukset ja yrittää irrottaa uudelleen ilman force.

Jos sinulla sattuu olemaan tiedostoja, jotka omistavat _lpoperator (ilmeisesti ne luodaan, kun käytät rsync with saglabā ryhmävaihtoehtoa), sitten seuraava komento sallii pääsyn kyseisiin tiedostoihin:

 /usr/sbin/dseditgroup -o edit -a everyone -t group _lpoperator  

Yosemiten ja vanhempien alkuperäinen vastaus * ( vanhentunut)

T * wo-paketteja tarvitaan EXT2 / 3/4-tuen ottamiseksi käyttöön OSX: ssä: OSXFUSE ja FUSE-EXT2 .

homebrew kaavat OSXFUSE: lle ja FUSE-EXT2: lle eivät toimineet minulle joko mavericks tai yosemite.

Toiminta oli seuraava:

  1. OSXFUSE DMG: n lataaminen ja asentaminen manuaalisesti osoitteesta http://osxfuse.github.io/ . TÄRKEÄÄ : Kun käynnistät PKG-asennusohjelman, varmista, että valitsit ohjatussa toiminnossa MacFUSE Compatibility Layer . (se ei ole oletusarvoisesti käytössä) – ilman sitä sain virheen yritettäessä asentaa.
  2. Lataa FUSE-EXT2 manuaalisesti osoitteesta http://sourceforge.net/projects/fuse-ext2/ tai Sierra / El Capitanille osoitteesta https://github.com/gpz500/fuse-ext2/releases ja suorita PKG-asennusohjelma.

Kun sekä OSXFUSE että FUSE-EXT2 on asennettu, voit asentaa ext2 / ext3 / ext4-osiot muiden vastausten mukaisesti:

  1. Etsi asennettavan EXT-osion laitenimi (esim. disk0s2 alla olevasta esimerkistä, (UPDATE) myöhemmissä MacOS-versioissa ext3 / ext4-osiot saattavat olla merkitty Microsoftin perustiedot eikä Linux ):

     1: Linux_Swap 8.2 GB disk0s1 2: Linux 119.9 GB disk0s2  
  2. Kiinnitä osio olemassa oleva kiinnityskohta:

      sudo mount -t fuse-ext2 /dev/disk0s2 /Volumes/ext4  

Asennus tavallinen käyttäjä ei toiminut minulle. Todennäköisesti tämä voidaan korjata etsimällä käyttöoikeuksia, mutta en tutkinut sitä.

Huomautus: Epäilen, että homebrew-kaavat eivät toimineet, koska homebrew asentaa osxfuse ilman MacFUSE-yhteensopivuustasoa .

Homebrew-tiedostossa on kaksi osxfuse -pakettia:

 # brew search osxfuse >>> osxfuse >>> Caskroom/cask/osxfuse  

Molemmat versiot eivät pysty asentamaan EXT-osioita. Todennäköisesti DMG-versio (Caskroom/cask/osxfuse) epäonnistuu, koska homebrew asentaa paketin oletusasetuksilla, mikä tarkoittaa, että MacFUSE Compatibility Layer ei ole mukana. osxfuse pääversio todennäköisesti tarvitsee jokin erityinen asennusparametri MacFUSE-yhteensopivuuden mahdollistamiseksi, joten kunnes tämä on korjattu homebrew-tiedostossa, tulisi käyttää manuaalista DMG-menetelmää.

Tämä menetelmä toimi maverickien, yosemiten, el capitanin ja sierran kanssa.

EXT2 / 3/4-asennusskripti vanhemmille OSX-versioille (vanhentunut)

Ylimääräisen kirjoittamisen säästämiseksi käytän pientä komentosarjaa, joka ottaa osion nimen, kuten disk0s2 ja kiinnittää sen kohtaan /Volumes/disk0s2, luoden kansio tarvittaessa:

 ### mount_ext4.sh sudo mkdir -p "/Volumes/$1" sudo mount -t fuse-ext2 "/dev/$1" "/Volumes/$1" open "/Volumes/$1"  

Komentosarjaa kutsutaan osion nimellä, joka voit etsiä diskutil list -palvelun kautta mount_ext4.sh disk2s3.

Kommentit

  • Yritti tätä, mutta valitettavasti sai virheen FUSE-EXT2 could not mount /dev/disk2s2 at /Volumes/ext4 because the following problem occurred: (mutta ongelman kuvausta tai viittausta ei ole). Olen asentanut Compability Layer -lisäosan. Olen ’ m MacOS Sierralla, joten kokeilin Github gzp500 -versiota.

Vastaa

Jos mietit mitä komentorivi on liittää ext4-osio sulakkeen ja ext2fusen avulla (esim. asennettuna MacPorts-käyttöjärjestelmällä port install ext2fuse), sinun on ensin työskenneltävä missä Linux-osio on:

diskutil list 

Tässä luetellaan kaikkien levyjen kaikki osiot ja niiden joukossa sinun pitäisi nähdä asiaankuuluvat TYPE-sarakkeessa Linuxina Yhdistä diskX ja osion numero Y näin / dev / diskXsY – e.g:

mount -t fuse-ext2 /dev/disk1s2 ~/my_mount_point 

Se voi valittaa siitä, ettei se voi kirjoittaa lokitiedostoon, mutta sen tulisi silti liittää osio kotisi liittämispisteeseen. Mutta jos haluat asentaa osion järjestelmähakemistoon, sinun on suoritettava se juurina, esim .:

sudo mount -t fuse-ext2 /dev/disk1s2 /sys_mount_point 

Jos se ei toimi, yritä:

sudo ext2fuse /dev/disk1s2 /sys_mount_point 

Päivitä : Viime aikoina olen löytänyt että sulake-ext2: lla on ongelmia tiettyjen uudempien ext4-ominaisuuksien kanssa, joten sen sijaan on parempi käyttää ext4fuse (port install ext4fuse tai brew install ext4fuse). Käytä ext4fuse-komentoa suoraan:

ext4fuse /dev/disk1s2 ~/mount_point 

Kuten Timothy mainitsi kommenteissa, sinun on yleensä käytettävä vain sudo jos asennat kotihakemistosi ulkopuolelle, tai levylle (/ dev / diskX) pääsee vain juurilla:

sudo ext4fuse /dev/disk1s2 /sys_mount_point 

On huomattava, että voi käyttää kyseistä liitettyä tiedostojärjestelmää vain root / sudo-tiedostona. esim.

sudo ls /sys_mount_point 

Ja irrottaaksesi tiedostojärjestelmän, käytä vain normaalia umount -komento (sudolla, jos sitä käytetään osion liittämiseen):

umount ~/mount_point 

Kommentit

  • Sinä Asemaa on käytettävä vain pääkäyttäjänä, jos asennat sen kotihakemiston ulkopuolelle. Voit cd ~, mkdir mnt, ext4fuse /dev/diskXsY mnt, ls -la mnt ilman sudo / root.
  • mount: exec /Library/Filesystems/fuse-ext2.fs/Contents/Resources/ mount_fuse-ext2 for …: Ei tällaista tiedostoa tai hakemistoa

Vastaus

Pelkästään tietojeni vuoksi olen testannut Paragon ExtFS -ajuria (kokeiluversio) MacBook Prollani kirjoittamaan ext4-osioon Linuxissa. Huomasin, että ohjain oli erittäin epävakaa, ja se loi vioittuneita tiedostojärjestelmiä, joita fsck ei pystynyt korjaamaan Linuxissa eikä Levytyökalussa.

Oma ideana oli pääsy /home -osioon Mac OS X: ltä käyttämällä tätä Paragon-ohjainta, mutta en ehdota tätä asetusta. Toistaiseksi minulla on /home -osio Linuxissa alustettu muotoon hfsplus ilman päiväkirjaa, ja pääsen sitten tiedostoihini Mac OS X: stä. Tietysti saan ajoittain joitain ongelmia FS: ssäni, mutta se ei ole kovin yleistä. En kuitenkaan myöskään ehdota tätä asetusta (ainakaan, että sinulla on ajan tasalla oleva varmuuskopio päivittäistä työtäsi varten.

Lopuksi uskon, että Paragon soveltuu ehkä paremmin käytettäväksi ulkoisille kiintolevyille, mutta joka tapauksessa se ei ole kovin luotettava ohjelmisto, joka on kallis lisenssi.

Päivitys: Toukokuussa 2015 alkaen olen alustanut kotini ext4: een, ja asennan tiedostojärjestelmän käyttämällä fuse-ext2: ta yhdessä FUSE for OS X: n kanssa. Voin käyttää ext4-osiota lukemiseen ja kirjoittamiseen. Se on vankempi asennus kuin aiemmin kuvailin.

Kommentit

  • Voin vahvistaa täällä viimeisen merkinnän, jossa Paragon ExtFS -ajuri voi aiheuttaa pahoja ongelmia Linux-asemillasi. Minulle, joka on dualbooting OSX ja Linux, paragon loi vioittuneita laitteeseeni. Tämä oli helppo ratkaista, mutta se ei kuitenkaan ole vakaa ratkaisu …
  • Huono kokemus Paragon ExtFS -ohjaimesta. Yhtenäinen ytimen paniikki johtaa järjestelmän uudelleenkäynnistykseen, tiedostojärjestelmän vioittumiseen (onneksi fsck Linux-ruutuun toimi). Yritetty kahdella eri ulkoisella asemalla samoilla tuloksilla.

Vastaa

Voit käynnistää Linux VM nopeasti OS X: lläsi Vagrant -ohjelmalla. Sinun on asennettava virtuaalikoneiden tarjoaja, kuten VirtualBox ja Vagrant joko .dmg-tiedoston kautta sivustoa tai käyttämällä -ruokaa .

Kun olet asentanut vagrant -komennon, suorita tämä mikä tahansa valittu kansio:

vagrant init ubuntu/trusty64; vagrant up --provider virtualbox 

Tämä luo Vagrantfile -asetustiedoston ja .vagrant -kansio.

ja Linux-ruutu käynnistetään muutamassa minuutissa (ladattu osoitteesta Atlas Hashicorp arkisto).

Sitten muodosta yhteys laatikkoon komennolla: vagrant ssh ja yritä liittää laitteesi Linuxiin.

Oletuksena nykyinen kansio synkronoidaan /vagrant -kansioon VM: ssä. Lisäasetuksia varten voit muokata vaaditulla kokoonpanolla.

Joten jos liität tiedostojärjestelmän kansioon /vagrant, se synkronoidaan automaattisesti takaisin MacOS.


Vaihtoehtoisesti sinun tarvitsee vain asentaa VirtualBox , suorittaa GUI-sovellus, asentaa ja käynnistää minimaalinen Linux-versio, esim. Ubuntu , jotta saavutat saman kuin edellä on selitetty.


Edellä mainitut ei-natiiviset ratkaisut eivät ole ihanteellisia, mutta ainakin sinun macOS olisi vakaampi sen sijaan, että asennettaisiin epävakaat ytimen laajennukset, jotka saattavat aiheuttaa paljon järjestelmän kaatumisia.

Kommentit

  • Suoritetaan vagrant init ubuntu/xenial64; vagrant up --provider virtualbox nimellä ubuntu/vivid64 ei ole enää saatavilla.
  • Kokeile sen sijaan käyttää ubuntu/trusty64.

vastaus

Minulla oli ext4-alustettu USB-asema, jonka pystyin asentamaan asennuksen jälkeen, kun olen asentanut osxfuse . Siitä lukeminen toimii hyvin, mutta en ole varma, onko kirjoittaminen turvallista.

Myös tiedostojen siirtämiseen OS X: n tiedostojärjestelmästä ( HFS + ) ext4: een, kannattaa ensin poistaa ne piilotetut .DS_Store-tiedostot , joihin OS X-tiedostojärjestelmä hiipii, koska ne aiheuttavat toisinaan huonoja inodit .

find /my/data/to/move -name "*.DS_Store" -type f -delete 

On parempi kuin korjata ne fsck -komento.

Vastaus

MacPortsissa on myös e2fsprogs-ohjelmia. Minulla ei ole t testasin sitä vielä itse, mutta näyttää lupaavalta.

Vastaa

Katsokaa – > https://github.com/alperakcan/fuse-ext2

Tätä yritän seuraavaksi.

Ext2: lle on macport-versio: https://ports.macports.org/port/ext2fuse/summary

On ext4-moduuli osxfuselle (johon voit käyttää pysähtyy macportin kautta), mutta se on vain lukukelpoinen!

Versioiden lukumäärä on hieman hämmentävä, mutta jossain vaiheessa olin onnistunut saamaan sen toimimaan, yritän uudelleen ja päivitän vastauksen, jos se toimii . 🙂

osxfuse on saatavana Macportissa ja erillisenä pakettina. En tiedä mikä toimii parhaiten uudemmissa OS X -versioissa, mutta pidän parempana Macportia ilmaisesta ohjelmistostani OS X: ssä.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *