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.d or systemd/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 files
  • equivalent โ€” show overridden files that, even though they're overridden, don't differ in content
  • redirected โ€” show files that are redirected to another one
  • overridden โ€” show overridden and changed files
  • extended โ€” show *.conf files 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 to true.
  • -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 ๐ŸŒˆ

systemd(1), systemd.unit(5)


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