Van-e biztonságos, stabil alkalmazás az ext4 fájlrendszerekből való olvasáshoz és íráshoz? Mac-en   OS   X?

Ha nem, akkor mi a legjobb módja a ext4 fájlrendszer Mac-en   OS   X?

Megjegyzések

  • Több mint hasznos lenne, ha megadnád, hogy az OS X melyik verzióját futtatod. Az OS verziójától függően kompatibilitási problémák merülnek fel a rendelkezésre álló megoldásokkal.

Válasz

A válasz attól függ, hogy hajlandó-e befektetni a kereskedelmi szoftverekbe:

Ha nem bánja, hogy pénzt költ valamilyen kereskedelmi termékre , Paragon extFS for Mac olvasási és írási hozzáférést biztosít az ext2 / ext3 / ext4 fájlrendszerekhez s az OS X / macOS összes verziója 10.10-től felfelé.

Ha ingyenes megoldást keres, , beállíthat egy Linux virtuális gépet, felhelyezheti a kötet (eke) t, és megoszthatja azokat Samba vagy (S) FTP-n keresztül. Ez a bejegyzés tartalmaz néhány részletet arról, hogyan lehet ezt elérni az VirtualBox , egy ingyenes virtuális gép-alkalmazás segítségével. . Vegye figyelembe, hogy ez nem éppen könnyű megoldás, még akkor is, ha egy előre beépített VirtualBox virtuális gép használata megkíméli Önt a Linux disztró telepítésétől és konfigurálásától a semmiből.

Megjegyzések

  • Biztosan van ‘ ingyenes nonvm megoldás?
  • osboxes.org kínál újabb verziókat a virtualboxes.org-hoz képest.

Válasz

Ken válaszára építve: sikeresen használtam a fuse4x és a fuse-ext2 elemeket, és Javaslom a fuse-ext2-t az ext4fuse felett. A fuse-ext2 írási hozzáférést biztosít, míg az ext4fuse csak olvasási hozzáférést biztosít. Vegye figyelembe, hogy neve ellenére a fuse-ext2 támogatja az EXT2 / EXT3 / EXT4-et.

Az ext4fuse gondot jelentett számomra , mert kézi fordítást igényel, és nem támogatja a fuse4x opciókat, amelyek lehetővé tennék nekem a hozzáférés-vezérlés beállítását. A fuse-ext2 letölthető csomagokat biztosít, és a 0.0.7 verzió csak fi ne. Néhány nagy ISO-t gond nélkül átmásoltam.

Megjegyzések

  • összeolvashatják az ext2-es fájlokat írhatóként vagy csak olvashatóan?

Válasz

Az OSXFUSE teljesen telepíthető a főzés parancssori csomagkezelő:

brew install homebrew/fuse/ext4fuse 

Ne feledje, hogy a telepítés szerint bizonyos parancsokat “sudo” néven kell futtatni.


A Yosemite segítségével jobb, ha megnézed ezt . Ezután ezt győződjön meg arról, hogy a könyvtár olvasható-e a felhasználó számára. A működéséhez a következő kerékcsoportot kellett használnom:

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

Válasz

A homebrew legújabb változásaival ennek olyan egyszerűnek kell lennie:

brew cask install osxfuse brew install ext4fuse 

Lehet, hogy újra kell indítania.

ext4fuse sajnos csak olvasható. Előfordulhat, hogy jelzőt kell használnia , hogy normál felhasználóként működjön.

A kérdést megtekintő másokat érdekelheti libguestfs . Nem ismerek OS X portot, de tekintve, hogy a VirtualBox rendelkezik API-val, ez nem kizárt.

Kíváncsi vagyok, miért nem írt senki kompatibilitási réteget a Linux kernel fájlrendszer engedélyezésére kód a futtatáshoz felhasználói térben / biztosítékban. Vagy van valaki?

Válasz

Frissített válasz a (High) Sierra

Sierra és High Sierra esetében Úgy tűnik, hogy a ext4fuse csak olvasási hozzáférés számára működik, ezért valószínűleg az előnyben részesített lehetőségnek tekinthető. Míg más válaszok már tartalmaznak néhány felhasználási példát, még egyszer megismételem néhány fontos részletgel:

