Birçok insanın merak ettiği gibi, Linux/Unix işletim sistemi nasıl açılıyor?Bir uygulamayı boot sürecinde çalışacak şekilde nasıl ayarlayabilirimki bilgisayar her açıldığında onu elle açmak zorunda kalmayayım? Bunuyapmak için birinin bir şey eklemek istediği temel ortam prosedürünüanlaması gerekir.
Tipik bir Linux sisteminde, ben Debian’ı tercih ederim, bootloader kerneli işaret eder ve o da sonrasında /etc altında inittab diye bilinen bir dosyayı çalıştırır. Bootloader ve kernel arasındaki etkileşim başka bir makale konusu olacak kadar karmaşıktır. O da başka sefere artık. [:)))]
1. /etc/inittab, /etc klasörü altında belli bir klasörü çağırmak içinbelli yönergeler içeren bir dosyadır. Şuna benzer bir Shell scriptdosyasıdır: # /etc/inittab: init(8) configuration. # $Id: inittab,v1.91 2002/01/25 13:35:21 miquels Exp $ # The default runlevel.id:2:initdefault: # Boot-time system configuration/initializationscript. # This is run first except when booting in emergency (-b) mode.si::sysinit:/etc/init.d/rcS
2. Sistem daha sonra /etc/init.d/rcS shell scriptini çağırır. Scriptdaha sonra /etc/rcS.d/ klasörü altında başka bir scripti çağırır. Biruygulama sisteme eklendiği zaman bunun başlaması ya /etc/rcS.d/ ya da/etc/rc2.d/ klasörü altında saklanır. Bu script kümesi ilk olarakçalıştırılır ve sisteme bağlıdır, asla kurcalanmaması gerekir. Buscript grubu her işlemi ortaya çıkardıktan sonra /etc/init.d/rcSscripti /etc/rc2.d/ altındaki bütün dosyaları çağırır. /etc/rc2.d/klasörü genellikle uygulama yazılımlarını içerir ve sistem tarafındanözellikle ihtiyaç duyulan yazılımlar burada olmaz. Bu klasörde bulunanher dosyanın bir S (başlangıcı simgeler) ve numarası vardır. Mesela:S43portmap. 43, işlemin 43. sırada başlayacağını belirtmez, bununyerine hangi işlemin başlatıldığını belirten bir sayıdır. Böylece birşeyin S43portmap’ten önce veya sonra başlamasını istiyorsanız, ondanönce olması için s40, sonra olması içinde s50 koymanız gerekir.
3. Eğer kendi uygulamanızın çalıştırılmasını istiyorsanız; /etc/rc2.d/klasörü altına ekleyin. /etc/rc2.d/ birçok Linux sisteminde varsayılançalıştırma seviyesidir.
4. Eğer /etc/rc2.d/ klasörüne bakacakolursanız her dosyanın /etc/init.d/ klasörüne sembolik linkle bağlıolduğunu görebilirsiniz. Ve eğer düşünürseniz bu aslında derli toplubir iştir, çünkü bu scriptlerden birini başka bir zaman çalıştırmakiçin farklı bir numaraya sahip başka bir sembolik link oluşturmanızyeterlidir. Bu aynı zamanda kullanıcıya boot sürecini istediği gibideğiştirebilme esnekliğini de verir.
Tipik bir Linux sisteminde, ben Debian’ı tercih ederim, bootloader kerneli işaret eder ve o da sonrasında /etc altında inittab diye bilinen bir dosyayı çalıştırır. Bootloader ve kernel arasındaki etkileşim başka bir makale konusu olacak kadar karmaşıktır. O da başka sefere artık. [:)))]
1. /etc/inittab, /etc klasörü altında belli bir klasörü çağırmak içinbelli yönergeler içeren bir dosyadır. Şuna benzer bir Shell scriptdosyasıdır: # /etc/inittab: init(8) configuration. # $Id: inittab,v1.91 2002/01/25 13:35:21 miquels Exp $ # The default runlevel.id:2:initdefault: # Boot-time system configuration/initializationscript. # This is run first except when booting in emergency (-b) mode.si::sysinit:/etc/init.d/rcS
2. Sistem daha sonra /etc/init.d/rcS shell scriptini çağırır. Scriptdaha sonra /etc/rcS.d/ klasörü altında başka bir scripti çağırır. Biruygulama sisteme eklendiği zaman bunun başlaması ya /etc/rcS.d/ ya da/etc/rc2.d/ klasörü altında saklanır. Bu script kümesi ilk olarakçalıştırılır ve sisteme bağlıdır, asla kurcalanmaması gerekir. Buscript grubu her işlemi ortaya çıkardıktan sonra /etc/init.d/rcSscripti /etc/rc2.d/ altındaki bütün dosyaları çağırır. /etc/rc2.d/klasörü genellikle uygulama yazılımlarını içerir ve sistem tarafındanözellikle ihtiyaç duyulan yazılımlar burada olmaz. Bu klasörde bulunanher dosyanın bir S (başlangıcı simgeler) ve numarası vardır. Mesela:S43portmap. 43, işlemin 43. sırada başlayacağını belirtmez, bununyerine hangi işlemin başlatıldığını belirten bir sayıdır. Böylece birşeyin S43portmap’ten önce veya sonra başlamasını istiyorsanız, ondanönce olması için s40, sonra olması içinde s50 koymanız gerekir.
3. Eğer kendi uygulamanızın çalıştırılmasını istiyorsanız; /etc/rc2.d/klasörü altına ekleyin. /etc/rc2.d/ birçok Linux sisteminde varsayılançalıştırma seviyesidir.
4. Eğer /etc/rc2.d/ klasörüne bakacakolursanız her dosyanın /etc/init.d/ klasörüne sembolik linkle bağlıolduğunu görebilirsiniz. Ve eğer düşünürseniz bu aslında derli toplubir iştir, çünkü bu scriptlerden birini başka bir zaman çalıştırmakiçin farklı bir numaraya sahip başka bir sembolik link oluşturmanızyeterlidir. Bu aynı zamanda kullanıcıya boot sürecini istediği gibideğiştirebilme esnekliğini de verir.