systemd-dissect
Analyze systemd state without running systemd
TLDR
Show general image information about the OS image
Mount an OS image
Unmount an OS image
List files in an image
Attach an OS image to an automatically allocated loopback block device and print its path
Detach an OS image from a loopback block device
SYNOPSIS
systemd-dissect [OPTIONS...] [PATH]
PARAMETERS
-h, --help
Display a help message and exit.
--version
Show package version information.
--json=MODE
Format output as JSON. Modes include full, pretty, short, off (default).
--suffix=SUFFIX
Specify a suffix for temporary files created during analysis.
--no-pager
Do not pipe output into a pager.
--no-legend
Suppress the legend (header) from the output.
--timestamp=MODE
Control how timestamps are formatted in the output (pretty, raw, off).
--unit=UNIT
Analyze a specific system unit.
--user-unit=UNIT
Analyze a specific user unit.
--service-type=TYPE
Filter analysis by service type (e.g., simple, forking).
--wait=BOOL
Wait for the specified unit to finish before analyzing (default yes).
--no-block
Do not wait for the unit to finish.
--list-paths=BOOL
List paths for systemd-homed or systemd-machined instances.
--root=PATH
Operate on a different root directory (like a chroot environment).
--machine=NAME
Operate on a specific machine or container by name.
--user
Analyze the user systemd instance.
--system
Analyze the system systemd instance (default).
--boot-id=ID
Analyze a specific boot by its ID.
--this-boot
Analyze the currently running boot.
--on-this-machine
Analyze the currently running machine or container.
--full
Dissect full, verbose information.
--no-full
Do not dissect full information (less verbose).
--log-level=LEVEL
Set the logging verbosity level.
DESCRIPTION
systemd-dissect is a powerful diagnostic tool for inspecting the internal state and configuration of various systemd instances. It can analyze the boot sequence of a running system, or delve into the specifics of an inactive system, a disk image, or even specific systemd components like systemd-homed encrypted homes, systemd-machined virtual machines, or systemd-nspawn containers. Its primary purpose is to aid in debugging and understanding the intricate workings of systemd, providing detailed insights into unit states, dependencies, and overall system behavior. It's an essential utility for system administrators and developers troubleshooting systemd-related issues.
CAVEATS
The command might require elevated privileges (root) to access certain system states or disk images. Analyzing large images or complex states can consume significant system resources and time. Its output can be very detailed, requiring careful interpretation.
HISTORY
systemd-dissect was introduced as part of the systemd project, designed to provide deeper introspection capabilities beyond what systemd-analyze offers. It allows for offline analysis of various systemd contexts, which is crucial for forensic analysis, debugging boot failures in unbootable systems, or examining the state of virtualized environments and containers managed by systemd. Its development reflects the increasing complexity of systemd-managed systems and the need for robust debugging tools.
SEE ALSO
systemd(1), systemd-analyze(1), bootctl(1), systemd-homed(8), systemd-machined(8), systemd-nspawn(1)