Bu makalenin İngilizce versiyonu şu adresten alınmıştır http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/
1. /etc/init.d hakkında Eğer hiç Linux sistemi kullandıysanız, init.d dizinini duymuşsunuzdur. Bu katalog tam olarak ne için? Sonuçta sadece bir şey yapar, ama bu önemsiz bir şey değildir, tüm sistem için yapılır, bu yüzden çok önemlidir. init.d dizini, sistemin çeşitli hizmetleri için birçok başlatma ve durdurma betiği içerir. Acpid'den x11-common'a kadar her şeyi kontrol ediyor. Tabii ki, init.d o kadar basit değil. (Çevirmenin notu: ACPID, Linux işletim sistemleri için yeni bir güç yönetimi standardıdır; X11 aynı zamanda X Pencere sistemi olarak da adlandırılır, X Pencere sistemi (X11 veya X) bit haritası görüntülemeli bir pencere sistemidir. Unix ve Unix benzeri işletim sistemleri ile OpenVMS'te grafik kullanıcı arayüzleri oluşturmak için standart bir araç seti ve protokoldür ve neredeyse tüm modern işletim sistemleri için kullanılabilir. /etc dizinine baktığınızda, rc#.d biçiminde birçok dizin bulacaksınız (burada # belirli bir başlatma seviyesini temsil eder, aralık 0~6'dır). Bu dizinler altında, süreci kontrol eden birçok senaryo vardır. Bu yazı işaretleri ya "K" ya da "S" ile başlar. K ile başlayan scriptler, S ile başlayan scriptlerden önce çalışır. Bu betiklerin nerede yerleştirildiği, ne zaman çalışmaya başladığını belirler. Bu dizinler arasında, sistem hizmetleri sağlıklı bir makine gibi birlikte çalışır. Ancak bazen bir süreci temizce başlatmak veya öldürmek istersiniz, öldürme veya öldürme komutlarını kullanmadan. İşte burada /etc/init.d işe yarıyor! Eğer bir Fedora sistemi kullanıyorsanız, şu dizini bulabilirsiniz: /etc/rc.d/init.d. Aslında, init.d'yi nereye koyarsanız koysanız da aynı şeyi yapıyor. Init.d dizininde script kullanabilmek için root veya sudo ayrıcalıklarına ihtiyacınız var. Her betik, yaklaşık olarak şu şekilde yapılandırılmış bir komut olarak çalıştırılır: /etc/init.d/command seçeneği Comand gerçek görev komutudur ve seçenekler şu olabilir: Başlangıç dur Yeniden Yükleme Yeniden başlatma Kuvvet Yeniden Yükleme Çoğu durumda, başlat, durdur, yeniden başlatma seçeneklerini kullanırsınız. Örneğin, ağı kapatmak istiyorsanız, şu gibi bir komut kullanabilirsiniz:
/etc/init.d/networking dur Bir diğer örnek ise ağ ayarlarınızı değiştirip ağınızı yeniden başlatmanız gerektiğidir. Böyle komutları kullanabilirsiniz: /etc/init.d/networking restart init.d dizininde yaygın olarak kullanılan başlatma betikleri şunlardır:
Ağ samba apache2 FTPD SSHD Kepçe mysql Elbette, hangi Linux işletim sistemini kurduğunuz duruma bağlı olarak daha sık kullanılan başka betikler de olabilir. 2. /etc/rc.local hakkında rc.local de çok kullandığım bir script. Script, sistem başlatma seviyesindeki betik çalıştırıldıktan sonra çalıştırılır, bu yüzden sistem açıldıktan sonra çalıştırmak istediğiniz betikleri eklemek güvenlidir. Yaygın bir durum, ona bir NFS mount/mount script ekleyebilirsiniz. Ayrıca içeride hata ayıklama için bazı script komutları da ekleyebilirsiniz. Örneğin, samba servisinin her zaman düzgün çalışmadığı ve incelemenin samba'nın sistem başlatma sırasında başlayıp çalıştırılması gerektiğini gösterdiği bir durumla karşılaştım; yani samba daemon yapılandırması bu işlemin doğru şekilde yapılmasını sağlıyor. Bu durumda, genellikle nedenini araştırmak için çok zaman harcamam, sadece /etc/rc.local script'e bu satırı eklemem gerekiyor: /etc/init.d/samba başlangıç Bu şekilde, SAMBA hizmet istisnası sorunu başarıyla çözüldü.
3. Özet Linux esnektir. Esnekliği sayesinde, aynı problemi çözmek için her zaman birçok farklı yol bulabiliriz. Bir sistem hizmeti başlatma örneği iyi bir örnektir. /etc/init.d dizinindeki betikle ve güçlü /etc/rc.local aracıyla hizmetinizin sorunsuz çalışacağından emin olabilirsiniz.
|