- At its core systemd is a system and startup manager. This has replaced traditional tools and subsystems
- Project Page link
- systemd is a suite of basic building blocks for a Linux System. It provides system and service manager that runs as PID1 and starts the rest of the system
- system provides aggressive parallelization capabilities uses socket and D-Bus activation for starting services.
- systemd manages various system startup & shutdown functions. It also maintains startup and shutdown of services (daemon) on Linux OS.
- systemd can monitor the services throughout the lifetime.
- Systemd also no longer uses traditional shell scripts to store the configuration information for services which have been replaced by simple configuration files.
- The objects that systemd manages are called as units & they are building blocks of systemd. Objects can be
- services or daemons
- file system entries
- Standard unit configurations are stored under /usr/lib/systemd/system
- Any new unit files as well as any needed customizations to existing unit files should be copied over to /etc/systemd/system for actual usage.
- The following types of units exists
- Service units: The units include traditional system daemons or services, These daemons can be started, stopped, restart, reloaded & enabled.
- Service units are stored with .service extensions in /etc/systemd/system
ls -al *.service
- Socket units: These units consists of local and network sockets that are used for inter process communication in a system.
- Socket units are stored with .socket extensions int /etc/systemd/system
ls -al *.socket
- Device units: These units allow systemd to see & use kernel devices.
- Device units are stored with .device extensions int /etc/systemd/system
ls -al *.device
- Mount units: These units are used for mounting and unmounting file systems
- Mount units are stored with .mount extensions int /etc/systemd/system
ls -al *.mount
- Target units: systemd uses target units for logical grouping of units.
- target units are stored with .target extensions int /etc/systemd/system
ls -al *.target
- Timer units: These units are used for triggering activations of other units base on timers.
- timer units are stored with .timer extensions int /etc/systemd/system
ls -al *.timer
- Snapshot unit: These units are used to save the state of set of systemd units temporarily.
- snapshot units are stored with .snapshot extensions int /etc/systemd/system
ls -al *.snapshot
- Systemctl commandline for viewing units
sudo systemctl list-units --type=target
sudo systemctl list-units --type=mount --all
sudo systemctl list-units --all
sudo systemctl is-enabled sshd.service
sudo systemctl start NAME.service
sudo systemctl enable NAME.service
sudo systemctl stop NAME.service
sudo systemctl disable NAME.service