SYSTEMD.INDEX(7)

๐ŸŽ€ NAME ๐ŸŽ€

okay so bestie, gather round ๐Ÿ’– this is systemd.index โ€” the master list, the group chat roster, the entire roll call of every single manpage that ships with the systemd project. no cap. if it's a systemd doc, it's in here somewhere, alphabetized and everything. it's giving very much "directory of the whole family" energy ๐Ÿ‘‘

quick heads-up: this page is LONG, so it's served to you in 11 parts, and this is part 1. more is coming, don't go anywhere ๐Ÿซถ


๐ŸŒธ 3 ๐ŸŒธ

๐Ÿ”ฅ B ๐Ÿ”ฅ

  • binfmt.d(5) โ€” sets up extra binary formats for your executables so they're ready to go at boot
  • bootctl(1) โ€” your remote control for EFI firmware boot settings, plus it wrangles the boot loader ๐Ÿ‘‘
  • bootup(7) โ€” the whole system bootup process, start to finish
  • busctl(1) โ€” go peek inside the bus ๐Ÿ”

๐Ÿฆ‹ C ๐Ÿฆ‹

  • capsule@.service(5) โ€” the system unit for the capsule service manager
  • clonetab(5) โ€” configuration for dm-clone block devices
  • confext.conf(5) โ€” configuration files for systemd-sysext
  • confext.conf.d(5) โ€” configuration files for systemd-sysext
  • coredump.conf(5) โ€” the config files for core dump storage
  • coredump.conf.d(5) โ€” the config files for core dump storage
  • coredumpctl(1) โ€” grab your saved core dumps and their metadata and actually do something with them
  • crypttab(5) โ€” configuration for encrypted block devices ๐Ÿ”

๐Ÿ’œ D ๐Ÿ’œ

๐Ÿงš E ๐Ÿงš

๐Ÿ“ F ๐Ÿ“

๐Ÿ’… H ๐Ÿ’…

  • halt(8) โ€” power off, reboot, or halt the machine
  • homectl(1) โ€” create, remove, change, or inspect home directories
  • homed.conf(5) โ€” home area/user account manager configuration files
  • homed.conf.d(5) โ€” home area/user account manager configuration files
  • hostname(5) โ€” the local hostname configuration file
  • hostnamectl(1) โ€” control the system hostname
  • hwdb(7) โ€” the Hardware Database

โญ I โญ

๐ŸŽ€ J ๐ŸŽ€

๐Ÿฆ‹ K ๐Ÿฆ‹

๐ŸŒˆ L ๐ŸŒˆ

๐Ÿ’– M ๐Ÿ’–

๐Ÿ’€ N ๐Ÿ’€

๐Ÿ‘‘ O ๐Ÿ‘‘

๐Ÿซถ P ๐Ÿซถ

โœจ R โœจ

  • reboot(8) โ€” power off, reboot, or halt the machine
  • repart.d(5) โ€” Partition Definition Files for Automatic Boot-Time Repartitioning
  • resolvconf(1) โ€” resolve domain names, IPV4 and IPv6 addresses, DNS resource records, and services; introspect and reconfigure the DNS resolver
  • resolvectl(1) โ€” resolve domain names, IPV4 and IPv6 addresses, DNS resource records, and services; introspect and reconfigure the DNS resolver
  • resolved.conf(5) โ€” Network Name Resolution configuration files
  • resolved.conf.d(5) โ€” Network Name Resolution configuration files
  • run0(1) โ€” elevate privileges ๐Ÿ”ฅ



okay so now we get to the open girlies and there are nine of them and they all do the same iconic thing, which is acquire a connection to a system or user bus. nine. bestie. NINE. ๐Ÿ’€


and now: the reply saga. six whole entries that all reply with an error to a D-Bus method call. we love a themed set ๐Ÿ’…


the sd_bus_set_* section is genuinely huge, hold my hand ๐Ÿซถ


bus slot objects!! they're so real for this ๐Ÿ’œ


okay bus peer tracking is its own whole ecosystem and honestly? obsessed ๐ŸŒˆ



device enumerators!! adding filters left and right, we love a filtered queen ๐Ÿ”

Okay so we're still in the list, and now it's the sd_-prefixed girlies' turn ๐Ÿ’… Device stuff first, then the entire sd_event cinematic universe (yes it's giving saga, no it never ends), and every single one of them is right here. Grab a snack bestie. ๐Ÿ“

