systemd
systemd is a suite of basic building blocks for a Linux system. It runs as PID 1 and is the system and service manager that bootstraps the rest of the userspace, supervises long-running services, and exposes a coordinated set of D-Bus and Varlink IPC interfaces for managing services (systemd1), users and sessions (logind), network interfaces (networkd), name resolution (resolved), containers/VMs (machined), home directories (homed), boot entries (boot1/sysupdate1), system hostname/locale/timedate, OOM protection (oomd), portable services, and image imports. The project also publishes a stable command-line surface (systemctl, journalctl, networkctl, resolvectl, loginctl, machinectl, hostnamectl, timedatectl, localectl, busctl, varlinkctl, bootctl, homectl, coredumpctl, oomctl, portablectl, importctl, systemd-analyze and more). systemd is dual-licensed (LGPL-2.1-or-later for libraries and most code, GPL-2.0-or-later for select tools) and developed openly on GitHub at systemd/systemd.
APIs
systemd Manager (org.freedesktop.systemd1)
Core D-Bus API exposed by PID 1 on the system bus. The Manager object at /org/freedesktop/systemd1 enumerates and controls units (services, sockets, mounts, targets, timers, pat...
systemd-logind (org.freedesktop.login1)
D-Bus API of systemd-logind for tracking user logins, seats, sessions, and inhibitor locks. Manages session creation, switching, idle hints, lock/unlock, power-button handling, ...
systemd-networkd (org.freedesktop.network1)
D-Bus API of systemd-networkd for managing network interfaces, link configuration, DHCP server state, and netdev/network unit reload. Exposes Manager and per-Link interfaces wit...
systemd-resolved (org.freedesktop.resolve1)
D-Bus API of systemd-resolved for DNS/mDNS/LLMNR resolution, DNSSEC validation, per-link DNS configuration, search domain management, DNS-over-TLS settings, and cache flushing. ...
systemd-machined (org.freedesktop.machine1)
D-Bus API of systemd-machined for tracking and managing local containers and virtual machines, enumerating their associated images, opening shells/login sessions inside them, co...
systemd-hostnamed (org.freedesktop.hostname1)
D-Bus API of systemd-hostnamed for getting and setting the system hostname (static, transient, pretty), deployment/location/icon metadata, chassis type, and machine info.
systemd-localed (org.freedesktop.locale1)
D-Bus API of systemd-localed for getting and setting the system locale, X11 keymap, and console keymap.
systemd-timedated (org.freedesktop.timedate1)
D-Bus API of systemd-timedated for getting and setting the system time, timezone, NTP enablement, and RTC-in-local-time policy.
systemd-timesyncd (org.freedesktop.timesync1)
D-Bus API of systemd-timesyncd exposing the current NTP server, peers, root delay/dispersion, and synchronization status.
systemd-homed (org.freedesktop.home1)
D-Bus API of systemd-homed for managing portable, encrypted user home directories (LUKS, btrfs subvol, fscrypt, CIFS, directory) including create/remove/update/list operations, ...
systemd-importd (org.freedesktop.import1)
D-Bus API of systemd-importd for importing, exporting, downloading, listing, and removing container/VM machine images (tar, raw, dkr/OCI, qcow2) used by machined and portable se...
systemd-oomd (org.freedesktop.oom1)
D-Bus API of systemd-oomd, the userspace out-of-memory killer that uses cgroup v2 PSI signals to kill cgroups under memory or swap pressure. Exposes per-slice/cgroup state and p...
systemd-portabled (org.freedesktop.portable1)
D-Bus API of systemd-portabled for attaching/detaching portable service images, listing attached images, inspecting them, and managing their lifecycle on the host.
systemd-sysupdated (org.freedesktop.sysupdate1)
D-Bus API of systemd-sysupdated for transactional A/B updates of system/host/portable/container images using systemd-sysupdate transfers, including target enumeration, version l...
LogControl1 (org.freedesktop.LogControl1)
Generic D-Bus interface that systemd daemons (and other services) implement to expose runtime log level and log target configuration. Allows tools like systemd-analyze to change...
systemd Varlink Interfaces (io.systemd.*)
Modern JSON-line IPC surface exposed by systemd daemons via Varlink (single-fd, self-describing, discoverable through `varlinkctl`). Covers ~39 interfaces including io.systemd.M...