βββ
βββββββ βββ ββββββ ββββ βββ βββββββ
ββββββββ βββββββ βββ βββ βββ ββ β βββββ βββββ ββ β βββββββ
βββ βββ βββββββ βββ ββββ ββββ βββββββ βββββββββββ βββββββ βββββββ
βββ βββ βββ βββ βββββββ βββββββ βββββββββββ βββ βββ
ββββββββ βββ βββ βββββ ββββββ βββ βββ βββ ββββββββ βββ
βββββββ βββ βββ βββ ββββββ βββ βββ βββββββ βββ
A terminal-based drive management tool for Linux (Debian-based), written primarily in C++. This project provides a straightforward interface for managing storage devices β HDDs, SSDs, and more β directly from the command line.
CLI:
-
Stable:
v0.8.88-08
(Stable version is functional but serves mostly as a safe baseline β the experimental version is recommended for more features) -
Experimental:
v0.9.07-79
(New Fingerprinting and benchmakring functions. fingerprinting is working, while benchmakring is in development)
GUI (Not getting Updated anymore):
- Rust GUI:
v0.1.5-alpha(Lists drives; not feature complete) - C++ GUI:
v0.1.1-alpha
(GUI versions lag behind CLI/TUI)
TUI (Experimental/In Progress):
- The TUI may be unstable depending on system and configuration.
- TUI elements will be implmented in CLI version
General Notes:
-
Check for new releases regularly.
-
GUI -> discontiued
-> (not recommended to use!)
-
TUI -> mixed with CLI
-> (not recommended to use!)
-
CLI -> Main programm and getting TUI
use this-> (use this)
This tool is for advanced users only! Formatting, encrypting, or modifying drives is inherently risky.
- Always back up your data.
- Do not type arbitrary or dangerous input at prompts (such as
/dev/sda rm -rf). - Double-check all device paths before confirming any destructive operation.
- TUI and CLI enhancements
See issues and projects for more.
/DriveMgr_CLI - CLI source code (C++)
/include - Headers (.h)
/src - Core sources
/DriveMgr_GUI - GUI version (Rust/C++)
/DriveMgr_TUI - TUI version (WIP)
build_src.sh - Build/install script
bin/ - Built executables
config.conf - Example config
- List all drives and partitions
- Format, label, and set filesystem type
- Drive encryption (AES-256) and decryption
- Partition resizing
- S.M.A.R.T. drive health checking
- Partition management
- Data overwrite/wiping
- Change/history log (aka. Loggin system)
- Metadata viewing
- Forensic tools (experimental)
- Disk space visualization (experimental)
- Log viewer
- Clone a drive
- Config file Editor, with my own tiny light weight text editor Lume
- Fingerprinting
- Benchmarking
- More in development or im too lazy to add them here
If during the installation somthing unexpected happens, you can ask for help by opening an issue or a discussion
- Linux
- C++17 compiler (e.g., g++) or higher
- OpenSSL dev libraries
- build-essential, smartmontools
The Requirements are only for when you manualy build the Application from scratch. If you use the build script, it will automaticly check and get the Required things
git clone https://github.com/Dogwalker-kryt/Drive-Manager-Linux
cd Drive-Manager-Linuxpython3 setup.py Defaults: creates necessary folders, builds the binary, and prompts for installation of missing packages.
After this you can run the command_creation.py
This will create in /usr/local/bin a script that will can be called in the terminal to start the Program
sudo python3 command_creation.py
g++ DriveMgr_CLI/src/DriveMgr_experi.cpp -Iinclude -o DriveMgr -lssl -lcryptoFor the GUI version:
cd DriveMgr_GUI
cargo buildIf required, create these directories by hand:
mkdir -p ~/.local/share/DriveMgr/bin
mkdir -p ~/.local/share/DriveMgr/bin/bin
mkdir -p ~/.local/share/DriveMgr/bin/launcher
mkdir -p ~/.local/share/DriveMgr/bin/other_src
mkdir -p ~/.local/share/DriveMgr/data
touch ~/.local/share/DriveMgr/data/log.dat
touch ~/.local/share/DriveMgr/data/keys.bin
touch ~/.local/share/DriveMgr/data/config.confStart by running the program (root required for some features):
sudo ./DriveMgr # or through the launcher
or
sudo ./DriveMgr --operation-name # for quick acsess to operations
or
dmgr # through command form the commandcreationWhen started, you'll see a menu, for example:
βββββββββββββββββββββββββββββββββββββββ
β DRIVE MANAGEMENT UTILITY β
βββββββββββββββββββββββββββββββββββββββ€
β 1. List Drives β
β 2. Format Drive β
β 3. Encrypt/Decrypt Drive β
β ... β
β 0. Exit β
βββββββββββββββββββββββββββββββββββββββ
Navigate by using the Arrow Key's (in main menu only) to the desired action. The tool will prompt you for additional information (drive number, confirm, etc).
For dangerous actions, an extra key (e.g., generated security key) is required as a safety confirmation.
- Start the tool:
sudo ./DriveMgr_experi
- Select an operation:
- E.g., View drive metadata: select
8
- E.g., View drive metadata: select
- Choose a drive by its Name
- Follow prompts to complete your selected operation
Menu numbers and feature sets may vary between releases.
DriveMgr_CLI/src/andinclude/β the core CLI codebase.DriveMgr_GUI/β incomplete experimental GUIs (Rust, C++).build_src.shβ comprehensive setup/build script.
What will be in future
- Experimental GUI/TUI modes
- Forensics and better diskspace visualization
- Polishing dry run mode, CLI flags, refactoring
Distributed under the GPL-3.0 License.
- Found a bug or have an idea? Open an issue
- Want to contribute? See CONTRIBUTING.md
- Like the tool? Star the repo!
See the known bugs, e.g., datalog.dat logfile mystery. (Not Bugging anymore, because of moving the Application location from .var to .local
Disclaimer: This tool is in active development. Features may not always be stable. Use at your own riskβalways test on non-critical systems!
kc'. .,cx
0c. ....;dK
X' .. 'kW
Wc .. ..''.. oW
WW; :k:lx0, ;XOc;ldXd .WW
WWc ,k,.,OxlooxXx'..;Kx .WW
WWx .cxxkOOO0KKKK0Okxkl xW
WWX ;doodxxxxxxddxkkkx' .,,. ;KW
WWKo. ;KXKOkxxxkkOKXNWWMMM0' 'xNW
WXx;. .xWMMMMWWNNWWWMMMMMMMMMMMk 'o0W
Wd' 'NWWMMMMMWWWMMMMMWWWWNNNXXX0, :0W
WX. .dNWMMMMMMMMMMMMMMMMMMMMMMWWNNNNd. '0W
WWx. .kMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMW: . oW
Wx. . ,WMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMW. . lW
Wx. . WMMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMM. . N
Wo';:;,..ONMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMWNNX. .. :W
XXXXXK0kxkOOOOOo,..;oONMMMMMMWMMMMMMMMMMMMMMMMMWWXokOO: .;dO0
xxkOOOOOOOOOOOOOOOkl' .,oXMMMMMMMMMMMMMMMMMMMWXK0oxOOkoc:::cokOOOOk0
OxkOOOOOOOOOOOOOOOOOOx:....cMMMMMMMMMMMMMMMMMMMKo,,oxOOOOOOOOOOOOOOOOOOOO0K
XxxkOOOOOOOOOOOOOOOOOOOOkxk00XWMMMMMMMMMMWXOdc' ;oxOOOOOOOOOOOOOkkkxxddxk
'xddddxxxkkkkkkOOOOOOOOOOkxoc. ........ .:lxkkOOOkkkxdoloxk0K
Okkxxdooddddolc:ck0KXXNNNNNNXXKK0OOkdoll;,;:ccccc:cok