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:
- 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.
- 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.
- 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
- 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.
- 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

‘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:
- 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.
- 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.
- 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:
- 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.
- 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.
- 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