Runlevel in Linux
Kategori: Linux, Tutorial, article
Ditulis oleh: gutherzig
Barusan ada teman menanyakan apa perbedaan runlevels di Linux, kebetulan yang ingat cuma 0,1,3 dan 6, sisanya lupa, hehe. Jadi sambil browsing nostalgia, ini dia rangkumannya:
Runlevel 0 = Halt System alias shutdown / mematikan mesin.
Runlevel 1 = Single user mode, biasanya untuk maintenance (root only)
Runlevel 2 = multi user mode tanpa fasilitas networking
Runlevel 3 = multi user mode berbasis text (text based), ada fitur networknya
Runlevel 4 = tidak dipakai atau boleh di custom sendiri (sebetulnya semuanya juga bisa di custom sendiri)
Runlevel 5 = Multi user mode dengan GUI (Graphical User Interface / xwindow)
Runlevel 6 = Reboot System aliat me-restart mesin.
Bagaimana cara ngeset-nya?
Biasanya, di Linux pada umumnya termasuk Redhat family (termasuk Fedora, CentOS dan beberapa lainnya), ada file bernama /etc/inittab. Didalamnya ada satu baris yang menentukan runlevel mana yang akan dipakai setiap booting. Contoh yang saya pakai di kantor :
…
id:3:initdefault:# System initialization.
si::sysinit:/etc/rc.d/rc.sysinitl0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
Perhatikan baris yang ditebalkan, setelah memproses kernel, sistem akan memasuki runlevel 3 seperti yang tertulis di baris tersebut. Artinya, linux itu akan booting dalam mode text-based dengan fitur networking.
Bagi yang menjalankan xwindow / Grafis / GUI / Graphical User Interface mode, bisa dipastikan baris tadi berisi runlevel 5 sebagai default (id:5:initdefault:).
Secara aplikasi, apa yang membedakan antara (contohnya) 3 dan 5? Kita bisa lihat daftar initscript yang dijalankan per level pada direktori masing-masing sesuai runlevel. Biasanya untuk Redhat dan Linux umumnya, lokasi initscript ada di /etc/rc.d/, contoh pada mesin kami :
[root@gw2-ifw ~]# ls -al /etc/rc.d/
total 136
drwxr-xr-x 10 root root 4096 May 18 10:43 .
drwxr-xr-x 97 root root 12288 Jun 12 04:02 ..
drwxr-xr-x 2 root root 4096 May 13 13:14 init.d
-rwxr-xr-x 1 root root 2255 Mar 3 2008 rc
drwxr-xr-x 2 root root 4096 May 13 13:14 rc0.d
drwxr-xr-x 2 root root 4096 May 13 13:14 rc1.d
drwxr-xr-x 2 root root 4096 May 13 13:14 rc2.d
drwxr-xr-x 2 root root 4096 May 13 13:14 rc3.d
drwxr-xr-x 2 root root 4096 May 13 13:14 rc4.d
drwxr-xr-x 2 root root 4096 May 13 13:14 rc5.d
drwxr-xr-x 2 root root 4096 May 13 13:14 rc6.d
-rwxr-xr-x 1 root root 297 May 18 10:43 rc.local
-rwxr-xr-x 1 root root 27155 Jun 15 2008 rc.sysinit
Artinya, runlevel 3 ketika booting akan mengeksekusi semua daftar aplikasi yang terdapat di /etc/rc.d/rc3.d sesuai dengan urutan yang telah ditentukan. Demikian untuk runlevel-runlevel yang lain. Untuk Linux SuSe lokasi init list-nya ada di /etc/init.d/rcx.d (x adalah variable 0 sampai 6).
Didalam direktori rc3.d tadi, akan ada shortcut-shortcut yang berawalan S dan K. S01, S02, S12, S96, S99 dll, atau K01, K12, K45 dst. Artinya apa? S artinya START, K = Kill. Angka-angkanya mewakili apa? Itu mewakili urutan dieksekusi. S01 akan dieksekusi pertama kali ketika Linux start (tentunya setelah loading kernel dll), begitu pula ketika Linux me-restart atau shutdown system dia akan mengeksekusi script-script yang berawalan K sesuai dengan urutan angka yang telah ditetapkan. Bagaimana ketentuan pengurutan / penomoran itu? Kepanjangan ah, googling aja ya, hehe.
http://en.wikipedia.org/wiki/Runlevel






























