Tüm Ürünler
Search
Belge Merkezi

:Troubleshoot systemctl errors on a Linux instance

Son Güncelleme:Sep 30, 2026

Systemd olmayan bir init sistemi veya bozuk bir systemd yapılandırmasından kaynaklanan systemctl hatalarını çözün.

Belirti

Bir Linux örneğinde systemctl komutunu çalıştırdığınızda aşağıdaki hatalardan biri döner:

System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to get D-Bus connection: xxx xxx.

Neden

systemctl , Linux init sistemi ve hizmet yöneticisi olan systemd için kullanılan bir komut satırı aracıdır. Bu hatalar aşağıdaki nedenlerle oluşur:

  • Sistem, init sistemi olarak systemd kullanmıyordur.

    • Bazı eski veya hafif Linux dağıtımları (Devuan, Alpine Linux veya Void Linux gibi) varsayılan olarak başka init sistemleri (OpenRC, SysVinit veya runit gibi) kullanır. Örneğin, Windows Subsystem for Linux (WSL) varsayılan olarak SysVinit kullanır.

    • Komutu, systemd kullanacak şekilde yapılandırılmamış bir Docker veya Podman konteyneri içinde çalıştırıyorsanız bu hata oluşur.

  • Sistem systemd kullanıyor ancak systemd bozuk veya yanlış yapılandırılmış olabilir.

Çözüm

  1. Linux örneğine bağlanın.

    Bakın Workbench kullanarak bir Linux örneğinde oturum açma.

  2. Sistemin init sistemi olarak systemd kullanıp kullanmadığını kontrol edin:

    ps -p 1 -o comm=
    • Çıktı boş veya systemd değil: Sistem systemd kullanmıyor. Geçerli init sistemi için hizmet yönetimi komutlarını kullanın.

      Not

      systemctl betiklerine ihtiyacınız varsa systemd destekleyen bir Linux dağıtımı kullanın veya Docker konteynerinde systemd etkinleştirilmiş bir Linux sistemi çalıştırın.

      Örneğin, sistem SysVinit kullanıyorsa (çıktı init olur), systemctl yerine service komutunu kullanın. Aşağıdaki tabloda yaygın komutlar karşılaştırılmıştır:


      İşlem/komut


      SysVinit


      Systemd


      Hizmeti başlat


      sudo service service_name start


      sudo systemctl start service_name


      Hizmeti durdur


      sudo service service_name stop


      sudo systemctl stop service_name


      Hizmeti yeniden başlat


      sudo service service_name restart


      sudo systemctl restart service_name


      Hizmet durumunu kontrol et


      sudo service service_name status


      sudo systemctl status service_name


      Otomatik başlatmayı etkinleştir


      sudo chkconfig service_name on


      sudo systemctl enable service_name


      Otomatik başlatmayı devre dışı bırak


      sudo chkconfig service_name off


      sudo systemctl disable service_name

    • Çıktı systemd: Sistem systemd kullanıyor. Hata devam ediyorsa systemd bozuk veya yanlış yapılandırılmış olabilir. systemd hizmetini kurtarmak için kullandığınız dağıtımın resmi belgelerine bakın.