Ketika program init System V-style dijalankan oleh kernel, mereka membaca file konfigurasinya, /etc/inittab. File ini mendefinisikan:
- runlevel di mana init akan memulai sistem secara default
- program init akan dijalankan untuk menginisialisasi sistem
- proses standar init akan dimulai untuk setiap runlevel
- skrip init akan dijalankan untuk mengimplementasikan setiap runlevel
Secara default, sebagian besar server dimulai pada runlevel 3, sementara sebagian besar stasiun kerja dimulai pada runlevel 5. Default ini dapat ditimpa pada saat boot dengan mengonfigurasi bootloader untuk meneruskan opsi ini ke runlevel alternatif.
/etc/inittab Sintaks Baris
Baris dalam file /etc/inittab memiliki empat bidang yang dibatasi titik dua.
id:rstate:action:process
– Yang pertama adalah ID unik. Tidak masalah berapa nilainya selama tidak ada baris lain yang memiliki 1 atau 2 karakter yang sama.
– Yang kedua adalah daftar runlevel untuk membatasi baris ini. Jika tidak ada yang terdaftar, baris akan diproses terlepas dari runlevel default.
– Bidang ketiga adalah tindakan yang akan diambil (biasanya menjalankan perintah yang ditentukan di bidang keempat).
Tabel berikut menjelaskan bidang dalam entri inittab.
Field | Deskripsi |
---|---|
id | Adalah pengidentifikasi unik untuk entri. |
status | Mencantumkan level run yang menerapkan entri ini. |
tindakan | Mengidentifikasi bagaimana proses yang ditentukan dalam bidang proses akan dijalankan. Nilai yang memungkinkan meliputi: sysinit, boot, bootwait, wait, dan respawn. Untuk deskripsi kata kunci tindakan lainnya, lihat inittab(4). |
proses | Menentukan perintah atau skrip yang akan dieksekusi. |
Tingkat Run Default
Baris initdefault di /etc/inittab memberitahu init runlevel mana yang harus dituju jika informasi tersebut belum diberikan. Baris ini khusus karena tidak ada perintah untuk dijalankan (semua yang lain memiliki nilai di kolom keempat):
Contoh file /etc/inittab
Di bawah ini adalah contoh file /etc/inittab dari sistem CentOS 6.
# cat /etc/inittab # inittab is only used by upstart for the default runlevel. # # ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM. # # System initialization is started by /etc/init/rcS.conf # # Individual runlevels are started by /etc/init/rc.conf # # Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf # # Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf, # with configuration in /etc/sysconfig/init. # # For information on how to write upstart event handlers, or how # upstart works, see init(5), init(8), and initctl(8). # # Default runlevel. The runlevels used are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:3:initdefault:
/etc/rc.d/rc.sysinit Skrip Boot
/etc/rc.d/rc.sysinit skrip dipanggil oleh program init saat boot. Skrip ini melakukan penyiapan awal yang bersifat agnostik run-level. Berikut ini adalah contoh hal-hal yang dilakukan oleh skrip rc.sysinit:
- perangkat keras periferal seperti USB, perangkat yang terhubung paralel atau serial telah dikonfigurasi
- parameter kernel yang ditentukan di /etc/sysctl.conf diterapkan ke kernel yang sedang berjalan
- Menyetel nama host
- sistem file root diperiksa dan di-remount read/write
- Perangkat RAID dan LVM diaktifkan
- Swap file dan partisi diaktifkan
- kuota disk diaktifkan