Catalog / Install Methods

Install Methods

Each tool in the catalog defines one or more install methods. DPM picks the best available method for your platform automatically.

Method selection

When you run dpm install, DPM checks which methods are defined for the tool and which package managers are available on your system. It uses the first method that works, in the priority order defined in the catalog entry. You don't need to specify a method, selection is automatic.

The TUI shows the resolved install method for each tool in both the Tools tab and the Installed tab.

apt

Used on Debian, Ubuntu, Kali, and compatible distributions. DPM calls apt-get install with the package name specified in the catalog entry. Requires apt-get in PATH and may prompt for sudo depending on your system configuration.

method: apt package: nmap

Homebrew

Used on macOS (and Linux systems with Homebrew installed). DPM calls brew install with the formula name. Requires Homebrew to be installed and in PATH.

method: brew formula: nmap

pip

Used for Python-based tools. DPM calls pip install (or pip3) with the package name. Requires Python and pip in PATH. Tools installed via pip are placed in the user site-packages by default (--user flag).

method: pip package: binwalk

cargo

Used for Rust-based tools. DPM calls cargo install with the crate name. Requires a Rust toolchain (cargo) in PATH. Build times can be significant for complex crates.

method: cargo crate: ripgrep

Direct HTTP download

Used when no system package manager entry exists, or when a specific pre-built binary is preferred. DPM downloads the binary or archive from the catalog URL, verifies the SHA-256 hash, extracts if needed, and links the binary through ~/.dpm/bin/.

method: http url: https://github.com/user/tool/releases/download/v1.2/tool-linux-amd64 sha256: e3b0c44298fc1c149afb...
Direct HTTP downloads are always SHA-256 verified before the binary is placed on your system. If the hash doesn't match, the install is aborted and the file is discarded.

Fallback behaviour

If the preferred method for a tool is unavailable (e.g. brew on a Linux system without Homebrew), DPM tries the next defined method in the catalog entry's priority list. If no method works, the install fails with a clear error indicating which methods were attempted and why each was skipped.