Jumat, 21 Oktober 2022

Runlevel linux

Runlevel adalah suatu set proses yang dijalankan suatu sistem Linux. Sistem Linux akan sangat bergantung kepada sebuah runlevel yang dijalankan. Dengan kata lain, runlevel adalah sekumpulan service-service dalam suatu sistem Linux. Di Linux terdapat 7 jenis runlevel, dimulai dari angka 0 sampai 6.

Berikut runlevel yang tersedia di Linux :

0 – Halt
1 – Single
2 – Not used/User definable
3 – Full multi-user NO display manager
4 – Not used/User definable
5 – Full multi-user with display manager (GUI)
6 – Reboot

Secara default untuk pengguna biasa menggunakan runlevel 5. Informasi tentang runlevel yang digunakan dapat dilihat di file /etc/inittab.

Ketika suatu runlevel dijalankan, maka dia akan menjalankan command-command yang ada di dalam directory rc*.d di /etc/rc*.d/. Contoh program yang ada di dalam rc*.d adalah :


S10sysklogd     S20ppp         S99gpm
S12kerneld     S25netstd_nfs   S99httpd
S15netstd_init S30netstd_misc S99rmnologin
S18netbase     S45pcmcia       S99sshd
S20acct         S89atd
S20logoutd     S89cron

rc * akan menjalankan program pada runlevel tersebut dengan command :

S10sysklogd start
S12kerneld start
S15netstd_init start
S18netbase start


S99sshd start

Huruf S pada barisan command di atas maksudnya command itu dijalankan di start mode. dan nomor dari 00 sampai 99 menandakan urutan command itu akan dijalankan.

Command-command rc*.d sebenarnya merupakan script yang menjalankan program di /sbin atau /usr/sbin.

Runlevel juga berperan dalam proses shutdown dan proses reboot, ketika perintah shutdown dijalankan, maka init akan mengubah runlevel menjadi runlevel 1 untuk halt. Sedangkan bila perintah reboot dijalankan, maka init akan mengubah runlevelnya menjadi runlevel 6. Itulah sebabnya jangan mejadikan runlevel 0 dan 6 sebagai initdefault.

Mengatur Service pada Tiap Run Level
Linux menjalankan jenis service yang berbeda-beda untuk tiap run level nya. Pada sub bagian ini kita akan mencoba mengatur macam-macam service yang berjalan secara otomatis pada tiap run level ketika Linux baru melakukan booting.

Untuk mengetahui run level yang sedang digunakan, dapat menggunakan perintah:

# runlevel

sedangkan untuk mengetahui services apa saja yang berjalan pada tiap run level dapat menggunakan perintah:

# chkconfig –list

yang hasilnya kira-kira akan tampak seperti berikut ini:

ipchains    0:off 1:off 2:on  3:on  4:on  5:on 6:off
iptables    0:off 1:off 2:on  3:on  4:on 5:on  6:off
crond   0:off 1:off 2:on  3:on  4:on  5:o   6:off
ntpd           0:off 1:off 2:off 3:off 4:off 5:off 6:off
portmap       0:off 1:off 2:off 3:on  4:on  5:on  6:off
xinetd 0:off 1:off 2:off 3:on  4:on  5:on  6:off
identd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
radvd   0:off 1:off 2:off 3:off 4:off 5:off 6:off
rwhod   0:off 1:off 2:off 3:off 4:off 5:off 6:off
snmpd   0:off 1:off 2:off 3:off 4:off 5:off 6:off
rhnsd   0:off 1:off 2:off 3:on 4:on  5:on 6:off
ypbind 0:off 1:off 2:off 3:off 4:off 5:off 6:off
sshd    0:off 1:off 2:on 3:on 4:on 5:on  6:off
vncserver      0:off 1:off 2:off 3:off 4:off 5:off 6:off
yppasswdd      0:off 1:off 2:off 3:off 4:off 5:off 6:off
ypserv   0:off 1:off 2:off 3:off 4:off 5:off 6:off
ypxfrd   0:off 1:off 2:off 3:off 4:off 5:off 6:off
named    0:off 1:off 2:off 3:off 4:off 5:off 6:off
smb      0:off 1:off 2:off 3:off 4:off 5:off 6:off
xinetd based services:
echo-udp:     off
echo:        off
time-udp:      off
time:          off
sgi_fam:       on
finger:        off
rexec:        off
rlogin:        off
rsh:          off
ntalk:        off
talk:          off
telnet:        on
wu-ftpd:       on
rsync:        off
swat:          on

 

Untuk mengatur service apa saja yang akan bekerja pada level tertentu dapat menggunakan perintah:

# chkconfig –level <nama level> <nama servis> <on|off|reset>