systemd is a system and service manager for Linux, compatible with SysV and LSB init scripts. systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux cgroups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit.
Systemd has been implemented into IPFire 3.x as an replacement of the old SysVinit system, because it provides a faster startup and a useable system if one or more services fails to startup. It also provides a plattform for central service management to start / stop services or to get their status information. We are using systemd without any support for SysV and LSB scripts, because we want a native systemd and native units - so we have disabled any support for that.
In IPFire 3.x systemd can only be used from shell, because we doesn't provide a X-Server or GTK framework to use the graphical applications.
To get a list off all services type the following command on the shell:
You will get a list of all services and it's status - if they are running or not, or maybe the fail on startup and so on….
To start or stop a service you have to know the name of it's “service” file. The are stored in “/lib/systemd/system/”.
To start a service type the following command on the shell:
systemctl start filename.service
To stop it use:
systemctl stop filename.service
To get the status information or error message from a service just type:
systemctl status filename.service
To enable or disable a service just type:
systemctl enable filename.service
To disable it on startup type:
systemctl disable filename.service
To enable the serial console just add “console=ttyS0” to the kernel command line at the grub entry.
Systemd will automaticall start a getty for this serial port. Check this with
systemctl status serial-getty@ttyS0.service
More information about systemd, how to deal with it and how to write own service files or units can be found at the following links: