%50 indirim tüm planlarda, sınırlı süre. Başlangıç fiyatı $2.48/mo
7 dakika
Sunucular ve İşletim Sistemleri

Ubuntu'de systemctl: Command Not Found Hatası Nasıl Düzeltilir

Nick Gümüş By Nick Gümüş 7 dakikalık okuma Güncelleme: 20 Şubat 2025
systemctl: command not found hatası nasıl düzeltilir

Linux kullanıcıları için, özellikle Ubuntu gibi modern dağıtımlarda, en kullanışlı araçlardan biri systemctl komutu'dir. Bu komut satırı aracı, genellikle systemd ile yani sistem ve servis yöneticisiyle etkileşim kurmak için kullanılır.

Bu komut sayesinde sistem servislerini yönetebilir, durumlarını görebilir, başlatıp durdurabilir ve sistem açılışında etkinleştirip devre dışı bırakabilirsiniz. Oldukça kullanışlı, değil mi? Ancak systemctl komutu bulunamaz ya da tanınmazsa şu hatayla karşılaşırsınız: "sudo:systemctl: command not found" hata.

Şimdi "systemctl: command not found" hatasının ne anlama geldiğini, bu hatayla neden karşılaştığınızı ve nasıl çözebileceğinizi ele alalım.

systemctl: Command Not Found Hatası Ne Anlama Gelir?

Kısaca açıklamak gerekirse, "systemctl: command not found" hatası, systemctl komut satırı aracının mevcut ortamda mevcut olmadığı veya erişilemez durumda olduğu anlamına gelir. Bunun birden fazla nedeni olabilir; ancak hepsi ya ortamın systemd'siz bir ortam olmasına ya da systemd paketinin sisteme kurulu olmamasına dayanır.

Temel olarak şu ihtimaller söz konusudur: systemd paketi kurulu değildir, Linux dağıtımınız veya sürümünüz systemd kullanmıyor olabilir ve bunun yerine init.d gibi daha eski servis yönetim sistemleri kullanıyor olabilir. Bir diğer olasılık ise PATH ortam değişkeninin systemctl'nin bulunduğu dizini içermemesidir; bu durumda kabuğunuz komutu bulamaz.

Sisteminizde neyin yanlış gittiğine dair bir fikir edindikten sonra, "systemctl: command not found" hatasına yol açan sorunun tam olarak nerede olduğunu nasıl doğrulayabileceğinize ve nasıl düzeltebileceğinize bakalım.

systemctl: Command Not Found Hatasını Düzeltme

Aşağıdaki adımlarda, sisteminizde systemd'nin kurulu olup olmadığını ve systemctl'nin kullanılıp kullanılmadığını doğrulayacağız; aynı zamanda systemctl'nin yolunu kontrol edeceğiz. Sorunu tespit ettikten sonra hatayı gidermek için gerekli adımları atacağız.

1. Sisteminizin systemd Kullanıp Kullanmadığını Doğrulama

Ubuntu'de systemctl yalnızca systemd paketi kuruluysa çalışır. Bu nedenle, önce aşağıdaki komutu çalıştırarak sisteminizin systemd kullanması gerekip gerekmediğini kontrol edeceğiz:

ps -p 1 -o comm=

Ya da aşağıdaki komutla systemd sürümünü kontrol edebilirsiniz:

systemd --version

Çıktı systemd ise, systemd sizin init sisteminizdir ve Ubuntu systemctl kurulu olmalıdır. Ancak çıktı init veya başka bir süreç yöneticisiyse, sisteminiz alternatif bir başlatma sistemi kullanıyor demektir ve systemd'ye geçiş yapmadan systemctl çalışmaz.

Upstart veya SysVinit gibi eski bir başlatma sistemi görüyor ve systemctl kullanmak için systemd'ye geçmek istiyorsanız şu adımları izleyin:

1. Aşağıdaki komutu kullanarak systemd'yi kurarak systemctl'yi yükleyin:

sudo apt install systemd-sysv

2. Şu komutu çalıştırarak sisteminizi yeniden başlatın:

sudo reboot

3. Sisteminizin artık systemd kullandığını doğrulayın:

ps -p 1 -o comm=

Çıktı artık systemd olmalıdır.

2. systemd'nin Doğru Kurulduğunu Doğrulama

Normalde, systemd kurulu ve init sisteminiz olarak çalışıyorsa, systemctl komutu sorunsuz çalışır. Çalışmıyorsa, systemd paketi ya eksiktir ya da hatalı kurulmuştur.

Ubuntu'nin Docker container veya bulut örneği gibi minimal bir sürümünü kullanıyorsanız, systemd varsayılan olarak kurulmamış olabilir. systemd'yi kurarak systemctl'yi kullanılabilir hale getirmek için şu komutları çalıştırın:

