`systemd` replaces SysV init and BSD init for managing kernel boot
- PID 1 that takes over from bootloader
- Tool for managing Linux units
- Automatically resolves dependencies for units
- Each unit is associated with a simple unit file that includes declarative statements
- SysVinit used complicated init scripts
- Associated daemons:
- `journald`
- `localed`
- `timedated`
- `timesyncd`
- `logind`
- `hostnamed`
- `homed`
- `networkd`
- `resolved`
- `systemd-boot`
- `udevd`
- can be used for analyzing system issues
- `journalctl` to view systemd journal (log)
- `systemctl` to manage services
- `sysctl` handles settings for kernel modules
- priority order for `systemd` config files
- `/etc/systemd/system`
- `/run/systemd/system`
- `/usr/lib/systemd/system`
- `systemd-coredump` used to debug app crashes
- contains memory info from time of crash
- `systemd-analyze` shows times associated with boot process ![[images/Pasted image 20250807193504.png]]
- `systemd-analyze blame` shows how long each startup services ![[images/Pasted image 20250717193904.png]]
- need baseline to analyze properly