Mengelola layanan atau grup layanan di PC Linux modern dapat menjadi hambatan, yaitu, jika Anda tidak yakin dengan apa yang Anda lakukan. Beruntung bagi Anda, Ubuntu Systemctl telah membantu Anda mengelola layanan di PC Linux.
Dalam tutorial ini, Anda akan mempelajari cara mengelola layanan Systemd di PC Ubuntu dengan menjalankan systemctl
. yang berbeda perintah.
Siap? Saatnya menggali!
Prasyarat
Tutorial ini akan menjadi demonstrasi langsung tetapi tidak memerlukan alat khusus, selama Anda menggunakan Ubuntu 16 atau versi yang lebih tinggi, Anda dapat melakukannya. Tutorial ini menggunakan versi Ubuntu 20.04.3 LTS untuk demo.
Apa itu Systemctl Ubuntu?
Sebelum menjalankan perintah systemctl Ubuntu, kenali dulu apa itu Systemctl. Systemctl adalah utilitas baris perintah untuk mengontrol dan mengelola systemd dan layanan sistem.
Singkatnya, Systemctl adalah panel kontrol atau manajer layanan untuk sistem init systemd untuk menginisialisasi komponen setelah kernel Linux di-boot. Systemctl adalah kumpulan pustaka, daemon, dan utilitas yang dapat Anda gunakan untuk mengelola layanan.
Untuk mengelola layanan secara efektif, ketahui status layanan yang berbeda sebagai berikut:
- Diaktifkan – menunjukkan layanan dikonfigurasi untuk memulai saat sistem melakukan booting.
- Dinonaktifkan – menunjukkan layanan dikonfigurasi untuk tidak memulai saat sistem melakukan booting.
- Aktif – menunjukkan layanan sedang dalam status berjalan.
- Tidak aktif – menunjukkan layanan tidak sedang berjalan tetapi mungkin mulai ketika beberapa aplikasi mencoba untuk memulai layanan tersebut.
Mencantumkan Semua Layanan
Sekarang setelah Anda mengetahui status layanan yang berbeda, mungkin Anda ingin melihat daftar semua layanan di PC Ubuntu Anda. Mencantumkan semua layanan memberikan beberapa informasi yang mempersiapkan Anda untuk mengelola layanan.
Buka terminal Anda dan jalankan perintah di bawah ini untuk mendaftar semua unit layanan (list-units
) (aktif, berjalan, keluar, atau gagal) dengan layanan yang ditetapkan sebagai jenis unit (--type=service
).
systemctl list-units --type=service
Pilih salah satu layanan dari daftar yang ingin Anda kelola nanti dalam tutorial ini dan perhatikan UNIT nama (mis., apache2 ). Tekan spasi untuk menggulir ke bawah, atau tekan tombol “Q” untuk keluar dari perintah.
Omong-omong, inilah panduan bagus tentang Linux Shell Scripting.
Layanan Cantuman dengan Status Tertentu
Alih-alih mencantumkan semua layanan, mungkin Anda ingin mempersempit daftar layanan. Jika demikian, tambahkan --state
parameter akan melakukan trik, karena menyaring layanan dengan status spesifik yang Anda tentukan.
Jalankan salah satu perintah di bawah ini untuk mendaftar semua layanan aktif (--type=service --state=active
), keduanya berjalan dan keluar.
systemctl list-units --type=service --state=active
Demikian pula, untuk mencantumkan hanya layanan yang keluar atau berjalan, ubah nilai status dari active
ke salah satu running
atau exited
, seperti yang ditunjukkan pada perintah di bawah ini:
systemctl --type=service --state=running
systemctl --type=service --state=exited
Mencantumkan Layanan yang Diaktifkan
Selain mencantumkan layanan yang aktif, berjalan, dan keluar, Anda juga dapat membuat daftar layanan yang diaktifkan dan dinonaktifkan dengan menyalurkan grep
perintah.
Jalankan salah satu perintah di bawah ini untuk membuat daftar (list-unit-files
) disabled
atau enabled
layanan (--type=service
).
## Lists all Enabled services
systemctl list-unit-files --type=service | grep enabled
## Lists all Disabled services
systemctl list-unit-files --type=service | grep disabled
Perhatikan layanan yang diaktifkan, seperti yang ditunjukkan di bawah, karena Anda akan memerlukannya nanti untuk menonaktifkan layanan, tetapi tutorial ini menggunakan acpid.service untuk demo. Acpid adalah daemon yang dapat diperluas yang mendukung peristiwa Konfigurasi Lanjut dan Antarmuka Daya (ACPI).
Properti Layanan Cantuman
Selain daftar layanan, Anda mungkin ingin memeriksa properti layanan. Memiliki wawasan tentang properti layanan berguna untuk pemecahan masalah, parameter untuk proses, atau perilaku memulai ulang.
Jalankan perintah di bawah ini ke show
layanan (acpid.service
) properti dalam format key=value.
systemctl show acpid.service
Sekarang, jika Anda hanya mencari properti layanan tertentu, Anda dapat meneruskan -p
bendera dengan nama properti.
Jalankan perintah di bawah ini ke show
sebuah layanan (acpid.service
) MainPID
Properti.
systemctl show acpid.service -p MainPID
Mengelola Layanan Tertentu
Karena dasar-dasar layanan cantuman sudah tidak ada lagi, inilah saatnya untuk mengelola layanan (tunggal) tertentu dengan menjalankan systemctl stop
dan start
perintah.
Layanan Apache (apache2) digunakan untuk demo berikut, tetapi Anda dapat dengan bebas mengelola layanan yang Anda catat di bagian "Mendaftarkan Semua Layanan". Namun sebelum Anda menghentikan atau memulai layanan, Anda harus memverifikasi status layanan terlebih dahulu.
Jalankan perintah di bawah ini pada terminal untuk melihat apache2
informasi rinci layanan seperti status
.
systemctl status apache2
Di bawah ini, Anda dapat melihat bahwa layanan apache2 aktif dan berjalan.
Memasukkan kata sandi sudo tidak diperlukan untuk melihat status layanan karena Anda tidak mengubah status layanan. Tetapi jika Anda memulai, menghentikan, atau memulai ulang layanan, Anda harus menambahkan perintah sudo dan memasukkan kata sandi sudo.
Menghentikan Layanan
Mungkin Anda ingin menghentikan layanan yang dibiarkan menggantung dan masih berjalan di latar belakang. Dalam hal ini, systemctl stop
perintah adalah apa yang Anda butuhkan. Jalankan systemctl
perintah di bawah ini untuk menghentikan apache2
layanan.
sudo systemctl stop apache2
Jika Anda lebih suka menghentikan beberapa layanan secara bersamaan, tentukan setiap layanan yang dipisahkan oleh spasi, seperti ini:
sudo systemctl stop sshd apache2
. Dalam perintah ini, Anda akan menghentikan layanan sshd dan apache2 sekaligus.
Sekarang jalankan systemctl status
perintah seperti yang Anda lakukan sebelumnya untuk memverifikasi apakah layanan apache2 berhenti.
systemctl status apache2
Anda dapat melihat di bawah bahwa status layanan apache2 berubah menjadi tidak aktif (mati) , yang menunjukkan layanan dihentikan.
Memulai Layanan
Sekarang bagaimana Anda memulai layanan jika Anda menyadarinya tidak berjalan sama sekali? Anda menjalankan perintah yang mirip dengan menghentikan layanan, yaitu systemctl start
memerintah. Jalankan perintah di bawah ini ke start
apache2
layanan.
sudo systemctl start apache2
Seperti menghentikan beberapa layanan, Anda juga dapat memulai beberapa layanan dalam satu baris perintah. Ganti
stop
perintah denganstart
perintah seperti ini:sudo systemctl start sshd apache2
Sekarang jalankan systemctl status
perintah sekali lagi untuk memverifikasi apakah apache2
layanan sedang berjalan.
systemctl status apache2
Jika Anda melihat aktif (berjalan) status, seperti yang ditunjukkan di bawah, maka Anda sudah siap saat layanan kembali beroperasi.
Jika Anda lebih suka memulai kembali layanan langsung tanpa harus menghentikannya terlebih dahulu. Jika demikian, pilih
systemctl restart
sebagai gantinya, seperti ini:sudo systemctl restart apache2
Mengaktifkan atau Menonaktifkan Layanan
Mungkin ada layanan tertentu yang Anda pilih untuk memulai atau mencegah untuk memulai pada boot sistem. Jika demikian, jalankan systemctl
enable
atau disable
perintah adalah pendekatan terbaik.
enable
subcommand memungkinkan Anda mengonfigurasi pengaturan startup default pada sistem Anda, sedangkan disable
subcommand mencegah layanan berjalan pada boot sistem.
Jalankan systemctl
perintah di bawah ini ke disable
layanan (acpid.service
) yang Anda catat di bagian “Layanan yang Diaktifkan Daftar”. Masukkan kata sandi sudo Anda untuk mengotorisasi menjalankan perintah.
sudo systemctl disable acpid.service
Sekarang karena acpid.service mendukung konfigurasi yang diarahkan ke OS dan Manajemen Daya (OSPM); Anda perlu mengaktifkannya kembali. Perintah untuk mengaktifkan layanan mirip dengan menonaktifkan layanan.
Jalankan systemctl
perintah di bawah ini ke enable
acpid.service
. Perintah ini mendaftarkan layanan kembali ke pengaturan startup default pada sistem Anda.
sudo systemctl enable acpid.service
Kesimpulan
Dalam tutorial ini, Anda menyadari seberapa cepat Anda dapat menghentikan, memulai, atau memulai ulang layanan dengan menjalankan Ubuntu systemctl
perintah. Anda juga telah mempelajari bahwa systemctl
perintah memungkinkan Anda mengelola tidak hanya satu tetapi beberapa layanan secara bersamaan.
Dengan pengetahuan baru ini, mengapa tidak mengotomatiskan layanan pengontrol di sistem Ubuntu Anda?