Servislerin Yönetimi
System V init (SysVinit) sisteminde, arka planda çalışan servisler (daemon'lar) genellikle /etc/init.d/
(veya RHEL tabanlı sistemlerde /etc/rc.d/init.d/
) dizininde bulunan kabuk betikleri (shell scripts) aracılığıyla yönetilir.
Init Betikleri
Bu betikler, genellikle aşağıdaki gibi standart argümanları kabul eder:
start
: Servisi başlatır.stop
: Servisi durdurur.restart
: Servisi durdurup yeniden başlatır.reload
: Servisin yapılandırma dosyalarını yeniden yüklemesini sağlar (eğer destekliyorsa).status
: Servisin çalışıp çalışmadığını kontrol eder.
Betikler doğrudan çalıştırılabilir (root yetkisiyle):
sudo /etc/init.d/apache2 start
sudo /etc/init.d/ssh status
service
Komutu
service
KomutuÇoğu SysVinit sisteminde, init betiklerini daha kolay yönetmek için bir service
komutu bulunur. Bu komut, betiğin tam yolunu yazma ihtiyacını ortadan kaldırır:
sudo service apache2 start
sudo service ssh status
sudo service networking restart
Servisleri Başlangıçta Etkinleştirme/Devre Dışı Bırakma
Bir servisin sistem açıldığında belirli bir çalışma seviyesinde (runlevel) otomatik olarak başlayıp başlamayacağı, /etc/rc<runlevel>.d/
dizinlerindeki sembolik linkler aracılığıyla kontrol edilir. Bu linkleri yönetmek için dağıtıma özgü araçlar kullanılır:
RHEL/CentOS Tabanlı Sistemler (
chkconfig
):# httpd servisini 2, 3, 4, 5 runlevel'larında etkinleştir sudo chkconfig httpd on # httpd servisini tüm runlevel'larda devre dışı bırak sudo chkconfig httpd off # Servislerin durumunu listele sudo chkconfig --list
Debian/Ubuntu Tabanlı Sistemler (
update-rc.d
):# apache2 servisini varsayılan runlevel'larda etkinleştir sudo update-rc.d apache2 enable # apache2 servisini varsayılan runlevel'larda devre dışı bırak sudo update-rc.d apache2 disable # Belirli runlevel'lar için manuel link yönetimi (daha az yaygın) # sudo update-rc.d apache2 defaults # Varsayılan linkleri oluşturur # sudo update-rc.d apache2 remove # Tüm linkleri kaldırır
(Not: Eski Debian/Ubuntu sürümlerinde
sysv-rc-conf
gibi metin tabanlı araçlar da bulunabilir.)
SysVinit servis yönetimi, betiklere ve sembolik linklere dayanır. Modern systemd sistemlerindeki systemctl
komutu, servis yönetimini daha merkezi ve standart hale getirmiştir.
Last updated