Systemd dan Service Management

Systemd dan Service Management

Bitnesia Aug 17, 2026 24 EN

Setelah memahami proses dan cara mengelolanya, kini Anda akan mengenal systemd, sistem yang menjadi fondasi pengelolaan layanan di Ubuntu 26.04 LTS dan Fedora Workstation 44. systemd bertugas memulai sistem saat boot, mengelola service yang berjalan di latar belakang, serta menyimpan log sistem. Melalui pemahaman terhadap systemd, Anda dapat mengontrol service, mengatur service agar aktif saat boot, dan membaca log untuk memecahkan masalah.

Apa Itu Init System?

Saat komputer dinyalakan, kernel Linux dimuat terlebih dahulu, lalu sebuah program pertama dijalankan untuk memulai seluruh sistem. Program pertama ini disebut init system. Tugasnya adalah mempersiapkan sistem, memulai service-service penting, dan mengelola service selama sistem berjalan. init system adalah proses pertama yang berjalan, sehingga memiliki PID 1.

Mengenal systemd: Init System Modern

systemd adalah init system modern yang digunakan oleh hampir semua distribusi Linux besar, termasuk Ubuntu 26.04 LTS dan Fedora Workstation 44. systemd tidak hanya memulai service, tetapi juga menangani manajemen log, penjadwalan tugas, manajemen jaringan, dan banyak fungsi lain. systemd bekerja lebih cepat dibandingkan init system pendahulunya karena mampu memulai service secara paralel.

Unit File: Service, Target, Socket, Timer

systemd mengelola berbagai komponen sistem dalam bentuk unit. Setiap unit direpresentasikan oleh sebuah file konfigurasi, dan ada beberapa jenis unit yang penting untuk diketahui.

Jenis UnitFungsi
Service (.service)Mendefinisikan sebuah service atau proses latar belakang.
Target (.target)Mengelompokkan unit lain untuk mencapai suatu kondisi sistem.
Socket (.socket)Mengelola socket untuk aktivasi service berdasarkan koneksi.
Timer (.timer)Menjadwalkan tugas secara berkala, pengganti cron untuk systemd.

Untuk kebutuhan sehari-hari, Anda paling sering berurusan dengan unit service dan target. Nama sebuah unit biasanya cukup ditulis tanpa akhiran jenisnya, misalnya ssh alih-alih ssh.service, karena systemctl akan menambahkan akhiran .service secara otomatis jika tidak dituliskan.

Target Systemd (Pengganti Runlevel)

Pada init system lama, kondisi sistem diwakili oleh konsep runlevel. systemd menggantinya dengan target. Berikut adalah beberapa target utama yang perlu Anda kenal.

TargetFungsi
graphical.targetSistem dengan antarmuka grafis penuh, target default untuk desktop.
multi-user.targetSistem berjalan tanpa antarmuka grafis, cukup untuk keperluan server.
rescue.targetMode penyelamatan untuk memperbaiki sistem yang bermasalah.

Pada Ubuntu dan Fedora desktop, target default yang aktif adalah graphical.target. Anda dapat melihat target aktif saat ini dengan perintah systemctl get-default.

Mengelola Service dengan systemctl

systemctl adalah perintah utama untuk mengelola service dan unit systemd.

Menemukan Nama Unit Service

Sebelum mengontrol sebuah service, Anda perlu mengetahui nama unit-nya, karena nama ini tidak selalu sama antar distribusi. Untuk melihat seluruh service yang sedang dikenal oleh systemd, gunakan systemctl list-units.

systemctl list-units --type=service

Tambahkan opsi --all untuk menyertakan service yang tidak aktif, atau salurkan ke grep untuk mencari nama tertentu, misalnya systemctl list-units --type=service --all | grep ssh.

Sebagai contoh sepanjang bagian ini, kita akan menggunakan service SSH server karena merupakan contoh yang umum dan berguna dalam praktik nyata. Perlu diperhatikan, nama unit-nya berbeda antara Ubuntu dan Fedora mengikuti konvensi penamaan masing-masing turunan distro.

DistroNama Unit SSH
Ubuntu 26.04 LTSssh (ssh.service)
Fedora Workstation 44sshd (sshd.service)

