GNU/Linux >> Belajar Linux >  >> Linux

Perintah Systemctl untuk Mengelola Layanan Systemd

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

Linux
  1. Kelola beberapa instance layanan dengan systemctl

  2. Kelola startup menggunakan systemd

  3. Menggunakan perintah systemctl untuk mengelola unit systemd

  1. Cara Mengelola Layanan Systemd dengan Systemctl di Linux

  2. Bagaimana mengelola unit systemd saat start-up

  3. 10 perintah systemd yang berguna:Referensi

  1. Systemctl menggantikan perintah Chkconfig dan Service di CentOS 7

  2. Perintah layanan dasar

  3. Gunakan Systemctl untuk mengelola layanan