Systemctl adalah utilitas yang digunakan oleh systemd untuk mengelola sistem dan manajer layanan. Banyak distro Linux modern seperti Ubuntu, Debian, Fedora, Linux Mint, OpenSuSE, Redhat telah mengadopsi systemd sebagai sistem init default mereka.
Dengan menggunakan systemctl, Anda dapat memulai, menghentikan, memuat ulang, memulai ulang layanan, membuat daftar unit, memeriksa status layanan, mengaktifkan/menonaktifkan layanan, mengelola target (runlevel), dan manajemen daya.
Dalam tutorial ini, saya akan menunjukkan cara menggunakan perintah systemctl untuk mengelola layanan systemd di Linux.
1. Systemctl Start/Stop/Restart/Reload Service
Untuk memulai layanan di Linux, jalankan systemctl diikuti dengan nama layanan spasi 'mulai'.
Contoh:
systemctl start dnsmasq
Berbeda dengan perintah layanan, perintah systemctl start tidak memberikan output apa pun.

Untuk menghentikan layanan, gunakan systemctl stop service-name. Misalnya:
systemctl stop dnsmasq

Untuk memulai ulang layanan, gunakan systemctl restart service-name.
Contoh:
systemctl restart dnsmasq

Untuk memuat ulang konfigurasi layanan (misalnya ssh), tanpa memulai ulang, gunakan systemctl reload service-name.
Misalnya:
systemctl reload sshd

2. Systemctl memeriksa status layanan
Untuk melihat apakah suatu layanan berjalan atau tidak, kita dapat menggunakan pemeriksaan status systemctl.
systemctl status dnsmasq

3. Centang dan Aktifkan/Nonaktifkan layanan saat boot
Untuk mengaktifkan layanan saat boot (ini sesuai dengan 'chkconfig on' di sistem sysvinit), gunakan systemctl enable service-name.
Contoh:
systemctl enable dnsmasq.service

Demikian pula, layanan dapat dinonaktifkan saat boot, jalankan:
systemctl disable dnsmasq.service

Untuk memeriksa apakah suatu layanan diaktifkan saat boot atau tidak, jalankan:
systemctl is-enabled dnsmasq.service

4. Unit Daftar Systemctl
Untuk membuat daftar semua unit yang berjalan, jalankan perintah systemctl tanpa opsi apa pun. Opsi unit daftar juga melakukan hal yang sama.
systemctl
atau
systemctl list-units

Unit yang gagal dapat dicantumkan dengan opsi --failed.
systemctl --failed

Untuk membuat daftar semua layanan yang aktif, jalankan:
systemctl list-units -t service

6. Perintah reboot/shutdown Systemctl
Seperti perintah shutdown, perintah systemctl untuk mematikan sistem, reboot, atau hibernasi.
Perintah berikut akan mematikan sistem dan mematikan mesin dan akan mengirimkan pemberitahuan ke semua pengguna yang masuk.
systemctl poweroff
Perintah berikut akan mematikan sistem tetapi tidak mematikan mesin. Ini akan mengirimkan pemberitahuan ke semua pengguna yang masuk.
systemctl halt
Matikan mesin tetapi tidak akan mengirim pemberitahuan apa pun ke semua pengguna yang masuk.
systemctl --no-wall poweroff
Untuk menampilkan detail shutdown, jalankan perintah di bawah ini.
journalctl -u systemd-shutdownd
7. Systemclt untuk mengelola sistem Jarak Jauh
Biasanya, semua perintah systemctl di atas dapat digunakan untuk mengelola host jarak jauh dengan perintah systemctl itu sendiri. Ini akan menggunakan ssh untuk komunikasi dengan host jarak jauh. Yang perlu Anda lakukan adalah menambahkan pengguna dan host ke perintah systemctl seperti ini:
systemctl status sshd -H [email protected]

8. Mengelola target
Systemd memiliki konsep target yang memiliki tujuan serupa dengan runlevel di sistem sysVinit.
Runlevel di sysVinit sebagian besar numerik (0,1,2,...). Berikut adalah runlevel di sysVinit dengan rekan systemd mereka:
0 runlevel0.target, poweroff.target
1, s, single runlevel1.target, rescue.target
2, 4 runlevel2.target, runlevel4.target, multi-user.target
3 runlevel3.target, multi-user.target
5 runlevel5.target, graphical.target
6 runlevel6.target, reboot.target
emergency emergency.target
Untuk mengubah target saat ini, ketik:
systemctl isolate graphical.target

Jika Anda ingin melihat target Anda, Anda perlu membuat daftar semua unit yang sesuai.
systemctl list-units --type=target

Anda dapat melihat "graphical.target" tercantum di sini. Inilah yang kami ubah target kami. Sekarang mari kita ubah runlevel lagi menjadi multi-user.target dan kemudian menganalisis output ini:
systemctl isolate multi-user.target
systemctl list-units --type=target

Untuk membuat daftar target default, ketik:
systemctl get-default

Target default dapat diatur dengan perintah set-default, ketik:
systemctl set-default graphical.target

Perintah systemd berguna lainnya
Masuk systemd
Systemd memiliki sistem logging sendiri yang disebut journald. Ini menggantikan daemon syslog dari sysVinit.
journalctl

Untuk melihat semua pesan boot, jalankan perintah "journalctl -b".
journalctl -b

Perintah berikut mengikuti log sistem secara real-time (mirip dengan tail -f).
journalctl -f

Untuk memeriksa log khusus untuk layanan tertentu atau yang dapat dieksekusi, gunakan journalctl sebagai:
journalctl /usr/sbin/dnsmasq

Temukan durasi proses boot
Untuk mengetahui durasi proses boot systemd dengan perintah berikut:
systemd-analyze

Waktu analisis sistem juga menunjukkan informasi yang sama.
systemd-analyze time

Untuk mencetak daftar semua unit yang berjalan yang diurutkan berdasarkan waktu yang dibutuhkan untuk inisialisasi, gunakan systemd-analyze menyalahkan.
systemd-analyze blame

Perintah hostnamectl
Untuk menampilkan dan mengubah nama host gunakan perintah hostnamectl.
hostnamectl

Kesimpulan
Dalam tutorial ini, kita mempelajari perintah systemctl untuk mengelola layanan systemd di distribusi Linux. Saya harap Anda menikmati membaca dan silakan tinggalkan saran Anda di bagian komentar di bawah.
Baca Juga:
- Proses Boot Sistem Tampilan Dekat di Linux
- Warna-warni! Systemd vs sysVinit Linux Cheatsheet