systemd adalah manajer sistem dan layanan pada mayoritas distribusi Linux modern. Komponen ini membantu sistem melakukan proses awal saat komputer dinyalakan, menjalankan layanan di latar belakang, mengatur dependensi, serta menghentikan proses ketika sistem dimatikan.
Untuk berinteraksi dengan systemd, pengguna biasanya memakai systemctl. Perintah ini dipakai untuk start, stop, enable, dan memeriksa status layanan. Memahami perintah tersebut penting bagi administrator Linux, pengembang, dan pemula yang ingin mengelola sistem secara teratur.
Gunakan perintah administrasi hanya pada komputer milik sendiri atau sistem yang memang memberikan izin. Latihan dapat dilakukan melalui mesin virtual, instalasi Linux lokal, atau lingkungan pembelajaran yang sah.
Mengenal systemd dan layanan Linux
Linux menjalankan banyak layanan untuk menyediakan fungsi tertentu. Contohnya adalah layanan jaringan, penjadwalan tugas, pencatatan log, dan akses jarak jauh. Setiap layanan berjalan sebagai proses yang dikelola sistem operasi.
Pada sistem modern, systemd bertugas mengatur layanan sejak proses boot. systemd menentukan layanan yang perlu dijalankan, mengatur urutan proses, serta memantau kondisi layanan. Jika sebuah layanan membutuhkan layanan lain, systemd dapat memperhitungkan hubungan tersebut saat memulai sistem.
Layanan yang dikelola systemd biasanya memiliki unit. Unit merupakan berkas konfigurasi yang menjelaskan cara sebuah komponen dijalankan. Unit layanan umumnya menggunakan akhiran .service, meskipun systemd juga mengenal jenis unit lain.
Pengguna tidak perlu mengubah berkas unit untuk menjalankan tugas dasar. Sebagian besar kebutuhan harian dapat dilakukan dengan systemctl. Perintah ini menyediakan antarmuka yang lebih teratur dibandingkan menjalankan proses secara manual.
Nama layanan dapat berbeda pada setiap distribusi Linux. Karena itu, periksa nama layanan yang tersedia sebelum menjalankan perintah administrasi. Hindari menebak nama layanan, terutama ketika bekerja pada sistem produksi.
Memeriksa status layanan
Perintah utama untuk melihat kondisi layanan adalah:
systemctl status nama-layanan
Ganti nama-layanan dengan nama layanan yang ingin diperiksa. Hasilnya biasanya menampilkan apakah layanan aktif, tidak aktif, gagal, atau sedang menjalani proses perubahan status.
Informasi status membantu menjawab beberapa pertanyaan dasar:
- Apakah layanan sedang berjalan?
- Apakah layanan berjalan sejak proses boot?
- Apakah proses terakhir mengalami kegagalan?
- Apakah systemd mengenali unit tersebut?
- Apakah ada pesan yang membantu menemukan masalah?
Untuk memeriksa apakah layanan sedang aktif tanpa menampilkan keluaran panjang, gunakan:
systemctl is-active nama-layanan
Untuk memeriksa apakah layanan dikonfigurasi agar berjalan otomatis saat boot, gunakan:
systemctl is-enabled nama-layanan
Kedua perintah tersebut berguna dalam skrip pemeriksaan sederhana dan pengecekan rutin. Perintah status lebih sesuai ketika membutuhkan informasi diagnostik.
Jika muncul pesan bahwa unit tidak ditemukan, nama layanan mungkin salah atau paket yang menyediakan layanan tersebut belum terpasang. Periksa dokumentasi distribusi Linux yang digunakan dan daftar unit yang tersedia.
Untuk menampilkan unit layanan yang sedang aktif, gunakan:
systemctl list-units --type=service
Untuk menampilkan unit layanan yang telah terpasang, termasuk yang tidak sedang aktif, gunakan:
systemctl list-unit-files --type=service
Daftar tersebut membantu mengenali layanan tanpa mengubah konfigurasi sistem.
Menjalankan dan menghentikan layanan
systemctl start menjalankan layanan pada sesi sistem saat ini:
sudo systemctl start nama-layanan
Perintah ini tidak selalu membuat layanan berjalan otomatis setelah komputer dinyalakan kembali. Perintah tersebut hanya mengubah keadaan layanan pada saat itu.
Untuk menghentikan layanan, gunakan:
sudo systemctl stop nama-layanan
Hentikan layanan hanya setelah memastikan dampaknya. Menghentikan layanan jaringan, akses jarak jauh, atau komponen penting dapat memutus koneksi atau mengganggu pekerjaan pengguna lain.
Untuk menjalankan ulang layanan, gunakan:
sudo systemctl restart nama-layanan
Perintah restart menghentikan lalu menjalankan kembali layanan. Gunakan cara ini setelah perubahan konfigurasi yang memang membutuhkan pemuatan ulang proses.
Sebagian layanan mendukung pemuatan ulang konfigurasi tanpa menghentikan proses utama:
sudo systemctl reload nama-layanan
Tidak semua layanan mendukung reload. Jika layanan tidak menyediakan fungsi tersebut, systemd dapat menampilkan pesan kesalahan. Dalam kondisi itu, gunakan restart hanya jika memahami dampaknya.
Setelah mengubah keadaan layanan, periksa hasilnya:
systemctl status nama-layanan
Langkah ini memastikan layanan benar-benar berada pada kondisi yang diharapkan. Jangan menganggap perintah berhasil hanya karena tidak langsung menampilkan kesalahan.
Mengatur layanan saat proses boot
systemctl enable mengatur layanan agar dijalankan secara otomatis ketika sistem melakukan boot:
sudo systemctl enable nama-layanan
Perintah ini mengubah konfigurasi pengaktifan layanan, tetapi biasanya tidak langsung menjalankan layanan pada sesi saat ini.
Jika ingin mengaktifkan layanan sekarang sekaligus mengaturnya agar berjalan saat boot, gunakan:
sudo systemctl enable --now nama-layanan
Pilihan tersebut praktis ketika layanan memang diperlukan segera dan pada proses boot berikutnya.
Untuk menghapus pengaturan pengaktifan otomatis, gunakan:
sudo systemctl disable nama-layanan
Menonaktifkan layanan saat boot tidak selalu menghentikan layanan yang sedang berjalan. Jika layanan juga harus dihentikan saat ini, lakukan langkah terpisah:
sudo systemctl stop nama-layanan
Perintah mask memiliki dampak lebih kuat karena mencegah layanan dijalankan secara normal:
sudo systemctl mask nama-layanan
Gunakan tindakan ini dengan hati-hati dan hanya ketika memahami konsekuensinya. Untuk mengembalikan layanan agar dapat dijalankan, gunakan:
sudo systemctl unmask nama-layanan
Perubahan pada layanan sistem dapat memengaruhi keamanan, konektivitas, dan fungsi utama komputer. Catat perubahan yang dilakukan agar konfigurasi dapat dipulihkan secara terarah.
Membaca kegagalan layanan dan log
Ketika layanan gagal berjalan, langkah pertama adalah memeriksa statusnya:
systemctl status nama-layanan
Perhatikan bagian yang menunjukkan keadaan layanan, kode keluar, serta pesan kesalahan. Pesan tersebut sering memberikan petunjuk tentang konfigurasi yang salah, berkas yang tidak ditemukan, atau izin yang tidak sesuai.
Untuk melihat catatan layanan melalui jurnal systemd, gunakan:
journalctl -u nama-layanan
Agar hanya menampilkan catatan sejak proses boot terakhir, gunakan:
journalctl -u nama-layanan -b
Untuk memantau catatan baru secara langsung, gunakan:
journalctl -u nama-layanan -f
Hentikan tampilan langsung dengan menekan Ctrl+C. Gunakan log hanya untuk pemecahan masalah pada sistem yang diizinkan. Jangan menghapus atau mengubah catatan untuk menyamarkan aktivitas, terutama pada sistem bersama atau lingkungan produksi.
Setelah menemukan kesalahan, periksa konfigurasi layanan sesuai dokumentasi resmi distribusi atau perangkat lunak. Ubah satu hal pada satu waktu, lalu jalankan pemeriksaan status kembali. Cara ini memudahkan identifikasi perubahan yang memperbaiki atau menyebabkan masalah.
Sebelum memulai layanan setelah perubahan konfigurasi, validasi konfigurasi jika perangkat lunak menyediakan perintah pemeriksaan. Jangan mengandalkan restart sebagai pengganti validasi karena konfigurasi yang salah dapat membuat layanan berhenti.
Pola kerja harian yang aman
Pola kerja sederhana membantu mengurangi kesalahan:
- Kenali nama layanan yang akan dikelola.
- Periksa status layanan sebelum mengubahnya.
- Tentukan apakah kebutuhan hanya berlaku sekarang atau juga saat boot.
- Jalankan satu perintah perubahan.
- Periksa status dan log setelah perubahan.
- Catat konfigurasi yang diubah dan hasilnya.
Contoh alur untuk layanan yang memang dibutuhkan:
systemctl status nama-layanan
sudo systemctl enable --now nama-layanan
systemctl status nama-layanan
Contoh alur untuk menghentikan layanan yang tidak diperlukan pada komputer pribadi:
systemctl status nama-layanan
sudo systemctl disable --now nama-layanan
systemctl status nama-layanan
Jalankan contoh hanya pada layanan yang dipahami. Jangan menyalin perintah dari internet ke sistem produksi tanpa memeriksa nama layanan, hak akses, dan dampaknya.
Pemahaman systemd juga mendukung pembelajaran keamanan siber secara etis. Administrator dapat memeriksa layanan yang aktif, menemukan konfigurasi yang tidak diperlukan, serta menjaga agar sistem hanya menjalankan komponen yang memang dibutuhkan. Semua pemeriksaan harus dilakukan pada sistem milik sendiri atau sistem dengan izin tertulis.
Panduan Linux untuk keamanan siber tersedia di kalilinux.info. Gunakan referensi lanjutan tersebut untuk belajar di lingkungan laboratorium yang legal, seperti mesin virtual atau jaringan uji milik sendiri.
systemd mengatur proses sistem dan layanan, sedangkan systemctl menjadi alat utama untuk mengelola keadaan layanan. Kuasai status, start, stop, restart, enable, dan disable, lalu biasakan memeriksa log setelah perubahan. Pendekatan bertahap membuat administrasi Linux lebih aman, mudah ditelusuri, dan sesuai praktik etis.
Software terkait: Esport Simpangtigaredelong
