- 1 1. Pengantar
- 2 2. Cara Menampilkan Daftar Layanan dengan systemctl
- 3 3. Pengelolaan Layanan Dasar dengan systemctl
- 4 4. Opsi systemctl yang Berguna dan Teknik Lanjutan
- 5 5. Masalah Umum dan Pemecahan Masalah
- 6 6. Ringkasan
- 7 7. Pertanyaan yang Sering Diajukan (FAQ)
- 7.1 Q1. Apa perbedaan antara systemctl dan perintah service?
- 7.2 Q2. Apa perbedaan antara list-units dan list-unit-files?
- 7.3 Q3. Apakah layanan dalam keadaan statis dapat dimulai?
- 7.4 Q4. Layanan dimask dan tidak dapat dimulai. Apa yang harus saya lakukan?
- 7.5 Q5. Apakah ada metode GUI untuk melihat status layanan?
- 7.6 Q6. Di mana saya harus menempatkan file unit kustom?
1. Pengantar
Saat menggunakan Linux, ada banyak situasi di mana Anda ingin memeriksa status layanan atau melihat daftar proses yang berjalan. Dalam kasus seperti itu, perintah systemctl sangat berguna.
Perintah ini bekerja dengan systemd, sistem startup dan pengelola layanan yang digunakan dalam distribusi Linux modern. Ini menyediakan berbagai fungsi, termasuk memeriksa status layanan (unit), memulai, menghentikan, memulai ulang layanan, dan menampilkan daftar layanan.
Dari perspektif “daftar layanan systemctl,” Anda tidak hanya dapat melihat layanan yang aktif saat ini tetapi juga layanan yang dinonaktifkan dan yang dikonfigurasi untuk startup otomatis, memungkinkan Anda memahami konfigurasi sistem secara keseluruhan dari berbagai sudut pandang.
Bab ini secara singkat menjelaskan apa itu systemctl dan menguraikan apa yang akan Anda pelajari dalam artikel ini.
Apa Itu systemctl?
systemctl adalah alat standar untuk mengontrol dan memeriksa berbagai “unit” seperti layanan, target, dan titik pemasangan pada distribusi Linux berbasis systemd.
Misalnya, ini digunakan untuk memulai atau menghentikan layanan seperti Apache (httpd) dan SSH, serta menampilkan statusnya dalam bentuk daftar.
Hubungan Antara systemd dan systemctl
systemd adalah mekanisme inti yang bertanggung jawab atas proses startup Linux dan pengelolaan layanan, menggantikan sistem lama seperti SysVinit dan Upstart. Alat baris perintah yang digunakan untuk berinteraksi dengan systemd adalah systemctl.
Dengan kata lain, jika systemd adalah pusat komando, systemctl bertindak sebagai operator yang mengeluarkan instruksi.
Apa yang Akan Anda Pelajari dalam Artikel Ini
Artikel ini menjawab pertanyaan-pertanyaan berikut:
- Bagaimana Anda dapat melihat daftar layanan yang sedang berjalan saat ini?
- Bagaimana Anda menampilkan semua layanan, termasuk yang tidak aktif?
- Bagaimana Anda memeriksa apakah sebuah layanan dimulai secara otomatis saat boot?
- Bagaimana Anda menginterpretasikan output dari daftar layanan?
Untuk memastikan kejelasan bagi pemula Linux, contoh perintah dan penjelasan output disediakan secara rinci.
2. Cara Menampilkan Daftar Layanan dengan systemctl
Dalam administrasi sistem Linux, memahami daftar layanan dengan cepat sangat penting. Menggunakan perintah systemctl, Anda dapat dengan mudah memeriksa layanan aktif, layanan tidak aktif, dan pengaturan konfigurasi startup.
Bagian ini menjelaskan metode daftar layanan dari tiga perspektif berikut:
- Daftar layanan aktif
- Daftar semua layanan (termasuk yang tidak aktif)
- Daftar file unit layanan (termasuk pengaturan startup)
2.1 Menampilkan Daftar Layanan Aktif Saat Ini
Untuk memeriksa layanan yang sedang berjalan saat ini, gunakan perintah berikut:
systemctl list-units --type=service
Perintah ini menampilkan daftar layanan aktif. Output mencakup bidang-bidang berikut:
| Field | Description |
|---|---|
| UNIT | Service name (e.g., ssh.service) |
| LOAD | Whether the unit file is loaded |
| ACTIVE | Service state (e.g., active, inactive, failed) |
| SUB | More detailed status (e.g., running, exited, dead) |
| DESCRIPTION | Service description |
Informasi ini memungkinkan Anda menentukan, misalnya, apakah nginx sedang berjalan atau layanan mana yang sedang aktif saat ini.
2.2 Menampilkan Semua Layanan Termasuk yang Tidak Aktif
Secara default, list-units hanya menampilkan layanan aktif. Untuk menyertakan layanan tidak aktif, tambahkan opsi --all.
systemctl list-units --type=service --all
Ini menampilkan layanan tidak aktif dan yang belum pernah dimulai.
Anda dapat lebih lanjut memfilter hasil berdasarkan status layanan menggunakan opsi --state=:
systemctl list-units --type=service --state=inactive
Ini berguna ketika Anda ingin melihat hanya layanan yang dihentikan.
2.3 Melihat Daftar File Unit Layanan
Untuk memeriksa layanan mana yang diaktifkan atau dinonaktifkan saat boot, gunakan perintah berikut:
systemctl list-unit-files --type=service
Perintah ini menampilkan semua file unit layanan beserta status diaktifkan atau dinonaktifkannya.
| STATE | Description |
|---|---|
| enabled | Automatically starts at boot |
| disabled | Does not start automatically |
| static | Cannot be enabled or disabled manually |
| masked | Explicitly disabled and cannot be started |
Daftar ini membantu Anda memahami secara visual layanan mana yang dimulai saat boot dan mengidentifikasi layanan yang salah dimasker.
3. Pengelolaan Layanan Dasar dengan systemctl
Perintah systemctl memungkinkan Anda untuk memulai, menghentikan, memulai ulang layanan, dan mengonfigurasi perilaku startup.
3.1 Memulai Sebuah Layanan
sudo systemctl start service-name
Contoh:
sudo systemctl start httpd.service
3.2 Menghentikan Layanan
sudo systemctl stop service-name
Contoh:
sudo systemctl stop sshd.service
3.3 Memulai Ulang Layanan
sudo systemctl restart service-name
Contoh:
sudo systemctl restart nginx.service
3.4 Memeriksa Status Layanan
systemctl status service-name
Contoh:
systemctl status mysql.service
3.5 Mengaktifkan Startup Otomatis
sudo systemctl enable service-name
Contoh:
sudo systemctl enable docker.service
3.6 Menonaktifkan Startup Otomatis
sudo systemctl disable service-name
Contoh:
sudo systemctl disable cups.service
3.7 Memeriksa Status Startup
systemctl is-enabled service-name
enabled
4. Opsi systemctl yang Berguna dan Teknik Lanjutan
4.1 Mendaftar Ketergantungan Layanan
systemctl list-dependencies service-name
4.2 Melihat Isi File Unit
systemctl cat service-name

