November 3, 2025

How to Fix “systemctl not found” in Minimal Linux Systems

mr rockstar

How to Fix “systemctl not found” in Minimal Linux Systems
Cheap Dedicated Server

Introduction

If you’re using a minimal Linux system like Alpine, BusyBox, or a Docker container, you might encounter the error “systemctl: command not found.” This happens because systemctl is part of systemd, which is not included in many lightweight distributions. In this guide, we’ll explain why this error occurs and how to fix it.


Why “systemctl not found” Happens

Most minimal Linux systems don’t include systemd to keep them lightweight. Instead, they use other init systems like OpenRC, runit, or SysVinit. Since systemctl belongs to systemd, it’s unavailable by default.


Fix 1: Check If Your System Uses systemd

Run:
      Check If Your System Uses systemd

ps 1

If the output shows /sbin/init or /usr/lib/systemd/systemd, your system uses systemd. Otherwise, you’re using a different init system and must use its commands.


Fix 2: Install systemd (If Supported)

On systemd-compatible distributions like Ubuntu or Debian:

sudo apt update
sudo apt install systemd

Install systemd

Then reboot and use:

sudo systemctl start <service-name>

Fix 3: Use Alternative Init Commands

If your system uses another init system:

  • OpenRC (Alpine Linux):
    rc-service <service-name> start
    
  • OpenRC
  • runit:
    sv up <service-name>
    
  • runit
  • SysVinit:
    service <service-name> start
    SysVinit

Fix 4: Using Docker or Minimal Containers

In Docker containers, systemd is typically not installed. Use:

service <service-name> start
  • Using Docker or Minimal Containers

or directly run the process in the container:

/usr/sbin/<daemon> &

Conclusion

The “systemctl not found” error doesn’t always mean something is broken — it usually means your system doesn’t use systemd. Understanding which init system your Linux environment uses will help you choose the correct command and manage services properly.


 

How to Fix “systemctl not found” in Minimal Linux Systems (F.A.Q)

Why is systemctl missing in Docker containers?

Docker containers are designed to run single processes and don’t need a full init system like systemd.

 

 

Can I install systemd in Alpine Linux?

Technically yes, but it’s not recommended — Alpine uses OpenRC by default and works best with it.

What replaces systemctl in BusyBox?

BusyBox uses simple init scripts and doesn’t support systemd. You can manually start services with /etc/init.d/.

How do I check which init system is running?

Run ps 1 — it shows the process handling PID 1 (your init system).

Popular Blog Posts