Perbedaan ini adalah salah satu contoh mengapa perintah systemctl list-units di atas berguna: alih-alih menghafal nama unit untuk setiap distro, Anda dapat langsung memverifikasinya di sistem yang sedang Anda pakai. Perlu diingat pula bahwa SSH server (paket openssh-server) tidak terinstal secara bawaan di kedua distro, sehingga unit ini baru akan muncul setelah Anda menginstalnya sebagaimana dibahas pada Bab 35. Jika Anda ingin mempraktikkan perintah-perintah berikut sebelum sampai ke Bab 35, Anda dapat menggantikan ssh/sshd pada contoh dengan service yang sudah aktif secara bawaan, misalnya cups (layanan pencetakan) atau NetworkManager.

systemctl status: Cek Status Service

Untuk melihat status sebuah service, gunakan systemctl status.

# Ubuntu 26.04 LTS
systemctl status ssh

# Fedora Workstation 44
systemctl status sshd

Perintah ini menampilkan apakah service aktif, sejak kapan berjalan, serta beberapa baris log terakhir.

systemctl start / stop / restart: Kontrol Service

Anda dapat menjalankan, menghentikan, dan memulai ulang service menggunakan start, stop, dan restart. Perintah ini memerlukan hak administratif.

# Ubuntu 26.04 LTS
sudo systemctl start ssh
sudo systemctl stop ssh
sudo systemctl restart ssh

# Fedora Workstation 44
sudo systemctl start sshd
sudo systemctl stop sshd
sudo systemctl restart sshd

systemctl enable / disable: Aktif/Nonaktif Saat Boot

start dan stop hanya berlaku untuk sesi berjalan. Untuk mengatur agar service otomatis aktif atau tidak saat boot, gunakan enable dan disable.

# Ubuntu 26.04 LTS
sudo systemctl enable ssh
sudo systemctl disable ssh

# Fedora Workstation 44
sudo systemctl enable sshd
sudo systemctl disable sshd

Perbedaan pentingnya adalah enable membuat service aktif secara permanen setelah boot, sedangkan start hanya menjalankannya sekali pada sesi sekarang. Jika Anda ingin langsung menjalankan sekaligus mengaktifkan service saat boot dalam satu perintah, gunakan opsi --now.

sudo systemctl enable --now ssh

systemctl reload: Reload Konfigurasi

Ketika Anda mengubah file konfigurasi sebuah service tanpa perlu menghentikannya, gunakan reload.

# Ubuntu 26.04 LTS
sudo systemctl reload ssh

# Fedora Workstation 44
sudo systemctl reload sshd

Tidak semua service mendukung reload. Jika service tidak mendukungnya, gunakan restart untuk menerapkan perubahan konfigurasi.

Melihat Log Sistem dengan journalctl

systemd menyimpan log seluruh sistem dalam journal, yang dapat dibaca menggunakan journalctl. Log ini sangat membantu saat mendiagnosis masalah.

journalctl -u: Log Per Service

Untuk melihat log milik sebuah service tertentu, gunakan opsi -u.

# Ubuntu 26.04 LTS
journalctl -u ssh

# Fedora Workstation 44
journalctl -u sshd

Perintah ini menampilkan log yang dihasilkan oleh service SSH saja.

journalctl -f: Follow Log Real-Time

Untuk mengikuti log secara langsung seiring masuknya baris baru, gunakan -f, mirip dengan tail -f.

journalctl -f

Tekan Ctrl+C untuk berhenti mengikuti log.

journalctl -b: Log Sejak Boot Terakhir

Untuk melihat log sejak boot terakhir, gunakan opsi -b.

journalctl -b

Anda juga dapat melihat log dari boot sebelumnya dengan menambahkan angka, misalnya journalctl -b -1 untuk boot sebelumnya. Opsi ini hanya menampilkan hasil dari boot-boot sebelumnya jika penyimpanan log persisten aktif, yang secara bawaan sudah aktif di Ubuntu 26.04 LTS maupun Fedora Workstation 44.

Filter Berdasarkan Waktu

Anda dapat memfilter log berdasarkan rentang waktu menggunakan opsi --since dan --until.

journalctl --since "2026-08-18 10:00:00" --until "2026-08-18 12:00:00"

Filter waktu sangat berguna ketika Anda ingin mempersempit pencarian ke saat terjadinya suatu masalah.

systemd adalah jantung pengelolaan sistem di Ubuntu 26.04 LTS dan Fedora Workstation 44. Setelah Anda menguasai systemctl untuk mengontrol service, termasuk cara menemukan nama unit yang benar di distro Anda, serta journalctl untuk membaca log, Anda telah memiliki dasar yang kuat untuk merawat sistem Linux. Pada bagian berikutnya, Anda akan melangkah ke topik jaringan dasar, dimulai dari konsep jaringan dan cara melihat konfigurasinya di Linux.