GNU/Linux >> Belajar Linux >  >> Linux

Cara yang Benar Menggunakan Ubuntu systemctl untuk Mengontrol Systemd

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 dengan start 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?


Linux
  1. Bagaimana saya bisa mengonfigurasi layanan systemd untuk memulai ulang secara berkala?

  2. Systemd:Menggunakan After dan Requires

  3. Cara yang tepat untuk menggunakan OnFailure di systemd

  1. Kelola startup menggunakan systemd

  2. Menggunakan perintah systemctl untuk mengelola unit systemd

  3. Cara Mendaftar Layanan Systemd di Linux

  1. Cara Mengelola Layanan Systemd dengan Systemctl di Linux

  2. Cara Menggunakan Perintah Systemctl untuk Mengelola Layanan Systemd

  3. Gunakan Systemctl untuk mengelola layanan