Servis Yönetimi
===================================

.. toctree::
   :maxdepth: 2
   :caption: Contents:

Milis Linux başlatıcı(init) sistemi olarak `SysVinit <https://savannah.nongnu.org/projects/sysvinit>`_ kullanmaktadır. 
Sysvinit içerdiği **init** ikili dosyası ile çekirdek tarafından birincil süreç olarak çalıştırılır.
Diğer süreçler de bu ana süreçten oluşturulur. SysVinit tasarımı itibariyle tanımlanmış çalışma seviyelerinden(runlevels) oluşur.
Bu seviyeler /etc/inittab dosyasından ayarlanır. Çalışma seviyeleri başlangıçta ve kapanışta çalıştırılacak servis bağlarına sahiptir.
Bu bağlar /etc/rc.d/init.d/ dizini altındaki servis betiklerini refereans etmektedir.

Servisler, Bash kabuk dilinde yazılan sistem açılırken bir kereye mahsus veya devamlı çalışması gereken uygulamaların başlatıcı 
dosyaları ifade eder.
Bir servis dosyası genel olarak bir uygulama için çalışma, durma, etkin ve devre dışı olma durumlarına dönük işlevleri sunmaktadır.
Milis Linux'ta servis yönetimi Bash kabuk dilinde yazılmış 
`service <https://mls.akdeniz.edu.tr/git/milislinux/milis19/src/branch/master/bin/service>`_ komutuyla idare edilmektedir.
Birçok uygulama için servis betiği sistemde mevcuttur. Bu betikler /usr/milis/ayarlar/servisler/init.d altında yer almaktadır.
Bu dosyalar, uygulamanın kurulması veya harici olarak ilgili dizinden yüklenerek sisteme kurulmaktadır.
Eğer bir kullanıcı bir uygulama için servis dosyası oluşturmak isterse ilgili komut yardımıyla servisi oluşturup 
gerekli değişiklikleri yaptıktan sonra /etc/rc.d/init.d altına kopyalamalıdır. 
Ayrıca sistem açılırken oto-başlaması istenirse servis için etkinleştirme yapılması gerekmektedir. 

Aşağıda **service** komutunun uçbirimde alt komutları incelenmektedir. 
 
- Servisin durum bilgisini verir.

    .. code:: bash
 
       service status @servis

- Servisi başlatır. 

    .. code:: bash
 
       service start @servis 

- Servisi durdurur.

    .. code:: bash
 
       service stop @servis

- Servisi yeniden başlatır.

    .. code:: bash
 
       service restart @servis

- Servisi etkilenleştirerek sistem açılırken oto-başlaması sağlanır.

    .. code:: bash
 
       service enable @servis

- Servisi devre dışı bırakarak sistem açılırken oto-başlaması iptal edilir. 

    .. code:: bash
 
       service disable @servis

- Servisi sisteme kurar. Kurulacak servis /usr/milis/ayarlar/servisler/init.d altında yer almalıdır. 

    .. code:: bash

       service install @servis

- Servisi kaldırır.

    .. code:: bash

       service remove @servis

- Parametre olarak verilen çalıştırabilir dosya için /tmp dizini altında @servis dosyası oluşturulur. 
  Gerekli değişiklikler yapıldıktan sonra /etc/init.d altına taşınabilir.

.. code:: bash
 
       service create /dosya/yolu/abc