Telepítse a ext4fuse alkalmazást a következővel:

 brew install ext4fuse  

Csatlakozhat normál felhasználóként is, de ebben az esetben csak ” világszerte olvasható fájlokhoz való hozzáféréshez, ezért a teljes hozzáféréshez a sudo szolgáltatást kell használnia, például:

 sudo ext4fuse -o allow_other /dev/disk2s1  

Itt van egy bash szkript, amely részben automatizálja a folyamatot.Indításakor automatikusan létrehozza a csatlakozási pontot, miután a rendszer kéri a megjelenített eszközazonosítók egyikének megadását, például 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}  

A leválasztáshoz használhatja pl. diskutil umount /dev/disk2s1 – ha olyan üzenetet kap, amely leválasztja sikertelen, akkor kényszerítheti a leválasztást a következővel: diskutil umount force /dev/disk2s1, bár tisztább lenne bezárni azokat az alkalmazásokat, amelyek a lemezen lévő fájlokat használják, és újból próbálkozni kell a leválasztással force

Ha véletlenül _lpoperator fájljai vannak (nyilvánvalóan akkor jönnek létre, amikor az rsync és a csoport megőrzése opciót használja), akkor a következő parancs lehetővé teszi ezen fájlok elérését:

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

Eredeti válasz Yosemite és régebbi * ( elavult)

T * wo csomagokra van szükség az EXT2 / 3/4 támogatás OSX-en történő engedélyezéséhez: OSXFUSE és FUSE-EXT2 .

A homebrew képletek az OSXFUSE és a FUSE-EXT2 nem működtek nekem akár maverickeken, akár yosemite-en.

Ami a következő volt:

  1. Az OSXFUSE DMG kézi letöltése és telepítése a . FONTOS : Miután elindította a PKG telepítőt, ellenőrizze, hogy a varázslóban a MacFUSE kompatibilitási réteg t választotta-e. (alapértelmezés szerint nincs engedélyezve) – nélküle hibát észleltem a csatlakoztatás közben.
  2. A FUSE-EXT2 kézi letöltése a http://sourceforge.net/projects/fuse-ext2/ vagy Sierra / El Capitan esetében: https://github.com/gpz500/fuse-ext2/releases , és futtassa a PKG telepítő.

Miután az OSXFUSE és a FUSE-EXT2 egyaránt telepítve van, az ext2 / ext3 / ext4 partíciókat felcsatolhatja a többi válaszban említett módon:

  1. Keresse meg a csatlakoztatni kívánt EXT partíció eszköznevét (pl. disk0s2 az alábbi példában, (UPDATE) a későbbi MacOS verziókban az ext3 / ext4 partíciók Microsoft alapadatok és nem Linux ):

     1: Linux_Swap 8.2 GB disk0s1 2: Linux 119.9 GB disk0s2  
  2. Csatlakoztassa a partíciót egy meglévő csatlakozási pont:

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

Felszerelés egy rendes felhasználó nem működött nálam. Valószínűleg ezt meg lehet oldani az engedélyek fikázásával, de nem néztem meg.

Megjegyzés: Az a gyanúm, hogy a homebrew képletek nem működtek, mert a homebrew telepíti a osxfuse a MacFUSE kompatibilitási réteg nélkül.

Két osxfuse csomag van homebrew-ban:

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

Mindkét verzió nem tudja csatlakoztatni az EXT partíciókat. Valószínűleg a DMG verzió (Caskroom/cask/osxfuse) sikertelen, mert a homebrew telepíti a csomagot az alapértelmezett beállításokkal, ami azt jelenti, hogy a MacFUSE kompatibilitási réteg nincs benne. A fő osxfuse verzió valószínűleg szükséges néhány speciális telepítési paraméter a MacFUSE kompatibilitás engedélyezéséhez, ezért amíg ez a homebrew-ban nem javul, a kézi DMG módszert kell használni.

Ez a módszer a maverickeken, a yosemite-en, az el capitanon és a sierrán működött.

EXT2 / 3/4 csatoló szkript régebbi OSX verziókhoz (elavult)

Néhány gépelés eltakarításához használok egy apró szkriptet, amely a partíció nevét (például disk0s2) veszi fel, és az /Volumes/disk0s2 alá helyezi, létrehozva a mappa, ha szükséges:

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

