Linux adalah sistem multitasking opsional seperti hampir semua orang saat ini. Dan untuk menjadikan ini pengalaman nyata, banyak aplikasi ditangani di latar belakang melalui layanan. Nah, pada berbagai waktu dan keadaan pengguna sistem perlu memulai, menghentikan, atau memulai kembali layanan ini. Karena itulah, dalam postingan ini, Anda akan mempelajari cara menangani layanan di Linux dengan perintah systemctl.
Juga, dalam posting ini, kami akan menunjukkan kepada Anda banyak utilitas yang dapat dilakukan oleh perintah tersebut. Selain itu, kami akan menjelaskan apa itu layanan dan bagaimana kami sampai ke systemctl.
Apa perbedaan antara systemd dan perintah systemctl?
Sebelum Anda melihat menggunakan systemctl perintah, adalah ide yang baik untuk membuat perbedaan antara perintah dan systemd .
Dengan tujuan utama mengoptimalkan pengelolaan dan pemuatan layanan Linux, systemd lahir. Ini menggantikan Sysvinit . yang lama bukannya tanpa kontroversi.
Systemd terdiri dari serangkaian daemon dan skrip yang kompatibel dengan SysV dan LSB. Ini juga memungkinkan dimulainya daemon sesuai permintaan, pemantauan proses dengan penggunaan grup kontrol Linux.
Di sisi lain, systemctl adalah perintah yang digunakan untuk mengelola layanan sistem. Ini berfungsi sebagai semacam antarmuka untuk systemd . Sekarang tidak. Kami akan menggunakan systemctl .
Mengelola layanan di Linux dengan perintah systemctl
Jika Anda menggunakan distribusi Linux modern, maka Anda telah menginstal dan menjalankan systemd dan karena itu systemctl perintah.
Perintah itu sendiri sangat mudah digunakan. Oleh karena itu sintaks dasarnya adalah sebagai berikut.
systemctl [OPTIONS...] {COMMAND} ...
Seperti kebanyakan perintah di Linux, ia memiliki opsi yang mengubah perilaku sistem. Jika Anda menampilkan systemctl bantuan, Anda akan melihat banyak opsi dan perintah yang tersedia.
:~$ systemctl --help
Ini karena meskipun systemctl digunakan untuk mengelola layanan sistem, ini juga memungkinkan Anda untuk melakukan operasi lain, seperti mematikan atau me-reboot komputer Anda.
Namun, Anda akan mempelajari pengelolaan layanan dengan systemctl melalui situasi.
1. Buat daftar layanan sistem
Pertama, Anda harus memperhitungkan bahwa perintah systemctl harus digunakan sebagai superuser. Atau setidaknya pengguna Anda dapat menggunakan sudo . Kemudian, buka terminal dan daftar layanan sistem di bawah systemd , jalankan perintah berikut
:~$ sudo systemctl
Seperti yang Anda lihat dari output layar, ini agak rumit. Tetapi Anda masih dapat memvisualisasikan layanan sistem.
Namun, dimungkinkan untuk menambahkan sub-perintah unit daftar dan filter untuk meningkatkan penyajian hasil.
:~$ sudo systemctl list-units --type=service --all
Gambar ini menyajikan hasil yang lebih jelas. Kolom yang paling penting adalah beban, aktif dan sub-kolom, di mana itu ditampilkan jika aktif dalam sistem dan jika sedang berjalan.
Jika Anda hanya ingin menampilkan yang sedang berjalan, cukup ubah perintah sebelumnya untuk yang ini:
:~$ sudo systemctl list-units --type=service --state=running
2. Mulai, hentikan, dan mulai ulang layanan dengan perintah systemctl
Sekarang setelah Anda mengetahui layanan apa yang ada di sistem Anda, Anda dapat memilih untuk memulainya, jika dihentikan, atau menghentikannya jika sedang berjalan.
Untuk memulai layanan, gunakan perintah ini:
:~$ sudo systemctl start [service]
Ganti layanan untuk nama layanan. Dalam kasus MySQL, perintahnya adalah sebagai berikut:
:~$ sudo systemctl start mysql
Sebaliknya, jika Anda ingin menghentikannya, gunakan sub-perintah stop dan nama layanannya.
:~$ sudo systemctl stop [service]
Mengikuti contoh MySQL, akan terlihat seperti ini:
:~$ sudo systemctl stop mysql
Di sisi lain, ada kalanya Anda harus melakukan perubahan pada konfigurasi beberapa layanan. Agar perubahan ini diterapkan, Anda harus memulai ulang.
:~$ sudo systemctl restart [service]
Layanan ini juga dapat diisi ulang. Dalam hal ini, hanya sebagian konfigurasi ulang layanan. Sub-perintahnya adalah “muat ulang”.
:~$ sudo systemctl reload [service]
Untuk memulai ulang sepenuhnya, Anda harus menggunakan opsi mulai ulang.
3. Aktifkan dan nonaktifkan layanan untuk memulai atau tidak saat boot sistem
Ketika layanan pihak ketiga sangat penting untuk pengoperasian server kami Atau beberapa aplikasi tersebut, akan lebih mudah untuk meminta systemd untuk memulainya bersama dengan sistem.
Untuk melakukannya, cukup ikuti sintaks berikut:
:~$ sudo systemctl enable [service]
Jadi, ganti [service] dengan nama layanan yang Anda butuhkan.
Untuk menonaktifkannya, gunakan sub-perintah nonaktifkan.
:~$ sudo systemctl disable [service]
Dengan cara ini Anda dapat mengatur layanan mana yang akan dimulai secara otomatis dan mana yang tidak.
4. Menutupi dan membuka kedok layanan dengan Systemctl
Jika Anda ingin layanan dinonaktifkan tetapi tidak dapat diaktifkan secara otomatis atau manual, layanan tersebut harus disembunyikan. Jangan khawatir bahwa itu selalu dapat dibuka kedoknya dan diaktifkan kembali.
Jadi, untuk menutupi layanan, gunakan perintah berikut
:~$ sudo systemctl mask [service]
Dan untuk membalikkan perintah sebelumnya:
:~$ sudo systemctl unmask [service]
Ini menambahkan lapisan keamanan ekstra untuk manajemen server. Ideal untuk berbagi pekerjaan. Karena untuk memulai atau mengaktifkan layanan bertopeng, Anda harus membuka kedoknya terlebih dahulu.
5. Periksa status layanan dengan perintah systemctl
Hal ini sering berguna untuk mengetahui apa status layanan. Ini untuk mendeteksi kemungkinan kesalahan.
Untuk melakukannya, gunakan perintah berikut:
:~$ sudo systemctl status [service]
Jika layanan sedang berjalan, Anda akan melihat gambar seperti ini.
Jika tidak, Anda akan melihat sesuatu seperti ini.
Ini sangat berguna untuk mengetahui apakah layanan tertentu sedang berjalan.
Kesimpulan
Mengelola layanan mungkin sedikit rumit dari terminal, tetapi sebenarnya tidak. Dan ini membantu sistem kami untuk dikelola dengan benar oleh pengguna.
Dalam posting ini, Anda telah menggunakan perintah systemctl untuk manajemen dasar layanan ini. Namun, contoh yang baru saja Anda amati, adalah kasus yang paling umum, jadi itu sudah cukup.