Controlling Services and Daemons
Published: 2022-10-26 06:01:12

**Apa itu "DAEMON"**
Daemon adalah proses yang menunggu atau berjalan di latar belakang, melakukan berbagai tugas. Umumnya, daemon mulai secara otomatis saat boot dan terus berjalan hingga shutdown atau hingga dihentikan secara manual.

**Menjelaskan Unit Layanan**
systemd menggunakan unit untuk mengelola berbagai jenis objek. Beberapa jenis unit umum tercantum di bawah ini:

1. Unit layanan memiliki service dan mewakili layanan sistem, digunakan untuk memulai daemon yang sering diakses, seperti server web.
2. Unit soket memiliki ekstensi .Jika klien terhubung ke soket, systemd akan memulai daemon dan meneruskan koneksi ke sana, digunakan untuk menunda dimulainya layanan pada saat boot dan untuk memulai layanan yang lebih jarang digunakan sesuai permintaan.
3. Unit jalur memiliki path digunakan untuk menunda aktivasi layanan hingga terjadi perubahan sistem file tertentu, digunakan untuk layanan yang menggunakan direktori spool seperti sistem pencetakan.

**Melihat Status Layanan**
Perintah "systemctl" berfungsi untuk memverifikasi status layanan tertentu. Misalnya, gunakan perintah berikut untuk memverifikasi bahwa unit layanan saat ini aktif (berjalan):

1.Masuk ke ssh 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6e6xvh5dhrsyxfh94g9b.png)


2.Perintah berikut ini untuk Perintah systemctl yang berfungsi memverifikasi status layanan tertentu. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y74ujxqai3ode6w1n58x.png)

3.Perintah berikut ini "systemctl" untuk memverifikasi status layanan tertentu

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gmvlaqzblxs0in01ugdc.png)

4.Perintah berikut ini berfungsi memverifikasi unit layanan apakah sudah diaktifkan untuk memulai secara otomatis selama di boot sistem

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/woh8mfe2h9h4f5erc9lo.png)

5.Jalankan perintah untuk memverivikasi apakah unit gagal saat startup, 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o4in73fmwstk6233v14s.png)


**Tujuan**
dapat mengontrol daemon sistem dan layanan jaringan, menggunakan systemctl.

**Memulai dan Menghentikan Layanan**
Layanan perlu dihentikan atau dimulai secara manual karena beberapa alasan: mungkin perlu diperbarui, file konfigurasi mungkin perlu diubah, atau layanan mungkin perlu dicopot pemasangannya; atau administrator dapat secara manual memulai layanan yang jarang digunakan.

Untuk memulai, pertama-tama verifikasi bahwa tidak berjalan dengan status systemctl. Gunakan perintah "systemctl start". Di bawah ini cara memulai layanan sshd.service:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/78w61kd1kmswaj5bexls.png)

perintah yang bisa digunakan selain perintah diatas, sebagai berikut 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lqr9jy4sl9wnbnwh50wh.png)

perintah yang dapat dijalankan service untuk manajemen layanan perintah tanpa adanya jenis layanan dengan nama layanan. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j3zvkoj5eu068wh7czon.png)

Untuk menghentikan layanan yang sedang berjalan, stop dengan perintah systemctl. cara menunjukkan menghentikan layanan sshd.service:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8o6t2p5047rgvm937bxg.png)


**Layanan Restart dan Reload**
Selama restart layanan yang sedang berjalan, layanan dihentikan dan kemudian dimulai. Untuk memulai ulang layanan yang sedang berjalan, megunakan mulai ulang dengan perintah systemctl. menunjukkan cara me-restart layanan sshd.service:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0x9cmu13xg0liqwd6d8j.png)

Beberapa layanan memiliki kemampuan untuk memuat ulang file konfigurasi mereka tanpa memerlukan restart (reload). di bawah ini menunjukkan cara memuat ulang layanan sshd.service setelah perubahan konfigurasi:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mvm7qv1o7fzybqhci1b5.png)

Gunakan argumen muat ulang atau mulai ulang dengan perintah systemctl. Perintah memulai ulang layanan untuk mengimplementasikan perubahan konfigurasi baru:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5fbqwo2qpnk8sw666q9x.png)


**Mencantumkan Ketergantungsn Unit**
jika layanan cetak CUPS tidak berjalan dan file ditempatkan ke dalam direktori spool cetak, maka sistem akan memulai daemon atau perintah terkait CUPS untuk memenuhi permintaan cetak. Menggunakna perintah :
" systemctl stop cups.service "

opsi --reverse dengan perintah.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qcx2nctgn00ydxj9hncy.png)


**Layanan Masking dan Unmasking**
Masking membuat tautan di direktori konfigurasi ke file /dev/null yang mencegah layanan dimulai.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/auks8uf6p57esdqxpn8q.png)

Perintah mencoba memulai unit layanan bertopeng gagal ,berikut:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hhoceh2k33ulhx2thrrn.png)

Gunakan perintah systemctl unmask untuk membuka kedok unit layanan.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ejrkjvpfeb1n2r7s1ov.png)


**Mengaktifkan Layanan untuk Memulai atau Berhenti saat Boot**
Menghentikan layanan pada sistem yang sedang berjalan tidak mencegahnya untuk memulai lagi saat sistem di-boot ulang. Membuat tautan di direktori konfigurasi systemd memungkinkan layanan untuk memulai saat boot. Perintah systemctl membuat dan menghapus tautan ini.

Gunakan perintah systemctl enable ntuk memulai layanan saat boot

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lpvev5xwav71yvs9d93i.png)

Perintah di atas membuat tautan simbolik dari file unit layanan (direktori /usr/lib/systemd/system) ke lokasi pada disk tempat systemd mencari file, yang ada di /etc/systemd/system/TARGETNAME. direktori target.want. untuk Mengaktifkan layanan tidak memulai layanan di sesi saat ini. Jalankan perintah systemctl start dan systemctl enable untuk memulai layanan dan mengaktifkannya untuk memulai secara otomatis saat boot

Untuk menonaktifkan layanan untuk tidak berjalan secara otomatis. Perhatikan bahwa menonaktifkan layanan tidak menghentikan layanan.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pxzmdl6kfmj44pj9yc1u.png)


**RINGKASAN**
Dalam bab "Controlling Services and Daemons" yang dapat kita pelajari :
ystemd menyediakan metode untuk mengaktifkan sumber daya sistem, daemon server, dan proses lainnya, baik pada saat boot maupun pada sistem yang sedang berjalan.

1. Gunakan systemctl untuk memulai, menghentikan, memuat ulang, mengaktifkan, dan menonaktifkan layanan.
2. Gunakan perintah status systemctl untuk menentukan status daemon sistem dan layanan jaringan yang dimulai oleh systemd.
3. Perintah "systemctl list-dependencies" mencantumkan semua unit layanan yang menjadi sandaran unit layanan tertentu.
4. systemd dapat menutupi unit layanan sehingga tidak berjalan bahkan untuk memenuhi dependensi.