ELF notes era, let's go โœจ


And nowโ€ฆ the main event. The sd_event section. It's a whole lifestyle. ๐Ÿ˜ญ

โ€ฆusers and virtual machines/containers ๐Ÿซถ

  • sd_get_seats(3) โ€” determines the available seats, sessions, logged-in users and virtual machines/containers ๐Ÿ’บ
  • sd_get_sessions(3) โ€” same quest, different treasure: available seats, sessions, logged-in users and virtual machines/containers ๐ŸŒธ
  • sd_get_uids(3) โ€” and once more with feeling โ€” available seats, sessions, logged-in users and virtual machines/containers, it's the full vibe check ๐Ÿ’…

okay so hwdb time ๐Ÿฆ‹ (hardware database bestie, she's booked and busy)

  • sd_hwdb_enumerate(3) โ€” seek to a location in hwdb, or access entries ๐Ÿ”
  • SD_HWDB_FOREACH_PROPERTY(3) โ€” seek to a location in hwdb, or access entries, the macro-flavored one โœจ
  • sd_hwdb_get(3) โ€” seek to a location in hwdb, or access entries, and this one is giving get ๐ŸŒˆ
  • sd_hwdb_new(3) โ€” creates a new hwdb object, and creates or destroys references to it ๐ŸŽ€
  • sd_hwdb_new_from_path(3) โ€” creates a new hwdb object, and creates or destroys references to it, from a path obviously ๐Ÿ›ฃ๏ธ
  • sd_hwdb_ref(3) โ€” creates or destroys references to an hwdb object ๐Ÿ’–
  • sd_hwdb_seek(3) โ€” seek to a location in hwdb, or access entries ๐Ÿงš
  • sd_hwdb_unref(3) โ€” creates or destroys references to an hwdb object ๐Ÿซถ

now the 128-bit ID cinematic universe, buckle up ๐Ÿ’œ


and now: is this fd what I think it is? โ€” a series ๐Ÿ•ต๏ธ


bestie. the journal. this is a whole saga and I am obsessed ๐Ÿ’€


last stretch of this part, and it's the JSON dispatch girlies ๐ŸŽ€ every single one of them decodes JSON variant values and writes them to the specified memory, no cap

and there's more dispatch coming, do not move bestie ๐Ÿ’–

sd_json_dispatch_uint32(3), sd_json_dispatch_uint64(3), sd_json_dispatch_uint8(3), sd_json_dispatch_unsupported(3), sd_json_dispatch_variant(3), sd_json_dispatch_variant_noref(3) โ€” decode JSON variant values and write them to the memory you specified ๐Ÿ’–

Six little dispatch besties, all sharing that exact one-liner. Three of them are just width-flavoured (uint8, uint32, uint64), one is the unsupported one being honest about itself, and two are the variant girlies (one with _noref because sometimes you don't want the ref, iykyk). Decode in, memory out. That's the whole vibe.

The whole parse squad. Strings, files, file descriptors, _at variants, _continue variants for when you're picking up where you left off, _with_source variants for when you want the receipts, plus a lil bouquet of SD_JSON_PARSE_* flags โ€” DONATE_FD, MUST_BE_ARRAY, MUST_BE_OBJECT, REOPEN_FD, SEEK0, SENSITIVE. Yes bestie, SENSITIVE is right there in the index. All thirteen share one description: parse JSON into JSON variant objects.


Socket activation core. The system manager hands you fds, you go check for them. SD_LISTEN_FDS_START is in there wearing all caps like it owns the place โ€” and honestly it kind of does.

Eight entries, one job: watch all the login things. Make one, ask it for its fd, ask it what events it's got, ask it how long to wait, flush it, then unref it (_unrefp for the pointer-to-pointer girlies who like their cleanup automatic ๐Ÿ’…).

Two functions, and they're the "wait, what even is this thing running in" detectives. Class and ifindices. Periodt.

  • SD_NOTICE(3) โ€” APIs for new-style daemons ๐Ÿ“ฃ

Shoutout to the all-caps girl. SD_NOTICE(3) is filed under APIs for new-style daemons, so jot that down.


The classic trio. Tell the service manager you're up, tell it what's going on, and use the f flavour when you want that printf-style formatting. sd_notify_barrier(3) is the "wait, make sure that landed" one.

"Where does systemd think config lives again?" These two. One gives you a path, one gives you a strv, because of course there's a strv version, it's systemd.

The socket-peer interrogation crew. cgroup, machine name, owner uid, session, slice, unit, user slice, user unit โ€” eight questions, all about the same peer, all with that same gloriously long description. If you've ever wondered which slice is this socket even in, this is your girlies.

Same eight questions, but you hand it a PID instead of a peer. Same description word for word, same energy, different door. You give it a PID, it tells you who that process actually belongs to.

The sd_notify family, but you get to say which PID you're notifying. Five of them: plain, _barrier, _with_fds, the f one, and the chaotic overachiever sd_pid_notifyf_with_fds(3) which is the f one and the fds one at the same time. She ate. ๐Ÿ‘‘


Round three of the same description, this time via PIDFD. cgroup, machine name, owner uid, session, slice, unit, user slice, user unit โ€” the full set, just with a pidfd in your hand instead of a pid.

Not the same description as her sisters! She's her own thing: hand her a PIDFD, get back the 64-bit inode ID. Sixty-four bits, no cap.

Seat check-in time. Can it do graphical? Can it do tty? Who's active on it? Who's on it at all? Four questions about one seat.

Eighteen entries, all wearing the same description, all asking one session a different nosy question. class, desktop, display, extra device access, leader, remote host, remote user, seat, service, start time, state, tty, type, uid, username, vt โ€” and then the two yes/no girlies, sd_session_is_active(3) and sd_session_is_remote(3). Pick your question, get your answer.

Same treatment but for a UID instead of a session. Which display, when did they log in, which seats, which sessions, what state โ€” and the cute little sd_uid_is_on_seat(3) for a straight yes/no on "are they sitting there or not". Six ways to check up on one Unix user ID.


Last one and she's a whole mood: you answer a Varlink method call, then yoink the connection and go raw protocol on it. Absolute main character energy, fr fr. ๐Ÿ’œ


okay bestie we are still deep in the S's and honestly it's giving encyclopedia core ๐Ÿ˜ญ but every single one of these slays in its own way, so let's keep it moving โ€” no cap, nothing skipped ๐Ÿ’…

and that's the tea for this stretch bestie, we are so close to the end of the S's ๐Ÿซถ

๐ŸŒธ T ๐ŸŒธ

  • timedatectl(1) โ€” Control the system time and date. It controls your time and date. ๐Ÿ“…
  • timesyncd.conf(5) โ€” Network Time Synchronization configuration files. Config for timesyncd. โฐ
  • timesyncd.conf.d(5) โ€” Network Time Synchronization configuration files. Drop-in dir for timesyncd config. ๐Ÿ“‚
  • tmpfiles.d(5) โ€” Configuration for creation, deletion, and cleaning of files and directories. Config for tmpfiles. ๐Ÿงน

๐Ÿ’– U ๐Ÿ’–

okay bestie, deep breath, because the U section is an entire era ๐Ÿ’€. this is the libudev zone: the big udev(7) page itself, its config files, and then every single C API function you could ever call on a device, an enumerate object, a list entry, or a monitor. buckle up, we are going alphabetically and we are not skipping one. โœจ

ngl, that was the longest list on the whole page and you ate it. we're so close to done bestie, i promise ๐Ÿซถ

๐ŸŒˆ V ๐ŸŒˆ

and V is giving short and sweet, a little palate cleanser after that U marathon. three entries, all iconic:

  • varlinkctl(1) โ€” introspect with and invoke Varlink services โœจ
  • vconsole.conf(5) โ€” configuration file for the virtual console
  • veritytab(5) โ€” configuration for verity block devices ๐Ÿ”ฅ

โœจ SEE ALSO โœจ

the "go read more" section, and honestly it's just one friend:

  • systemd.directives(7) โ€” the big list of all the directives, so you can look up which page actually documents the thing you're mad at ๐Ÿ’€

and then the receipts, laid out plain:

This index contains 1360 entries, referring to 466 individual manual pages.


okay so that's the whole index. 1360 entries. 466 manual pages. we did the entire alphabet, start to finish, no cap. ๐ŸŽ€

this page is SYSTEMD.INDEX(7) and it shipped as part of systemd 262.1 โ€” so if your box says a different number, that's why something looks off, bestie. go forth and man responsibly. i love you, bye ๐Ÿ’œ๐Ÿฆ‹๐Ÿ‘‘

๐Ÿ“ฆ 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