A szkriptet a partíció nevével hívják meg pl. a diskutil list keresztül keresi fel mount_ext4.sh disk2s3.

Megjegyzések

  • Megpróbáltam, de sajnos megkapta a hibát FUSE-EXT2 could not mount /dev/disk2s2 at /Volumes/ext4 because the following problem occurred: (de nincs probléma leírása vagy hivatkozása). Telepítettem a Compability Layer addont. Én ‘ m a macOS Sierrán, így kipróbáltam a Github gzp500 verzióját.

Válasz

Ha arra kíváncsi, hogy mi a parancssor az ext4 partíció csatolásához a biztosíték és az ext2fuse segítségével (pl. ha a MacPorts port install ext2fuse használatával telepítette) – akkor először is dolgoznia kell ahol a Linux partíció található:

diskutil list 

Ez felsorolja az összes lemez összes partícióját, és ezek között meg kell látnia a relevánsakat a TÍPUS oszlopban Linux néven Kombinálja a diskX-et és az Y partíciószámot így / dev / diskXsY – e.g:

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

Panaszkodhat, hogy nem tud írni a naplófájlba, de mégis be kell illesztenie a partíciót az otthoni csatlakozási pontba. De ha a partíciót egy rendszerkönyvtárba kívánja csatolni, akkor rootként kell futtatnia, pl .:

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

Ha ez nem működik, próbálja meg:

sudo ext2fuse /dev/disk1s2 /sys_mount_point 

Frissítés : Újabban találtam hogy a fuse-ext2-nek problémái vannak bizonyos újabb ext4 funkciókkal, ezért ehelyett jobb használni az ext4fuse (port install ext4fuse vagy brew install ext4fuse). Használja közvetlenül az ext4fuse parancsot:

ext4fuse /dev/disk1s2 ~/mount_point 

Timothy által a megjegyzésekben említettek szerint általában csak sudo ha a saját könyvtáradon kívülre telepítesz, vagy a lemez (/ dev / diskX) csak gyökér által érhető el:

sudo ext4fuse /dev/disk1s2 /sys_mount_point 

Meg kell jegyezni, hogy csak rootként / sudo-ként férhet hozzá ahhoz a csatlakoztatott fájlrendszerhez. pl.

sudo ls /sys_mount_point 

A fájlrendszer leválasztásához pedig csak a normál umount parancs (sudo-val, ha a partíció csatlakoztatására használják):

umount ~/mount_point 

Megjegyzések

  • Ön Csak akkor kell hozzáférnie a meghajtóhoz root-ként, ha a saját könyvtárán kívül csatlakoztatja. Megteheti: cd ~, mkdir mnt, ext4fuse /dev/diskXsY mnt, ls -la mnt sudo / root nélkül.
  • mount: exec /Library/Filesystems/fuse-ext2.fs/Contents/Resources/ mount_fuse-ext2 for …: Nincs ilyen fájl vagy könyvtár

Válasz

Csak a megjegyzés kedvéért teszteltem a Paragon ExtFS illesztőprogramot (próbaverzió) a MacBook Pro-n, hogy Linuxon ext4 partícióra írjak. Megállapítottam, hogy az illesztőprogram nagyon instabil, és olyan sérüléseket okozott a fájlrendszerben, amelyeket fsck nem tudott megjavítani sem Linuxban, sem pedig a Lemez segédprogramban.

Saját az ötlet az volt, hogy hozzáférhessek a /home partíciómhoz Mac OS X-ből ezzel a Paragon illesztőprogrammal, de nem javaslom ezt a beállítást. Eddig megvan a /home partíció a Linuxban hfsplus formátumra formázva, naplózás nélkül, majd hozzáférhetek a fájljaimhoz a Mac OS X-ből. Természetesen időről időre kapok néhány probléma az FS-en, de nem túl gyakori. Azonban ezt a beállítást sem javaslom (legalábbis hogy naprakész biztonsági másolattal rendelkezik a mindennapi munkához).

Végül úgy gondolom, hogy A Paragon alkalmasabb külső merevlemezek használatára, de egyébként sem túl megbízható, mivel szoftveres, mely licenc drága.

