Panduan singkat ini menjelaskan apa itu runlevel, berapa banyak runlevel yang ada di Linux dan cara memeriksa runlevel di sistem operasi Linux.
Apa itu runlevel?
A runlevel adalah salah satu mode yang akan dijalankan oleh sistem operasi berbasis Unix. Dengan kata lain, run level adalah status init dan seluruh sistem yang mendefinisikan layanan sistem apa yang sedang beroperasi.
Di Kernel Linux, ada 7 runlevel, mulai dari 0 hingga 6. Sistem hanya dapat di-boot ke satu runlevel pada satu waktu.
Secara default, sistem melakukan booting ke runlevel 3 atau runlevel 5. Runlevel 3 adalah CLI, dan 5 adalah GUI. Runlevel default ditentukan di /etc/inittab
file di sebagian besar sistem operasi Linux.
Dengan menggunakan runlevel, kita dapat dengan mudah mengetahui apakah X sedang berjalan, atau jaringan sedang beroperasi, dan sebagainya.
1. Periksa Runlevel Di Linux (SysV init)
Berikut adalah daftar runlevel di distribusi Linux, yang didistribusikan dengan SysV init
sebagai pengelola layanan default.
- 0 - Berhenti
- 1 - Mode teks pengguna tunggal
- 2 - Tidak digunakan (dapat ditentukan pengguna)
- 3 - Mode teks multi-pengguna penuh
- 4 - Tidak digunakan (dapat ditentukan pengguna)
- 5 - Mode grafis multi-pengguna penuh (dengan layar login berbasis X)
- 6 - Mulai ulang
Sekarang, mari kita lihat bagaimana menemukan runlevel.
Untuk mengetahui runlevel sistem, buka Terminal Anda dan jalankan perintah berikut:
$ runlevel
Contoh keluaran:
N 3
Pada output di atas, huruf 'N'
menunjukkan bahwa runlevel belum diubah sejak sistem di-boot. Dan, 3
adalah runlevel saat ini yaitu sistem dalam mode CLI.
Dalam versi init
yang lebih baru , Anda dapat menemukan detail runlevel saat ini dan sebelumnya menggunakan variabel lingkungan yang disebut RUNLEVEL
dan PREVLEVEL
.
Katakanlah misalnya, untuk mengetahui runlevel saat ini, Anda perlu menjalankan:
$ echo $RUNLEVEL
Untuk menemukan runlevel sebelumnya:
$ echo $PREVLEVEL
Jika Anda ingin mengubah RunLevel menjadi sesuatu yang lain, edit /etc/inittab
berkas:
$ sudo vi /etc/inittab
Temukan dan edit entri initdefault
ke runlevel pilihan Anda. Misalnya, untuk mengatur runlevel ke mode grafis multi-pengguna (runlevel 5), ubah seperti yang ditunjukkan di bawah ini.
id:5:initdefault:
Simpan dan tutup file. Reboot sistem Anda untuk login ke runlevel baru Anda.
Untuk detail lebih lanjut tentang runlevel, lihat halaman manual.
$ man runlevel
2. Periksa Runlevel Di Linux (Systemd)
Dalam versi terbaru sistem Linux (mulai dari RHEL 7, Ubuntu 16.04 LTS), konsep runlevel telah diganti dengan systemd
target.
Berikut adalah daftar Systemd
target dalam distribusi Linux, yang didistribusikan dengan Systemd
sebagai pengelola layanan default.
- runlevel0.target, poweroff.target - Berhenti
- runlevel1.target, rescue.target - Mode teks pengguna tunggal
- runlevel2.target, multi-pengguna.target - Tidak digunakan (dapat ditentukan pengguna)
- runlevel3.target, multi-pengguna.target - Mode teks multi-pengguna penuh
- runlevel4.target, multi-pengguna.target - Tidak digunakan (dapat ditentukan pengguna)
- runlevel5.target,graphical.target - Mode grafis multi-pengguna penuh (dengan layar masuk berbasis X)
- runlevel6.target,reboot.target - Reboot
Di sistem Linux yang menggunakan Systemd
sebagai manajer layanan default, Anda dapat menemukan target saat ini menggunakan perintah:
$ systemctl get-default
Contoh keluaran:
graphical.target
Seperti yang Anda lihat pada output di atas, runlevel saya saat ini (target dengan kata lain) adalah 5
, yang merupakan mode grafis.
Untuk melihat semua target yang sedang dimuat, jalankan:
$ systemctl list-units --type target
Contoh keluaran:
UNIT LOAD ACTIVE SUB DESCRIPTION basic.target loaded active active Basic System bluetooth.target loaded active active Bluetooth cryptsetup.target loaded active active Local Encrypted Volumes getty.target loaded active active Login Prompts graphical.target loaded active active Graphical Interface local-fs-pre.target loaded active active Local File Systems (Pre) local-fs.target loaded active active Local File Systems multi-user.target loaded active active Multi-User System network-online.target loaded active active Network is Online network-pre.target loaded active active Network (Pre) network.target loaded active active Network nfs-client.target loaded active active NFS client services nss-lookup.target loaded active active Host and Network Name Lookups nss-user-lookup.target loaded active active User and Group Name Lookups paths.target loaded active active Paths remote-fs-pre.target loaded active active Remote File Systems (Pre) remote-fs.target loaded active active Remote File Systems rpc_pipefs.target loaded active active rpc_pipefs.target rpcbind.target loaded active active RPC Port Mapper slices.target loaded active active Slices sockets.target loaded active active Sockets sound.target loaded active active Sound Card swap.target loaded active active Swap sysinit.target loaded active active System Initialization timers.target loaded active active Timers veritysetup.target loaded active active Local Verity Integrity Protected Volumes LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The low-level unit activation state, values depend on unit type. 26 loaded units listed. Pass --all to see loaded but inactive units, too. To show all installed unit files use 'systemctl list-unit-files'.
Perintah di atas hanya akan menampilkan target yang aktif.
Untuk melihat semua target yang dimuat (aktif dan tidak aktif), jalankan:
$ systemctl list-units --type target --all
Jika Anda ingin mengubah RunLevel menjadi sesuatu yang lain, misalnya runlevel3.target
, atur seperti gambar di bawah ini:
$ sudo systemctl set-default runlevel3.target
Untuk mengubah ke unit target yang berbeda hanya dalam sesi saat ini, jalankan perintah berikut:
$ sudo systemctl isolate runlevel3.target
Untuk detail lebih lanjut, lihat Systemd
halaman manual.
$ man systemd
Periksa Runlevel Linux Menggunakan perintah 'who'
Seperti yang disarankan oleh salah satu pembaca di bagian komentar di bawah, kami juga dapat menemukan runlevel menggunakan who
perintah seperti di bawah ini:
$ who -r
Contoh keluaran:
run-level 5 2021-06-09 10:21
Semoga membantu.
Bacaan terkait:
- Cara Mendaftar Layanan Startup Saat Boot Di Linux