Похожие статьи

Последние обновления

Монтируем EXT2, EXT3, EXT4 в Mac OS

Mac OS самостоятельно работать с файловой системой Linux, таких как EXT2, EXT3, EXT4, не может. Для решения этой проблемы есть платное решение extFS от Paragon, но есть и бесплатный вариант для тех кто не боится командной строки. Для этого нам понадобиться приложение fuse-ext2.

Установка Windows 11 без интернета или без учетной записи Microsoft

Windows 11 при первичном запуске требует подключения интернета и учётной записи Microsoft, но на практике бывают ситуации когда нет интернета или нет желания использовать учетную запись Microsoft. Например, в моём случае при подключении WiFi выдавало сообщение "oops you've lost internet connection".

Автоматизация получения бесплатных SSL сертификатов на хостинге RUCENTER

Можно долго ругаться на RUCENTER за нежелание дать клиентам виртуального хостинга бесплатные SSL сертификаты, но воз и ныне  там. В связи с этим пользователям остается либо уходить на другой хостинг, либо оставаться без HTTPS протокола и наблюдать неприятные пометки о небезопасности...

Монтируем EXT2, EXT3, EXT4 в Mac OS

Mac OS самостоятельно работать с файловой системой Linux, таких как EXT2, EXT3, EXT4, не может. Для решения этой проблемы есть платное решение extFS от Paragon, но есть и бесплатный вариант для тех кто не боится командной строки. Для этого нам понадобиться приложение fuse-ext2.

Для начала необходимо добавить возможность установки Homebrew приложений, для этого надо установить Brew командой в терминале, если ещё не установлен

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

далее ставим зависимости

brew install pkg-config
brew install macfuse

далее приступаем к установке fuse-ext2 . Создаем текстовый файл со следующим содержимым

#!/bin/sh
export PATH=/opt/gnu/bin:$PATH
export PKG_CONFIG_PATH=/opt/gnu/lib/pkgconfig:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

mkdir fuse-ext2.build
cd fuse-ext2.build

if [ ! -d fuse-ext2 ]; then
    git clone https://github.com/alperakcan/fuse-ext2.git	
fi

# m4
if [ ! -f m4-1.4.17.tar.gz ]; then
    curl -O -L http://ftp.gnu.org/gnu/m4/m4-1.4.17.tar.gz
fi
tar -zxvf m4-1.4.17.tar.gz 
cd m4-1.4.17
./configure --prefix=/opt/gnu
make -j 16
sudo make install
cd ../
    
# autoconf
if [ ! -f autoconf-2.69.tar.gz ]; then
    curl -O -L http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
fi
tar -zxvf autoconf-2.69.tar.gz 
cd autoconf-2.69
./configure --prefix=/opt/gnu
make
sudo make install
cd ../
    
# automake
if [ ! -f automake-1.15.tar.gz ]; then
    curl -O -L http://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz
fi
tar -zxvf automake-1.15.tar.gz 
cd automake-1.15
./configure --prefix=/opt/gnu
make
sudo make install
cd ../
    
# libtool
if [ ! -f libtool-2.4.6.tar.gz ]; then
    curl -O -L http://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gz
fi
tar -zxvf libtool-2.4.6.tar.gz 
cd libtool-2.4.6
./configure --prefix=/opt/gnu
make
sudo make install
cd ../

# e2fsprogs
if [ ! -f e2fsprogs-1.43.4.tar.gz ]; then
    curl -O -L https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.43.4/e2fsprogs-1.43.4.tar.gz
fi
tar -zxvf e2fsprogs-1.43.4.tar.gz
cd e2fsprogs-1.43.4
./configure --prefix=/opt/gnu --disable-nls
make
sudo make install
sudo make install-libs
sudo cp /opt/gnu/lib/pkgconfig/* /usr/local/lib/pkgconfig
cd ../
    
# fuse-ext2
export PATH=/opt/gnu/bin:$PATH
export PKG_CONFIG_PATH=/opt/gnu/lib/pkgconfig:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

cd fuse-ext2
./autogen.sh
CFLAGS="-idirafter/opt/gnu/include -idirafter/usr/local/include/osxfuse/" LDFLAGS="-L/opt/gnu/lib -L/usr/local/lib" ./configure
make
sudo make install

переименуем полученный фaйл в script.sh и дадим права на запусе

chmod +x script.sh

запускаем и по мере необходимости вводим пароль администратора

./script.sh

Если выполнение скрипта закончится с ошибкой на этапе установки панели PreferencePanes, то ничего страшного, на работу это не влияет.

Перезапускаем компьютер и снова терминале создаем папку для монтирования

mkdir ~/ext4mount

и подключаем нужный нам диск командой, например

sudo fuse-ext2 /dev/disk2s2 ~/ext4mount- o rw+,allow_other

Узнать путь нужного диска можно командой

diskutil list

Работоспособность проверялась на Mac OS Ventura 13.7, на более ранних тоже должно работать.