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:
- 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.
- 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:
-
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
-
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
asubuntu/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.