DPM Paths

Public Signing Key Storage

/etc/dpm/keys/

Storage point for public signing keys used for packages. These keys are populated either from DON retrieving them from remote repositories or manually by the DPM utility.

Main Configuration File

/etc/dpm/config

System-wide configuration file for DPM.

Staging Directory for Transactions

/var/lib/dpm/storage/staging/<package_digest_hash>/

Current transactions are stored here until completed, and not moved to the DPM Backing Tree until successful, so that the backing tree is never exposed to incomplete transactions.

Failed transactions are cleared from staging by default, but can be optionally moved to a supplied directory with a command-line switch for inspection during troubleshooting.

DPM Backing Tree

/var/lib/dpm/storage/packages/<package_digest_hash>/

When DPM makes changes to the backing tree it regenerates the DPM caching database.

Package Metadata

/var/lib/dpm/storage/packages/<package_digest_hash>/metadata

The storage point for DPM package metadata for packages successfully installed.

Operational Triggers (HOOKS)

/var/lib/dpm/storage/packages/<package_digest_hash>/hooks

The storage point for DPM package hooks written for that package for operations that a newer version’s hooks would not take precedent, such as removal of the package.

Signatures

/var/lib/dpm/storage/packages/<package_digest_hash>/signatures

The storage point for DPM package signatures for package integrity validation and system modification auditing.

DPM Caching Database

/var/lib/dpm/dpmdb

The caching database upon which queries are performed. This is generated as a caching point from the DPM Backing Tree to accelerate queries against the packages managed by DPM. If the caching database does not exist or is deleted or otherwise corrupted, it can be regenerated by DPM.

Lock File

/var/lock/dpm.lock

The lock file ensures that only one transaction is processed at a time. While it would certainly be nice to be able to install many packages at the same time, the presence of the operational triggers (hooks) makes this nonviable.

The lock file contains the PID of the active DPM process.

If a lock file is present, DPM will refuse to run.

Logging

/var/log/dpm/dpm.log
SYSLOG

DPM optionally logs to either (or both) syslog and/or a main log file.