Linux: ‘Failed to connect to system scope bus’ Hatası Nasıl Düzeltilir

hostnamectl, timedatectl veya systemctl gibi systemd komutlarıyla çalışırken, “Yerel aktarım yoluyla sistem kapsamı veri yoluna bağlanılamadı: Böyle bir dosya veya dizin yok” hata mesajıyla karşılaşabilirsiniz. Bu hata, systemd’nin modern Linux sistemlerinde süreçler arası iletişim için gerekli olan D-Bus sistem ileti veri yoluyla iletişim kuramadığını gösterir. Bu eğitim, Debian tabanlı sistemlerde bu sorunu teşhis edip çözmenize yardımcı olacaktır; ancak kavramlar diğer dağıtımlar için de geçerlidir.

 

Hatayı Anlamak

Sistem kapsam veri yolu hatası, D-Bus hizmeti çalışmadığında, D-Bus soketi mevcut olmadığında, systemd D-Bus ile iletişim kuramadığında veya izin sorunları D-Bus soketine erişimi engellediğinde ortaya çıkar. D-Bus (Masaüstü Veri Yolu), uygulamaların birbirleriyle ve sistemle iletişim kurması için basit bir yol sağlayan bir mesaj veri yolu sistemidir. Systemd, çalışması için büyük ölçüde D-Bus’a güveniyor.

$ hostnamectl
Failed to connect to system scope bus via local transport: No such file or directory

Teşhis Adımları

Sorunu çözmeye çalışmadan önce, hataya neyin neden olduğunu doğru bir şekilde teşhis etmek önemlidir. Temel nedeni belirlemek için şu adımları izleyin:

  1. systemd’nin çalışıp çalışmadığını kontrol edin: Öncelikle, systemd’nin init sisteminiz olduğunu ve düzgün çalıştığını doğrulayın
    $ ps aux | grep systemd

    Beklenen çıktı, en azından systemd-journald ve systemd-udevd işlemlerinin çalıştığını göstermelidir.

  2. PID 1’i doğrulayın: PID 1 (başlatma işlemi) olarak neyin çalıştığını kontrol edin
    $ ps aux | head -2

    Çıktı, systemd’nin başlatma sistemi olduğunu onaylayan PID 1 olarak /sbin/init’i göstermelidir.

  3. systemd’nin init sistemi olduğunu onaylayın: /sbin/init’in systemd’yi işaret ettiğini doğrulayın
    $ ls -l /sbin/init

    Beklenen çıktı, .. /lib/systemd/systemd

  4. D-Bus durumunu kontrol edin: En yaygın neden D-Bus’un çalışmamasıdır. D-Bus işlemlerinin etkin olup olmadığını kontrol edin
    $ ps aux | grep dbus

    Çıktıda yalnızca grep’in kendisi görünüyorsa, D-Bus çalışmıyor ve başlatılması gerekiyor.

  5. D-Bus kurulumunu doğrulayın: D-Bus paketlerinin kurulu olduğundan emin olun
    $ dpkg -l | grep dbus

    dbus, dbus-daemon, dbus-system-bus-common ve libdbus-1-3 gibi paketleri görmelisiniz

     

    Entire terminal screenshot of how to fix the 'Failed to connect to system scope bus' Error step by step.
    ‘Sistem kapsam veriyoluna bağlanılamadı’ Hatasının adım adım nasıl düzeltileceğine dair tüm terminal ekran görüntüsü.

Çözüm

D-Bus’un çalışmadığını teşhis ettikten sonra çözüm basittir:

  1. D-Bus Hizmetini Başlatın: D-Bus kurulu ancak çalışmıyorsa, manuel olarak başlatın
    $ sudo systemctl start dbus

    Bu komut, D-Bus sistem mesaj veri yolu hizmetini hemen başlatacaktır.

  2. Düzeltmeyi Doğrulayın: systemd komutlarının artık çalışıp çalışmadığını test edin
    $ hostnamectl

    Başarılı çıktı, ana bilgisayar adı, kasa türü, sanallaştırma ve işletim sistemi ayrıntıları dahil olmak üzere sistem bilgilerini görüntüler.

  3. D-Bus Hizmet Durumunu Kontrol Edin: D-Bus’un düzgün çalıştığını doğrulayın
    $ sudo systemctl status dbus

    Çıkış “Etkin: etkin (çalışıyor)” göstermelidir ve dbus.socket tarafından tetiklendiğini gösterebilir

Alternatif çözümler

Temel çözüm işe yaramazsa şu alternatif yaklaşımları deneyin:

  1. Hata mesajlarını kontrol edin: D-Bus ile ilgili hatalar için sistem günlüklerini gözden geçirin
    $ sudo journalctl -xe | grep dbus

    Bu, D-Bus’ın neden başlatılamadığını gösterebilecek son günlük girişlerini gösterecektir.

  2. D-Bus paketlerini yeniden yükleyin: D-Bus bozuksa yeniden yükleyin
    $ sudo apt-get install --reinstall dbus dbus-daemon

    Bu, yapılandırma dosyalarını kaldırmadan D-Bus paketlerini yeniden yükleyecektir.

  3. Soket dosyası sorunlarını kontrol edin: D-Bus soket dosyasının var olduğunu doğrulayın
    $ ls -la /var/run/dbus/system_bus_socket

    Soket dosyası mevcut olmalı ve sistem tarafından erişilebilir olmalıdır.

 

 

Yazının orijinalini buradan okuyabilirsiniz

Hüseyin GÜÇ

Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım. Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum. Son 6 yıldır  sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum. Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.