Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 11617|Yanıt: 0

[linux] Linux sistemlerinde /etc/init.d dizinini ve /etc/rc.local scriptlerini anlayın

[Bağlantıyı kopyala]
Yayınlandı 13.11.2017 11:53:19 | | |
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:
      

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.




Önceki:Asp.Net EF6.0'da sabit bir isimle bulunmadığı "System.Data.SqlClient" olarak görünür...
Önümüzdeki:MySQL yapılandırma dosyası my.cnf ayrıntılı olarak açıklanmıştır
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com