Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/honzasp/libext2

Library that can read and write ext2 filesystem (first semestral program)
https://github.com/honzasp/libext2

ext2 filesystem fuse rust

Last synced: about 1 month ago
JSON representation

Library that can read and write ext2 filesystem (first semestral program)

Awesome Lists containing this project

README

        

# libext2

This is a school project to programming. It is not intended for serious use.
There is a serious risk of data loss if you use it on a real volume with
important data.

## Build requirements

You will need to [download and install Rust](rust) and also install `libfuse`
development files (`sudo apt-get install libfuse-dev` on Ubuntu).

## Build the Fuse example

To build the library and the example, please run

cargo build --example fuse

in the root of the repository. The command will download and build necessary
dependencies from creates.io, the repository of Rust packages, and then it will
compile the library and the example. The compiled executable will be located in
`target/debug/examples/fuse`.

## Run the Fuse example

The example can be executed like this:

./target/debug/examples/fuse

It will use `` as the volume (I strongly suggest using a regular file
-- *do not use on real volumes containing important data*) and will mount it on
`` (it will fail if the mount point does not exist). The process
will exit once the filesystem is unmounted, either using `umount` or `fusermount
-u`. Killing or terminating the process will not unmount the filesystem.

An empty filesystem can be created using

head -c >filesystem.ext2
mkfs -t ext2 filesystem.ext2

[rust]: https://www.rust-lang.org/downloads.html