https://github.com/harsh098/simple-in-memory-filesystem
A very primitive read-only in-memory fuse-based Unix/Linux Filesystem written in C.
https://github.com/harsh098/simple-in-memory-filesystem
filesystem systems-programming
Last synced: about 1 year ago
JSON representation
A very primitive read-only in-memory fuse-based Unix/Linux Filesystem written in C.
- Host: GitHub
- URL: https://github.com/harsh098/simple-in-memory-filesystem
- Owner: harsh098
- License: mit
- Created: 2022-04-01T10:27:36.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-04-15T17:38:36.000Z (almost 4 years ago)
- Last Synced: 2025-01-23T02:11:16.772Z (about 1 year ago)
- Topics: filesystem, systems-programming
- Language: C
- Homepage:
- Size: 11.7 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# simple-in-memory-filesystem
**SIMF**(Simple In-memory Filesystem) is a filesystem that runs on **FUSE**(Filesystem in User Space).
*According to the following [Wikipedia](https://en.wikipedia.org/wiki/Filesystem_in_Userspace) article:-*
>**F**ilesystem in **USE**rspace is a software interface for Unix and Unix-like computer operating systems
>that lets non-privileged users create their own file systems without editing kernel code.
**SIMF** is an in-memory read-only filesystem that mounts itself to a target and creates two files file001 and file002 that can only be read.
This project works on macOS,Linux and BSD systems.
**Compilation instructions on Linux Based targets :-**
**1.** Make sure FUSE libraries are installed.
For Ubuntu/Debian based systems :-
`sudo apt-get install fuse libfuse-dev`
For RHEL/Fedora/CentOS:-
`sudo yum install fuse fuse-devel`
**2.** Run the following command
`gcc simf.c -o simf 'pkg-config fuse --cflags --libs'`
**Running the project**
Navigate to the directory containing `simf` executable and run the following commands:-
**1.** `chmod 744 simf` *to make `simf`executeable.*
**2.** `./simf -f [mount_point]`