DBFS/README.md

70 lines
2.8 KiB
Markdown
Raw Permalink Normal View History

2022-07-08 19:21:43 -04:00
# DBFS #
(Database Filesystem) DBFS is a FUSE file system utilizing an SQL database as the file system's backend. It mimics regular block storage in database tables, storing hash values of each block and maintains uniqueness among these blocks using those hash values. As a result, this file system can theoretically store more data while utilizing less actual data storage space. Other benefits include fast/easy snapshot-ting, forking and indexing.
2022-07-08 19:21:43 -04:00
### Usage ###
```
Usage: dbfs <argument>
Arguments>
--help
Display usage and version information about this application.
--run
Attempt to mount and run the database file system as
configured. This is blocking and is optimized to run via
systemd but can still run without systemd if desired.
--config <path-to-json-file>
Use this option to point to a json formatted file to
configure the application's behavior upon mounting the
2022-07-08 19:21:43 -04:00
database file system. If not present, it will use the
default config file location.
--config_help
Display details about the json config file and the
various elements it uses to change application behavior.
2022-07-08 19:21:43 -04:00
--list_db_drvs
List all QT based database drivers the application
currently supports. Any value returned by this command
line argument can then be used in "db_drv" inside of the
config file to pick which type of database you desire to
use.
```
### Build Setup ###
For Linux you need the following packages to successfully build/install:
```
fuse3
libfuse3-3
libfuse3-dev
qtbase5-dev
gcc
make
python3
```
Note: At this time, this application only supports Linux based platforms.
2022-07-08 19:21:43 -04:00
### Build ###
To build this project from source you just need to run the build.py and then the install.py python scripts. While running the build the script, it will try to find the Qt API installed in your machine according to the PATH env variable. If not found, it will ask you to input where it can find the Qt bin folder where the qmake executable exists or you can bypass all of this by passing the -qt_dir option on it's command line.
while running the install script, it will ask you to input 1 of 3 options:
***local machine*** - This option will install the built application onto the local machine without creating an installer.
***create installer*** - This option creates an installer that can be distributed to other machines for installation. The resulting installer is just a regular .py script file that the target machine can run if it has Python3 installed. Only Python3 needs to be installed and an internet connection is not required.
2022-07-08 19:21:43 -04:00
***exit*** - Cancel the installation.
-local or -installer can be passed as command line options for install.py to explicitly select one of the above options without pausing for user input.