4.3 Memuat Ulang File Unit
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
4.4 Melihat Log Layanan
journalctl -u service-name
5. Masalah Umum dan Pemecahan Masalah
5.1 Ketika Layanan Gagal Dimulai
systemctl status service-name
journalctl -xe
5.2 Memahami Pesan Kesalahan dalam Output status
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
Active: failed (Result: exit-code)
5.3 Layanan yang Berhenti Seketika Setelah Dimulai
- Kesalahan konfigurasi
- Konflik port
- File atau direktori yang hilang
- Izin yang tidak memadai
5.4 Ketika Layanan Dimask
sudo systemctl unmask service-name
6. Ringkasan
Manajemen layanan adalah bagian penting dari operasi sistem Linux, dan systemctl memainkan peran sentral dalam mengontrol serta memahami layanan sistem.
7. Pertanyaan yang Sering Diajukan (FAQ)
Bagian ini menjawab pertanyaan umum tentang systemctl dan manajemen layanan.
Q1. Apa perbedaan antara systemctl dan perintah service?
A1.
systemctl adalah perintah manajemen layanan yang dirancang untuk sistem berbasis systemd dan merupakan alat standar yang digunakan oleh sebagian besar distribusi Linux modern seperti Ubuntu, CentOS, dan Fedora.
Sebaliknya, perintah service digunakan pada sistem lama berbasis SysVinit. Meskipun masih ada untuk alasan kompatibilitas, penggunaan systemctl sangat disarankan di lingkungan systemd.
Q2. Apa perbedaan antara list-units dan list-unit-files?
A2.
list-unitsmenampilkan unit yang saat ini dimuat, artinya layanan yang sedang berjalan atau yang baru-baru ini digunakan.list-unit-filesmenampilkan semua file unit beserta status pengaktifannya (enabled, disabled, dll.). Singkatnya, yang pertama menunjukkan apa yang sedang aktif, sementara yang kedua menunjukkan bagaimana layanan dikonfigurasi.
Q3. Apakah layanan dalam keadaan statis dapat dimulai?
A3.
Ya, layanan dalam keadaan static dapat dimulai secara manual menggunakan start. Namun, mereka tidak dapat diaktifkan untuk startup otomatis pada saat boot.
Hal ini karena layanan statis dirancang untuk dimulai sebagai ketergantungan unit lain.
Q4. Layanan dimask dan tidak dapat dimulai. Apa yang harus saya lakukan?
A4.
Layanan yang masked sepenuhnya dinonaktifkan dan tidak dapat dimulai. Untuk mengatasinya, lepaskan mask pada layanan dengan perintah berikut:
sudo systemctl unmask service-name
Setelah melepas mask, Anda dapat memulai layanan secara normal.
Q5. Apakah ada metode GUI untuk melihat status layanan?
A5.
Tergantung pada distribusi, alat seperti gnome-system-monitor, KSysGuard, atau Cockpit memungkinkan Anda untuk melihat status layanan melalui antarmuka grafis.
Namun, untuk operasi lanjutan seperti mengaktifkan atau menonaktifkan layanan saat boot, systemctl tetap menjadi metode yang paling andal.
Q6. Di mana saya harus menempatkan file unit kustom?
A6.
File unit kustom biasanya ditempatkan di /etc/systemd/system/. Setelah mengedit atau menambahkan file unit, selalu jalankan perintah berikut:
sudo systemctl daemon-reload
Kemudian Anda dapat mengelola layanan secara normal menggunakan start atau enable.