sudo apt update
sudo apt install systemd

Kurulum tamamlandıktan sonra systemctl komutunun kullanılabilir olup olmadığını kontrol edin.

3. systemctl'nin PATH Değişkenini Kontrol Etme

systemctl not found hatasının yaygın nedenlerinden biri, systemctl'nin kurulu olmasına rağmen sistem PATH'inize eklenmemiş olmasıdır. systemd ikili dosyalarının /bin, /usr/bin veya /usr/local/bin gibi tipik dizinlerde bulunup bulunmadığını kontrol etmek için şu komutu kullanabilirsiniz:

which systemctl

systemctl, PATH'inizde listelenen dizinlerden birinde bulunuyorsa çıktı şu şekilde görünür:

/usr/bin/systemctl

systemctl, PATH'teki dizinlerin hiçbirinde bulunmuyorsa which komutu herhangi bir çıktı vermez.

Ancak systemctl dizinlerde bulunsa bile çalışmayabilir. Bunun nedeni, systemctl'nin PATH'e dahil edilmemiş bir dizinde yer alıyor olmasıdır. Bu durumda, systemctl'nin bulunduğu dizini şu komutla doğrulamanız gerekir:

echo $PATH

Çıktı şu şekilde görünmelidir:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Şimdi yapmanız gereken tek şey, systemctl'nin bulunduğu dizinin (which komutuyla öğrendiğiniz) echo $PATH çıktısındaki dizinler arasında yer alıp almadığını kontrol etmektir.

systemctl'nin dizini echo $PATH çıktısında yer almıyorsa, bu dizini PATH değişkeninize eklemeniz gerekir. Bunun için şu komutu çalıştırın:

İçin Bash shell kullanıcıları, bir metin editöründe ~/.bashrc dosyasını açın:

nano ~/.bashrc

Dosyanın sonuna şu satırı ekleyin:

export PATH=$PATH:/usr/bin

Bu örnekte /usr/bin, systemctl'nin bulunduğu tipik bir dizindir.

Dosyayı kaydetmek ve kapatmak için CTRL + X tuşlarına basın, ardından onaylamak için Y'ye, kaydetmek için Enter'a basın.

İçin Zsh kullanıcıları, Bir metin editöründe ~/.zshrc dosyasını açın:

nano ~/.zshrc

Dosyanın sonuna şu satırı ekleyin:

export PATH=$PATH:/usr/bin

Bu örnekte /usr/bin, systemctl'nin bulunduğu tipik bir dizindir.

Dosyayı kaydetmek ve kapatmak için CTRL + X tuşlarına basın, ardından onaylamak için Y'ye, kaydetmek için Enter'a basın.

Yukarıdaki adımları tamamladıktan sonra, systemctl'nin dizininin PATH'inize eklenip eklenmediğini echo $PATH komutuyla doğrulayın. Artık "systemctl: command not found" hatasıyla karşılaşmadan systemctl'yi çalıştırabilmeniz gerekir.

4. systemd'yi Yeniden Yükleme

Önceki çözümler işe yaramadıysa ve hata devam ediyorsa, systemd'yi tamamen yeniden kurmak sorunu çözebilir. Bunun için şu komutları çalıştırın:

sudo apt purge systemd
sudo apt install systemd

Ardından sisteminizi şu komutla yeniden başlatın:

sudo reboot

systemctl'nin çalışıp çalışmadığını kontrol edin.

5. systemd'nin Doğru Yapılandırıldığını Doğrulama

Bazen sorun, systemd kurulumunun hatalı yapılandırılmış olmasından kaynaklanır ve bu durum "systemctl: command not found" hatasına yol açar. Bu sorunu çözmek için tek yapmanız gereken şu komutu çalıştırmaktır:

sudo dpkg-reconfigure systemd

6. Güncel Olmayan Windows, Linux için Alt Sistemi (WSL)

Eğer Ubuntu'yi WSL (Windows Subsystem for Linux) altında kullanıyorsanız, WSL 1 gibi eski WSL sürümlerinin systemctl'yi yerel olarak desteklemediğini bilmeniz gerekir. Dolayısıyla önceki çözümlerin hangisini uygularsanız uygulayın, systemctl'yi çalıştıramazsınız.

systemctl işlevlerinden yararlanmak istiyorsanız, systemd desteği daha iyi olan WSL 2'ye yükseltme yapmanız gerekir. WSL kullanıp kullanmadığınızdan emin değilseniz, aşağıdaki komutu çalıştırarak kontrol edebilirsiniz:

uname -a

Çıktıda WSL ifadesi geçiyorsa, "systemctl: command not found" hatasının nedeni budur.

7. systemctl'ye Alternatif Olarak sudo Service Kullanımı

