Cara Mendaftar Semua Layanan yang Berjalan di Systemd di Linux


Sistem Linux menyediakan berbagai layanan sistem (seperti manajemen proses, login, syslog, cron, dll.) dan layanan jaringan (seperti login jarak jauh, email, printer, hosting web, penyimpanan data , transfer file, resolusi nama domain (menggunakan DNS), penetapan alamat IP dinamis (menggunakan DHCP), dan banyak lagi).

Secara teknis, layanan adalah suatu proses atau sekelompok proses (umumnya dikenal sebagai daemon) yang berjalan terus menerus di latar belakang, menunggu permintaan masuk (terutama dari klien).

Linux mendukung berbagai cara untuk mengelola layanan (memulai, menghentikan, memulai ulang, mengaktifkan mulai otomatis saat boot sistem, dll.), biasanya melalui manajer proses atau layanan. Kebanyakan, jika tidak semua, distribusi Linux modern sekarang menggunakan manajer proses yang sama: systemd.

Apa itu Sistemd?

Systemd adalah manajer sistem dan layanan untuk Linux; pengganti drop-in untuk proses init, yang kompatibel dengan skrip init SysV dan LSB, dan perintah systemctl adalah alat utama untuk kelola systemd.

Mengapa Mencantumkan Layanan yang Berjalan di Linux?

Mengetahui layanan yang berjalan di sistem Linux Anda sangat penting karena beberapa alasan. Ini memungkinkan Anda memantau pemanfaatan sumber daya, memecahkan masalah, dan mengelola kinerja sistem secara efisien. Systemd menyederhanakan tugas ini dengan menawarkan perintah yang kuat untuk mengumpulkan informasi tentang layanan aktif.

Dalam panduan ini, kami akan mendemonstrasikan proses membuat daftar semua layanan yang berjalan di Systemd di Linux, memberikan panduan komprehensif untuk pengguna dari semua tingkat pengalaman.

Mencantumkan Layanan yang Berjalan di Bawah SystemD di Linux

Saat Anda menjalankan perintah systemctl tanpa argumen apa pun, ini akan menampilkan daftar semua unit systemd yang dimuat (baca dokumentasi systemd untuk informasi lebih lanjut tentang unit systemd) termasuk layanan, yang menunjukkan statusnya (apakah aktif atau tidak ).

systemctl 

Daftar Semua Unit di systemctl

Untuk membuat daftar semua layanan yang dimuat di sistem Anda (baik aktif; berjalan, keluar, atau gagal, gunakan subperintah list-units dan tombol --type dengan nilai layanan.

systemctl list-units --type=service
OR
systemctl --type=service

Dan untuk mencantumkan semua layanan yang dimuat tetapi aktif, baik yang berjalan maupun yang sudah keluar, Anda dapat menambahkan opsi --state dengan nilai aktif, sebagai berikut.

systemctl list-units --type=service --state=active
OR
systemctl --type=service --state=active

Daftar Layanan yang Berjalan di systemctl

Namun untuk melihat sekilas semua layanan yang berjalan (yaitu semua layanan yang dimuat dan aktif berjalan), jalankan perintah berikut.

systemctl list-units --type=service --state=running 
OR
systemctl --type=service --state=running

Mari kita jelajahi istilah-istilah penting yang terkait dengan unit Systemd dan statusnya:

  • Unit – Unit dapat berupa layanan, soket, perangkat, atau berbagai entitas lainnya.
  • Muat – Ini menunjukkan apakah unit dimuat atau tidak. Suatu unit dapat dimuat tetapi belum tentu aktif.
  • Aktif – Ini menunjukkan apakah unit sedang aktif berjalan atau mengalami masalah dan berada dalam keadaan gagal atau tidak aktif.
  • SUB – Memberikan detail tambahan tentang status spesifik unit. Untuk layanan, ini mungkin menunjukkan apakah layanan sedang berjalan (running), berhenti (keluar), atau mengalami masalah (gagal).
  • Deskripsi – Membantu pengguna mengidentifikasi dan memahami tujuan unit tanpa mempelajari file konfigurasi mendetail.

Buat Alias untuk systemctl

Jika Anda sering menggunakan perintah sebelumnya, Anda dapat membuat perintah alias di file ~/.bashrc seperti yang ditunjukkan, agar mudah dijalankan.

vim ~/.bashrc

Kemudian tambahkan baris berikut di bawah daftar alias seperti yang ditunjukkan pada tangkapan layar.

alias running_services='systemctl list-units  --type=service  --state=running'

Simpan perubahan pada file dan tutup. Mulai sekarang dan seterusnya, gunakan perintah “running_services ” untuk melihat daftar semua layanan yang dimuat dan berjalan secara aktif di server Anda.

running_services	#use the Tab completion 

Temukan Port yang Sedang Didengarkan Proses

Selain itu, aspek penting dari layanan adalah pelabuhan yang mereka gunakan. Untuk menentukan port tempat proses daemon mendengarkan, Anda dapat menggunakan perintah netstat atau ss seperti yang ditunjukkan.

Dimana flag -l berarti mencetak semua soket yang mendengarkan, -t menampilkan semua koneksi TCP, -u menunjukkan semua koneksi UDP, - n berarti mencetak nomor port numerik (bukan nama aplikasi) dan -p berarti menampilkan nama aplikasi.

netstat -ltup | grep zabbix_agentd
OR
ss -ltup | grep zabbix_agentd

Kolom kelima menunjukkan soket: Alamat Lokal:Port. Dalam hal ini, proses zabbix_agentd mendengarkan pada port 10050.

Daftar Menjalankan Layanan Firewall

Selain itu, jika server Anda menjalankan layanan firewall, yang mengontrol cara memblokir atau mengizinkan lalu lintas ke atau dari layanan atau port yang dipilih, Anda dapat membuat daftar layanan atau port yang telah dibuka di firewall, menggunakan firewall-cmd< atau perintah ufw (tergantung distro Linux yang Anda gunakan) seperti pada gambar.

firewall-cmd --list-services   [FirewallD]
firewall-cmd --list-ports

sudo ufw status     [UFW Firewall]

Itu saja untuk saat ini! Dalam panduan ini, kami mendemonstrasikan cara melihat layanan yang berjalan pada systemd di Linux. Kami juga membahas cara memeriksa layanan port yang sedang didengarkan dan cara melihat layanan atau port yang dibuka di firewall sistem.

Apakah Anda memiliki tambahan untuk dibuat atau pertanyaan? Jika ya, hubungi kami menggunakan formulir komentar di bawah.