AÇIKLAMA
inittab dosyasında, sistem açılışında ve normal çalışma sırasında hangi süreçlerin başlatılacağı belirtilir (örneğin, /etc/init.d/boot, /etc/init.d/rc, getty, ...). init(8), her birinin başlatılacak kendi süreç kümesi olan çalışma seviyelerinden birini seçebilir. Geçerli çalışma seviyeleri 0 dan 6 ya kadar olan normal seviyeler ile A, B ve C isteğe bağlı seviyeleridir. inittab dosyası içindeki bir girdinin biçimi şöyledir:
-
kimlik:çalışma_seviyeleri:eylem:süreç
`#' karakteri ile başlayan satırlar yoksayılır.
- kimlik
-
inittab içindeki bir girdiyi tanımlayan 1-4 karakterlik eşsiz bir dizilimdir (a.out kütüphaneleri ya da sürümü 5.2.18 den küçük kütüpanelerle derlenmiş sysvinit sürümleri için bu sınır 2 karakterdir.).
Not: getty ve diğer login süreçleri için kimlik alanı ilgili tty'nin numarası (örn, tty1 için 1) olmalıdır. Aksi takdirde login hesapları düzgün çalışmayabilir.
- çalışma_seviyeleri
-
Belirtilen eylemi gerçekleştirecek çalışma seviyelerinin listesidir.
- eylem
-
Gerçekleştirilecek eylem belirtilir.
- süreç
-
Çalıştırılacak süreç belirtilir. Süreç alanı bir '+' karakteri ile başlıyorsa, init, süreç için utmp ve wtmp hesabı oluşturmayacaktır. Bu, kendi utmp/wtmp yönetimini yapmakta ısrar eden getty için gereklidir. Bu ayrıca tarihsel bir hatadır.
çalışma_seviyeleri alanı, farklı çalışma seviyelerini belirtmek için çok sayıda karakter içerebilir. Örneğin; 123, sürecin 1, 2 ve 3. çalışma seviyelerinde başlatılacağını belirtir. çalışma_seviyeleri alanı ondemand girdileri için A, B veya C içerebilir. sysinit, boot ve bootwait girdilerinin çalışma_seviyeleri alanı gözardı edilir.
Sistem çalışma seviyesinin değiştirilmesi halinde, çalışmakta olan ancak yeni çalışma seviyesinde belirtilmeyen süreçler bir SIGTERM sinyalinin ardından bir SIGKILL sinyali gönderilerek öldürülür.
eylem alanında belirtilebilecek eylemler şunlardır:
- respawn
-
Süreç her sonlandırılışında yeniden başlatılacaktır (örn, getty)
- wait
-
Süreç belirtilen çalışma seviyesine girildiğinde bir defalık çalıştırılacak ve init sonlanmasını bekleyecektir.
- once
-
Süreç belirtilen çalışma seviyesine girildiğinde bir defalık çalıştırılacaktır.
- boot
-
Süreç sistem açılışı sırasında çalıştırılacaktır. çalışma_seviyeleri alanı yoksayılır.
- bootwait
-
Süreç sistem açılışı sırasında çalıştırılacak ve init sonlanmasını bekleyecektir (örn, /etc/rc) çalışma_seviyeleri alanı yoksayılır.
- off
-
Hiçbir şey yapmaz.
- ondemand
-
ondemand çalışma seviyesi ile işaretlenmiş bir süreç belirtilen ondemand çalışma seviyesinin her çağrılışında çalıştırılacaktır. Bu durumda, çalışma seviyesi değiştirilmez. (ondemand çalışma seviyeleri `a', `b', ve `c' dir.)
- initdefault
-
Bir initdefault girdisi, sistem açılışından sonra girilecek çalışma seviyesini belirtmek için kullanılır. Eğer yoksa, init girilecek çalışma seviyesini konsolda soracaktır. süreç alanı gözardı edilir.
- sysinit
-
süreç sistem açılışı sırasında bir boot veya bootwait girdisinden önce çalıştırılır. çalışma_seviyeleri alanı yoksayılır.
- powerwait
-
süreç sistem kapanışı sırasında çalıştırılır. init, makinaya bağlı bir kesintisiz güç kaynağı ile haberleşen bir süreç tarafından bu durum hakkında bilgilendirilir. init kapanışı bitirmeden önce süreci bekleyecektir.
- powerfail
-
init'in sürecin sonlanmasını beklememesi dışında powerwait gibidir.
- powerokwait
-
Süreç, gücün tekrar geri gelmesi olasılığı gözönünde tutularak mümkün olduğunca çalıştırılır.
- powerfailnow
-
KGK boşalmaya yaklaşıncaya kadar süreç çalıştırılır (bu bilgi KGK tarafından kendisi ile haberleşen sürece veriliyorsa)
- ctrlaltdel
-
Süreç, init bir SIGINT sinyali alınca çalıştırılır. Bu durum konsoldan CTRL-ALT-DEL tuşlarına aynı anda basıldığında oluşur. Genellikle, kapanma sırasında tek kullanıcılı seviyeye geçmek ya da makinayı yeniden başlatmak için kullanılır.
- kbrequest
-
Konsol klavyesinden özel olarak belirlenmiş bir tuş grubuna aynı anda basıldığında init bir sinyal alarak bu süreci başlatabilir.
Bu işlev için belgelendirme henüz yeterli değildir. kbd-x.xx paketlerinde daha fazla bilgi bulunabilir (bu sayfa yazılırken son sürüm kbd-0.94 idi). Temel olarak, tuşlar "KeyboardSignal" eylemine eşlenir. Örneğin, Alt+Yukarı_ok için klavye dosyanıza aşağıdaki girdiyi yazabilirsiniz:
-
-
alt keycode 103 = KeyboardSignal
-
-
ÖRNEKLER
Eski Linux inittab'ını andıran bir inittab örneği:
-
-
-
# linux için inittab id:1:initdefault: rc::bootwait:/etc/rc 1:1:respawn:/etc/getty 9600 tty1 2:1:respawn:/etc/getty 9600 tty2 3:1:respawn:/etc/getty 9600 tty3 4:1:respawn:/etc/getty 9600 tty4
-
-
Bu inittab dosyası, açılış sırasında /etc/rc betiğini ve ardından tty1-tty4 üzerinde getty'leri çalıştırır.
Biraz daha özenilmiş bir inittab (açıklamalar içindedir)
-
-
-
# içinde çalışılacak seviye id:2:initdefault: # herşeyden önce sistemi ilkendirelim. si::sysinit:/etc/rc.d/bcheckrc # 0 kapanma, 6 yeniden başlatma, 1 onarım kipi. l0:0:wait:/etc/rc.d/rc.halt l1:1:wait:/etc/rc.d/rc.single l2:2345:wait:/etc/rc.d/rc.multi l6:6:wait:/etc/rc.d/rc.reboot # 3 parmak selamında yapılacak olan. ca::ctrlaltdel:/sbin/shutdown -t5 -rf now # 2 ve 3. çalışma seviyeleri: konsolda getty, # 3 ise ayrıca modem portunda getty 1:23:respawn:/sbin/getty tty1 VC linux 2:23:respawn:/sbin/getty tty2 VC linux 3:23:respawn:/sbin/getty tty3 VC linux 4:23:respawn:/sbin/getty tty4 VC linux S2:3:respawn:/sbin/uugetty ttyS2 M19200
-
-
İLGİLİ DOSYALAR
/etc/inittab
YAZAN
init Miquel van Smoorenburg <miquels (at) cistron.nl> tarafından yazılmıştır. Bu kılavuz sayfası Sebastian Lederer <lederer (at) francium.informatik.uni-bonn.de> tarafından yazılmış ve Michael Haardt <u31b3hs (at) pool.informatik.rwth-aachen.de> tarafından geliştirilmiştir.
ÇEVİREN
Nilgün Belma Bugüner <nilgun (at) belgeler·gen·tr>, Ocak 2004