Init.d Nedir? Ne İşe Yarar?

3750_init.d-folder-android

Eğer Linux tabanlı bir işletim sistemi kullandıysanız init.d dizinini duyma ihtimaliniz yüksektir.Peki merak ettiniz mi bu dizin tam olarak ne yapar?

İnit.d dizini aslında yalnız bir tek iş yapar ama bunu bütün sisteminiz için yapar. Bu yüzden sistemin vazgeçilmezlerinden biridir.İçeriğinde ise çeşitli hizmetler için başlat/durdur komut dizileri vardır.Muhtemelen tam anlaşılmamıştır…

Biraz daha derine inelim…:

Eğer system/etc klasörünün içinde ki init.d dizinine bakarsanız rc#.d şeklinde dizinler bulursunuz.Burada ‘#’ işareti 0-6 arası değer alabilen özel başlatma seviyelerini yansıtır.Bu dizinlerin her birinin içinde işlemleri kontrol eden scriptlerin kendine özgü özellikleri barındırılır.Bu scriptler, ‘K’ harfi yada ‘S’ harfiyle başlar ve bütün ‘K’ scriptleri ‘S’ scriptlerinden önce işleme konulur. (Run Edilir.) Daha sonra scriptin yerine bağlı olarak hangi scriptin ne zaman başlatılacağına karar verilir. Sistem servisleri,dizinler arasında sorunsuz işleyen makine gibi çalışır.Ama bazen ‘kill’ yada ‘killAll’ yapılarını kullanmadan bir işlemi durdurmak yada başlatmak isteyebilirsiniz.İşte burada etc/init.d dizini imdadınıza yetişiyor.

Evet; gelgelelim init.d dizini nasıl kullanılır…. Birazda kullanımı anlatalım..

Öncelikle init.d dizinini kullanmak için root yetkisi yani ‘sudo’ yetkisine sahip olmanız gerekir.’sudo’ yapısına girmiyorum. Başka bir yazıda detaylı anlatırım.

Evet komutun kullanımı şu şekilde:

Bu satırla beraber init.d içindeki herbir script bir komut olarak çalışacaktır.

/etc/init.d/command SECENEK

Burada ” SEÇENEK” kısmı şu değerleri alabilir:3750_term-init

start
stop
reload
restart
force-reload
Çoğu durumda start,stop yada restart komutu kullanılır.Daha iyi anlaşılması için bir örnek verelim. Diyelim ki internet bağlantınızı yeniden başlatmak istiyorsunuz o zaman şu komutu yazmanız yeterli:

/etc/init.d/networking restart

Bu dizindeki çok kullanılan init scriptleri şu şekilde:

networking
samba
apache2
ftpd
sshd
dovecot
mysql
Tabi ki buradaki scriptler sizin sisteme ne yüklediğinize bağlı olarak değişecektir.

Bilgisayarda durum böyle, peki ya telefonlarda?

Bilindiği üzere android Linux tabanlı bir işletim sistemive init.d desteği olması önemli bir konu.Telefonlarda ki ‘init.d’ desteği ne işe yarar diyeceksiniz.Onuda şöyle açıklamaya çalışayım.İşletim sistemlerine ilgisi olan çoğu kişi ‘tweak’ kelimesini duymuştur.Türkçe de ‘ince ayar’ anlamına gelen bu yapı adından da anlaşılacağı gibi telefonunuza ince bir ayar yapar.Bu ayar batarya kullanımından tutunda performans arttırmaya kadar giden uzun bir konudur.İşte bu ince ayarları yükleyebilmeniz için telefonunuzda init.d desteği olmalıdır.Yani kısacası init.d yapısı kullanıcıya mod dünyasının kapılarını açar. Mod geniş bir konu olduğu için daha geniş bilgiyi sonraki yazılarımda verebilirim.

Tek kötü tarafı orjinal romlarda init.d desteği yok, Android açık kaynak kodlu olduğu için custom romlar piyasada bulunabiliyor ve init.d desteği sadece bu romlarda bulunuyor.

Sonuç olarak; Linux çok esnek bir yapı. Bir sorunu çözmek için bir çok yöntem kullanabilirsiniz.Bunlardan biri sistem servislerini kontrol etme konusu. Inıt.d yardımıyla bu konuyu aşabiliyoruz.

Burada init.d sistemini elimden geldiğince anlatmaya çalıştım. Bir sonraki yazıda görüşmek dileğiyle…

Kaynakça:
http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/
http://www.xda-developers.com/android/init-d-support-for-any-rooted-phone/

Yazar: Hasan Ali ASAN