Frissítés: 2015 májusától az otthonomat ext4-be formázom, és csatlakoztatom a fájlrendszert a fuse-ext2 használatával, az OS X FUSE kombinációjával. Hozzáférhetek az ext4 partícióhoz olvasáshoz és íráshoz. Ez szilárdabb beállítás, mint amit a fentiekben leírtam.

Megjegyzések

  • Meg tudom erősíteni az utolsó bejegyzést itt, ahol a Paragon ExtFS illesztőprogram néhány rossz problémát okozhat a linuxos meghajtókon. Nekem, aki dualbootos OSX-t és Linuxot használok, a Paragon korrupciókat hozott létre az eszközemen. Ezt könnyű volt megoldani, de ez mégsem stabil megoldás …
  • További rossz tapasztalat a Paragon ExtFS illesztőprogrammal kapcsolatban. Következetes kernelpánikok vezetnek a rendszer újraindításához, a fájlrendszer sérüléséhez (szerencsére az fsck Linux boxon működött). Két különböző külső meghajtón próbálkozott, azonos eredménnyel.

Válasz

Indíthat Linux virtuális gép gyorsan az OS X rendszeren az Vagrant használatával. Telepítenie kell a virtuális gép-szolgáltatót, például a VirtualBox és az Vagrant vagy .dmg fájlon keresztül a webhelyet, vagy használja a főzőládát .

Miután telepítette a vagrant parancsot, futtassa ezt bármelyik kiválasztott mappa:

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

Ez Vagrantfile konfigurációs fájlt és .vagrant mappa.

és néhány percen belül elindul a Linux box (letölthető a Atlas Hashicorp adattár).

Ezután csatlakozzon a mezőhöz a következő parancs segítségével: vagrant ssh és megpróbálja csatlakoztatni eszközét a Linux belsejébe.

Alapértelmezés szerint az aktuális mappa szinkronizálva lesz a virtuális gép /vagrant mappájával. A speciálisabb lehetőségekért módosíthatja a a szükséges konfigurációval.

Tehát ha a fájlrendszert a /vagrant mappába illeszti, az automatikusan vissza lesz szinkronizálva a macOS.


Alternatív megoldásként egyszerűen telepítenie kell egy VirtualBox alkalmazást, futtatnia kell a GUI alkalmazást, telepítenie és indítania kell a Linux minimális verzióját, pl. Ubuntu a fentiekben leírtak elérése érdekében.


A fenti nem natív megoldás nem ideális, de legalább A macOS sokkal stabilabb lenne, mint instabil kernelbővítmények telepítése, amelyek sok rendszerösszeomlást okozhatnak.

Megjegyzések

  • Futtatható vagrant init ubuntu/xenial64; vagrant up --provider virtualbox as ubuntu/vivid64 már nem érhető el.
  • Próbálja inkább a ubuntu/trusty64 -t használni.

Válasz

Volt egy ext4 formázott USB-meghajtóm, amelyet a osxfuse . Az olvasás remekül működik, de nem vagyok biztos benne, hogy az írás biztonságos-e.

Ezenkívül fájlok áthelyezéséhez az OS X fájlrendszeréből ( HFS + ) az ext4-be, először el kell távolítania azokat a rejtett .DS_Store fájlokat , amelyekbe bekúszik az OS X fájlrendszer, mivel ezek időnként rossz inodes .

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

Jobb, mint ha egy fsck parancs.

Válasz

A MacPorts-ban e2fsprogs is elérhető. Nincs “t” magam is teszteltem, de ígéretesnek tűnik.

Válasz

Vessen egy pillantást a következőre: – > https://github.com/alperakcan/fuse-ext2

Ezt fogom megpróbálni legközelebb.

Az ext2 esetében létezik egy macport verzió: https://ports.macports.org/port/ext2fuse/summary

Van egy ext4 modul az osxfuse-hoz (amit be tudsz adni elakad a macporton keresztül), de csak olvasható!

A verziók sokasága kissé zavaró, de egy pillanatban sikerült működtetnem, megpróbálom újra és frissítem ezt a választ, ha mégis . 🙂

Az osxfuse elérhető macportokban és önálló csomagként. Nem tudom, melyik működik a legjobban az újabb OS X verziókon, de inkább az Mac OS-t használom az ingyenes szoftveremhez az OS X-en.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük