systemctl: command not found

Linux distributions are moving away from their old System V-style startup processes to a newer mechanism, the systemd daemon, and its associated systemctl command-line tool. Services managed by systemd/systemctl require, at a minimum, a configuration file that defines startup and shutdown processes, a type definition that controls how those processes will be handled by the OS, and whatever executables are needed to start or stop the service processes.

On most new distributions that use the system, we would manage processes using the systemctl command. The Linux developers have also left support for the service command; if we try to terminate a process using the service command, then we will see that it is actually going to redirect our request to the systemctl command.

If you encounter the below error while executing any systemctl command:

systemctl: command not found

you may try installing the systemd package as per your choice of distribution.

Distribution Command
Debian apt-get install systemd
Ubuntu apt-get install systemd
Arch Linux pacman -S systemd
Kali Linux apt-get install systemd
CentOS yum install systemd
Fedora dnf install systemd
Raspbian apt-get install systemd

Configuration Files

  • /usr/lib/systemd/system/: It contains system default unit files.
  • /etc/systemd/system: It contains system-specific parameters to modify the default behavior of systemd.
  • /run/systemd/system/: It contains the runtime configuration of unit files.

systemctl Command Examples

1. Viewing states of service with systemctl:

# systemctl status sshd.service
Status Description
Loaded Unit configuration file is processed successfully
Active (running) Running with one or more active processes
Active (exited) Successfully completed a one-time configuration
Active (waiting) Running and waiting for an event to take place
Inactive Not running currently
Enabled Will get started at boot time
Disabled Will not get started at boot time
Static Cannot be enabled directly, but may be started by another enabled unit automatically

2. Displays the state of all the different units that are active and loaded on startup:

# systemctl

3. Displays the state of only service units that are active:

# systemctl --type=service 

or

# systemctl list-units --type=service

4. Displays the state of all service units loaded, whether active or inactive:

# systemctl --type=service –all 

or

# systemctl list-units --type=service --all

5. Displays all services that failed:

# systemctl --failed --type=service

6. Displays whether the particular service is currently active or not:

# systemctl is-active sshd

7. Displays whether the particular service in enabled to start at boot time or not:

# systemctl is-enabled sshd

8. Displays the enabled, disabled, or static settings of all units of the specified type:

# systemctl list-unit-files --type=service

9. Displays detailed status information about the specified service:

# systemctl status sshd.service -l
Related Post