dissect.target.plugins.os.unix.linux.debian.dpkg

Module Contents

Classes

DpkgPlugin

Returns records for package details extracted from dpkg's status and log files.

Functions

read_status_blocks

Yield package status blocks read from fh text stream as the lists of lines

parse_status_block

Parse package details block from dpkg status file

parse_log_date_time

parse_log_line

Parse dpkg log file line

Attributes

dissect.target.plugins.os.unix.linux.debian.dpkg.STATUS_FILE_NAME = '/var/lib/dpkg/status'
dissect.target.plugins.os.unix.linux.debian.dpkg.LOG_FILES_GLOB = '/var/log/dpkg.log*'
dissect.target.plugins.os.unix.linux.debian.dpkg.STATUS_FIELD_MAPPINGS
dissect.target.plugins.os.unix.linux.debian.dpkg.STATUS_FIELDS_TO_EXTRACT
dissect.target.plugins.os.unix.linux.debian.dpkg.DpkgPackageStatusRecord
dissect.target.plugins.os.unix.linux.debian.dpkg.DpkgPackageLogRecord
class dissect.target.plugins.os.unix.linux.debian.dpkg.DpkgPlugin(target: dissect.target.Target)

Bases: dissect.target.plugin.Plugin

Returns records for package details extracted from dpkg’s status and log files.

__namespace__ = 'dpkg'
check_compatible() None

Perform a compatibility check with the target.

This function should return None if the plugin is compatible with the current target (self.target). For example, check if a certain file exists. Otherwise it should raise an UnsupportedPluginError.

Raises:

UnsupportedPluginError – If the plugin could not be loaded.

status()

Yield records for packages in dpkg’s status database

log()

Yield records for actions logged in dpkg’s logs

dissect.target.plugins.os.unix.linux.debian.dpkg.read_status_blocks(fh: TextIO) Generator[List[str], None, None]

Yield package status blocks read from fh text stream as the lists of lines

dissect.target.plugins.os.unix.linux.debian.dpkg.parse_status_block(block_lines: List[str]) Dict[str, str]

Parse package details block from dpkg status file

dissect.target.plugins.os.unix.linux.debian.dpkg.parse_log_date_time(date_str: str, time_str: str) datetime.datetime
dissect.target.plugins.os.unix.linux.debian.dpkg.parse_log_line(log_line: str) Dict[str, str]

Parse dpkg log file line