SYSTEMD-DELTA(1)
๐ SYSTEMD-DELTA ๐
okay bestie, so this is the manual page for systemd-delta โ it's the little tool that sniffs out which config files are overriding other config files, and honestly? it's giving detective energy ๐โจ
๐ธ SYNOPSIS ๐ธ
systemd-delta [OPTIONS...] [PREFIX | PREFIX/SUFFIX | SUFFIX...]
๐ฆ DESCRIPTION ๐ฆ
So here's the tea, bestie: systemd-delta helps you identify and compare configuration files that override other configuration files. Think of it like finding out who's the main character in a pile of same-named files.
The priority order is literally this, no cap:
- Files in
/etc/have highest priority - Files in
/run/have the second highest priority - ...and so on down the line
- Files in
/usr/lib/have lowest priority
If two directories have a file with the same name, the one in the higher-priority directory wins and overrides the lower-priority one. Periodt.
On top of that, some config files have ".d" directories โ those hold "drop-in" files, which are lil configuration snippets that augment the main config file. And guess what? Drop-ins can get overridden too, the exact same way โ by dropping a file with the same name into a higher-priority directory. BUT โ ๏ธ with drop-ins there's an extra rule: both the drop-in file name and the name of the containing directory must match (and that directory name corresponds to the name of the main configuration file). iykyk.
For a fuller explanation, go check out systemd.unit(5) โ she explains everything ๐
Now, about that command line argument. It gets split into a prefix and a suffix, and either one is optional:
- The prefix has to be one of the directories that contains configuration files (
/etc/,/run/,/usr/lib/, ...). If you give it, only overriding files inside that directory get shown. If you don't, all overriding files get shown. - The suffix has to be the name of a subdirectory containing configuration files, like
tmpfiles.d,sysctl.dorsystemd/system. If you give it, only config files in that subdirectory (across all configuration paths, btw) get analyzed. If you don't, all configuration files get analyzed. - And if you don't give a command line argument at all? Yep โ all configuration files get analyzed. Simple as that โจ
There are some examples down below, keep scrolling ๐ซถ
๐ OPTIONS ๐
The following options are understood:
-t,--type=โ when it's listing the differences, only list the ones you asked for. The list itself is a comma-separated list of the difference types you want.
The recognized types are:
maskedโ show masked filesequivalentโ show overridden files that, even though they're overridden, don't differ in contentredirectedโ show files that are redirected to another oneoverriddenโ show overridden and changed filesextendedโ show*.conffiles in drop-in directories for units. Added in version 205.unchangedโ show unmodified files too
--diff=โ when showing modified files, when a file is overridden, show a diff as well. This option takes a boolean argument. If you omit it, it defaults totrue.-h,--helpโ print a short help text and exit ๐ซก--versionโ print a short version string and exit--no-pagerโ do not pipe output into a pager
โจ EXAMPLES โจ
Wanna see all local configuration? say less:
systemd-delta
Wanna see all runtime configuration?:
systemd-delta /run
Wanna see all system unit configuration changes?:
systemd-delta systemd/system
Wanna see all runtime "drop-in" changes for system units? (this one's the extended girlie):
systemd-delta --type=extended /run/systemd/system
๐ EXIT STATUS ๐
On success, 0 is returned. Otherwise you get a non-zero failure code ๐ญ (it's giving "something went wrong, bestie").
๐ SEE ALSO ๐
and that's the whole page, no notes ๐ this was systemd 262.1 dropping the SYSTEMD-DELTA(1) knowledge, mwah ๐โจ bye bestie, go override something responsibly ๐ ๐ฆ
๐ฆ where this page comes from
- arch rolling: systemd 262.1-1 ยท LGPL-2.1-or-later AND CC0-1.0 AND GPL-2.0-or-later AND MIT-0
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms