Git Product home page Git Product logo

fuse-ext2's Introduction

Fuse Ext2

Fuse-ext2 is a EXT2/EXT3/EXT4 filesystem support for fuse and is built to work with osxfuse.

Dependencies

Fuse-ext2 requires at least Fuse version 2.6.0 for Linux.
Fuse-ext2 requires at least Fuse for macOS version 2.7.5 or greater.

Alternate Install method of Fuse for macOS

Fuse for macOS can be installed via homebrew if Homebrew-Cask has been tapped.

To tap Homebrew-Cask

brew tap homebrew/cask

To verify the the above tap is apart of brew

brew tap

Look for homebrew/cask in the output.

To install Fuse for macOS using brew

brew cask install osxfuse

Build

Linux:

Build from source depends on:

  • m4
  • autoconf
  • automake
  • libtool
  • libfuse-dev
  • e2fsprogs
  • comerr-dev
  • e2fslibs-dev
$ apt-get install m4 autoconf automake libtool
$ apt-get install libfuse-dev e2fsprogs comerr-dev e2fslibs-dev
	
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

You can use checkinstall or some other equivalent tool to generate install package for your distribution.

FreeBSD:

Install via pkg:

$ pkg install sysutils/fusefs-ext2

Build via ports:

$ cd /usr/ports/sysutils/fusefs-ext2
$ make install clean

macOS:

Dependencies:

OSXfuse Build from source depends on:

  • m4
  • autoconf
  • automake
  • libtool
  • e2fsprogs
  • xcode-select

Copy and paste this into a file such as /tmp/ext4/script.sh. Remember to chmod +x script.sh. Run it from that directory - ./script.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

Test

The e2fsprogs live in /opt/gnu/bin and /opt/gnu/sbin, fuse-ext2 is in /usr/local/bin

cd
dd if=/dev/zero of=/tmp/test-fs.ext4 bs=1024 count=102400  
/opt/gnu/sbin/mkfs.ext4 /tmp/test-fs.ext4
mkdir -p ~/mnt/fuse-ext2.test-fs.ext4
fuse-ext2  /tmp/fuse-ext2.test-fs.ext4 -o rw+,allow_other,uid=501,gid=20

To verify UID and GID of the user mounting the file system

id

To verify the file system has mounted properly

mount

Usage

See Man page for options.

Usage:    fuse-ext2 <device|image_file> <mount_point> [-o option[,...]]

Options:  ro, rw+, force, allow_other
          Please see details in the manual.

Example:  fuse-ext2 /dev/sda1 /mnt/sda1

Bugs

  • Multithread support is broken for now, so forcing fuse to work single thread.
  • there are no known bugs for read-only mode, read only mode should be ok for every one.
  • although, write support is available please do not mount your filesystems with write support unless you do not have anything to loose.

Please send output the output of below command while reporting bugs as GitHub Issue. Before submitting a bug report, please look at the existing issues first.

$ /usr/local/bin/fuse-ext2 -v /dev/path /mnt/point -o debug

Important: Partition Labels

Please do not use comma , in partition labels.

Wrong: e2label /dev/disk0s3 "linux,ext3"

Correct: e2label /dev/disk0s3 "linux-ext3"

Contact

Alper Akcan [email protected]

fuse-ext2's People

Contributors

akbcode avatar alexkalmuk avatar alperakcan avatar danieltimlee avatar danieltroger avatar denics avatar ehaupt avatar franz-josef-kaiser avatar gpz500 avatar ipatch avatar ngkaho1234 avatar oddlots avatar oehm-smith avatar ole2mail avatar pascalwoerde avatar popstas avatar rd235 avatar sforshee avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.