Sisteminiz systemd kullanmadığı için "systemctl: command not found" hatasıyla karşılaşıyorsanız, servisleri yönetmek için sudo service komutunu kullanabilirsiniz. Bu komut, SysVinit veya Upstart gibi eski init sistemleriyle çalışır. systemd yerine init betiklerine dayanan Ubuntu sistemleri için kullanışlı bir alternatiftir.

Örneğin, bir servisi başlatmak için şu komutu çalıştırırsınız:

sudo service <service_name> start

Son Düşünceler

systemd ve onun komut satırı aracı systemctl, SysVinit ve Upstart gibi eski init sistemlerinin büyük bölümünün yerini almıştır. Monolitik yapısı ve Unix felsefesine aykırı tasarımı nedeniyle systemd herkese hitap etmeyebilir; ancak genel olarak en yaygın tercih olmaya devam etmektedir. Umarız bu rehber sayesinde systemctl komutunun bulunamaması hatasını çözmüşsünüzdür. Zira systemd'nin komut satırı aracını kullanamamak, sisteminizin işlevselliğini ciddi ölçüde kısıtlar.

SSS

systemctl Nedir ve "systemctl: Command Not Found" Hatası Ne Anlama Gelir?

systemctl, Ubuntu gibi systemd çalıştıran Linux sistemlerinde servisleri yönetmek için kullanılan bir komut satırı aracıdır. "systemctl: command not found" hatası, bu araç mevcut olmadığında veya erişilemez olduğunda ortaya çıkar. Bunun başlıca nedenleri, sistemin systemd kullanmaması ya da systemd paketinin kurulu olmamasıdır.

systemctl, Ubuntu'nin tüm sürümlerinde kullanılabilir mi?

Hayır, systemctl Ubuntu'nin tüm sürümlerinde bulunmaz. systemctl, systemd init sisteminin bir parçasıdır ve bu sistem çoğu modern Ubuntu sürümünde (15.04 ve sonrasında) varsayılan olarak gelir. Eski sürümler veya bazı minimal kurulumlar, bunun yerine SysVinit ya da Upstart gibi alternatif init sistemleri kullanabilir.

Paylaş

Blogdan daha fazlası

Okumaya devam et.

Cosmos Cloud ile Çalıştırabileceğiniz En İyi Kendi Hostinginizi Yönettiğiniz Uygulamalar - uygulama panelleri ve Cosmos kontrol paneli ile kapak görseli.
Sunucular ve İşletim Sistemleri

Cosmos Cloud ile Çalıştırabileceğiniz En İyi Kendi Sunucusunda Barındırılan Uygulamalar: Dosyalar, Medya, Parolalar, Otomasyon ve Daha Fazlası!

Maybe Cosmos Cloud kurulumunu tamamladın ve hangi uygulamaların bununla iyi çalıştığını görmek istiyorsun ya da henüz Cosmos'a karar vermemiş olabilirsin ve iş akışına ne kadar uyduğunu öğrenmek istiyorsun

Nick GümüşNick Gümüş 16 dakikalık okuma
Portainer ile Cosmos Cloud'nin Docker Uygulamalarını Yönetmek İçin Karşılaştırması: Hibrit kurulum diyagramı ve neon ops ile erişim bloklarını içeren kapak görseli.
Sunucular ve İşletim Sistemleri

Portainer mı Cosmos Cloud mi: Docker Uygulama Yönetimi İçin Hangisi Daha Uygun?

Docker'yi zaten biliyorsanız ve büyüyen bir uygulama yığınını daha düzenli bir şekilde çalıştırmanın yolunu arıyorsanız, Portainer ile Cosmos Cloud karşılaştırmasının kısa yanıtı şu: Doğrudan yönetim için Portainer daha güçlü bir seçenek.

Nick GümüşNick Gümüş 14 dakika okuma
Cosmos Cloud, CasaOS ve Umbrel özellik görseli: Soyut bir bulut ağı dünyasında üç farklı self-hosted yolu bir arada gösteriyor.
Sunucular ve İşletim Sistemleri

Cosmos Cloud mı, CasaOS mi, Yoksa Umbrel mi: Kurulumunuza En Uygun Self-Hosted Platform Hangisi?

Kısa yanıt şu: CasaOS başlamak için hâlâ en kolay seçenek, Umbrel en temiz ve derli toplu deneyimi sunuyor; Cosmos Cloud ise alan adları ve altyapı üzerinde daha sıkı bir kontrol istediğinizde anlam kazanıyor.

Nick GümüşNick Gümüş 11 dakika okuma

Dağıtmaya hazır mısınız? Aylık 2,48 dan başlayan fiyatlarla.

2008'den bu yana bağımsız bulut. AMD EPYC, NVMe, 40 Gbps. 14 gün para iade garantisi.