init ve /etc/inittab

Next: /etc/rc.d/* Dosyaları Up: Sistem Açılış Dosyaları Previous: syslogd ve /etc/syslog.conf

## init ve `/etc/inittab`

`init`, sistemde ilk çalışan programdır. Neredeyse sistemin tüm açılış yükünü elinde tutar. init sayesinde açılış anında hangi programların çalışacağı belirlenir. Bu programları da `/etc/inittab` dosyasından öğrenir.

Burada `/etc/inittab` dosyasından alınan birkaç örnek satır yeralıyor. Her satırın sonunda belirtilen düzeni için çalıştırılacak olan dosyalar vardır.

    # Default runlevel.
    id:3:initdefault:

    # System initialization (runs when system boots).
    si:S:sysinit:/etc/rc.d/rc.S

    # Script to run when going single user (runlevel 1).
    su:1S:wait:/etc/rc.d/rc.K

    # Script to run when going multi user.
    rc:23456:wait:/etc/rc.d/rc.M

    # What to do at the "Three Finger Salute".
    ca::ctrlaltdel:/sbin/shutdown -t5 -rfn now

    # Runlevel 0 halts the system.
    l0:0:wait:/etc/rc.d/rc.0

    # Runlevel 6 reboots the system.
    l6:6:wait:/etc/rc.d/rc.6

    # What to do when power fails (shutdown to single user).
    pf::powerfail:/sbin/shutdown -f +5 "THE POWER IS FAILING"

    # If power is back before shutdown, cancel the running shutdown.
    pg:0123456:powerokwait:/sbin/shutdown -c "THE POWER IS BACK"

    # If power comes back in single user mode, return to multi user mode.
    ps:S:powerokwait:/sbin/init 5

    c1:1235:respawn:/sbin/agetty 38400 tty1 linux
    c2:1235:respawn:/sbin/agetty 38400 tty2 linux
    c3:1235:respawn:/sbin/agetty 38400 tty3 linux
    c4:1235:respawn:/sbin/agetty 38400 tty4 linux
    c5:1235:respawn:/sbin/agetty 38400 tty5 linux
    c6:12345:respawn:/sbin/agetty 38400 tty6 linux

    # Serial lines
    #s1:12345:respawn:/sbin/agetty 19200 ttyS0 vt100
    #s2:12345:respawn:/sbin/agetty 19200 ttyS1 vt100

    # Dialup lines
    #d1:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS0 vt100
    #d2:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS1 vt100

    x1:4:wait:/etc/rc.d/rc.4

Bir Linux makinasının birkaç tane çalışma düzeni vardır. Bunlardan birkaçı 3 (çok kullanıcılı konum), 1 (tek kullanıcılı konum) ve 4 (X Window konumu)'tür. Her konum, bir sayı veya bu sayılara karşılık gelen tek harften oluşur. Bir konum altında çalışırken diğerine geçebilmek için `init` veya `telinit` komutu kullanılır.

`/etc/inittab`'da yeralan dosya isimleri değiştirilebilir veya kullanıcının isteği doğrultusunda her çalışma modu için farklı dosyalar çalıştırilabilir.

    # init 1
    Switching to runlevel 1
    Sending all processes the TERM signal
    Waiting for processes to terminate........
    Turning off quota..
    Single user mode.

`init` komutundan sonra açmak istediğiniz çalışma düzenine ait olan sayıyı yazabilirsiniz. Örneğin init 0 komutu sistemi kapatacaktır. Yukarıdaki komut çalıştıktan sonra `/etc/inittab` dosyasında bu konuma ait olan `/etc/rc.d/rc.K` dosyası çalıştırılır. Bu dosya çalıştıktan sonra dışarıdan yapılan bağlantılara izin verilmez.

`/etc/inittab` dosyasında yapılacak her değişikliğin ardından

    # init q

komutunu vererek init programının inittab dosyasını tekrar okuyup değişikliklerden haberdar olmmasını sağlamalısınız. O an sistemin hangi konumda çalıştığını bulabilmek için runlevel komutunu kullanın :

    $ runlevel
    N 3

Sistem, yukarıdaki bilgilere göre 3 numaralı konumda (çok kullanıcılı konum) çalışıyor.

Next: /etc/rc.d/* Dosyaları Up: Sistem Açılış Dosyaları Previous: syslogd ve /etc/syslog.conf