Cara Memperbaiki Kesalahan "Systemctl Command Not Found" di Linux

Perbaikan cepat untuk menyelesaikan masalah dengan perintah 'systemctl' dan pengenalan beberapa alternatif yang efisien untuk itu

sistemctl menjadi utilitas penting dalam ekosistem Linux, sangat umum bahwa Anda mungkin mengalami masalah kesalahan "systemctl: command not found" ketika Anda mencoba menjalankan sistemctl memerintah. Ini mungkin tidak berlaku untuk semua distribusi Linux, tetapi Anda mungkin dapat menemukan kesalahan ini ketika Anda menggunakan versi lama dari distribusi Linux yang tidak mendukung sistemctl memerintah.

Masalah yang terjadi pada Anda adalah masalah yang sangat umum dan dapat dengan mudah diperbaiki. Jadi, jangan khawatir sama sekali dan ikuti saja tutorial lengkap untuk menemukan perbaikan yang cepat dan mudah.

Kami akan mencoba memahami masalahnya terlebih dahulu dan kemudian memperbaikinya.

Wawasan sistemctl dan sistemd

Karena kesalahannya mengacu pada sistemctl perintah, akan lebih baik untuk mengetahui dasar-dasar perintah ini untuk memahami perbaikan kesalahan ini dengan lebih baik.

sistemctl adalah utilitas baris perintah yang ditawarkan Linux, yang digunakan untuk memantau dan mengontrol satu utilitas baris perintah lainnya bernama 'sistemd'. Itu juga memeriksa dan mengontrol manajer sistem bersama dengan 'sistemd' kegunaan.

Sintaks umum:

systemctl [opsi] [nama]

sistemd adalah kumpulan daemon, pustaka, dan utilitas yang mengontrol program yang berjalan saat sistem Anda boot. sistemd juga berhasil memulai pekerjaan penting seperti memulai jurnal aktivitas sistem.

Utilitas ini berfungsi sebagai utilitas manajemen pusat untuk sebagian besar jika tidak semua sistem operasi berbasis Linux.

Akar penyebab kesalahan

Penyebab paling mungkin untuk kesalahan ini mungkin karena Anda menggunakan versi lama dari distribusi Linux. Banyak versi lama menggunakan Inisiasi sistem bukannya sistemd kegunaan.

sistemd utilitas tidak ada di versi Linux sebelumnya karena merupakan tambahan terbaru ke keranjang utilitas yang disediakan oleh Linux. sistemctl kompatibel untuk berfungsi dan memantau dengan sistemd utilitas dan akan gagal bekerja dengan konfigurasi sebelumnya seperti SysVinit atau pemula.

Jika Anda tidak menggunakan sistemd, maka kesalahan ini diharapkan. Ini sesederhana dan sesederhana itu.

Anda mungkin mengalami kesalahan ini dengan cara berikut.

gaurav@ubuntu:~$ sudo systemctl start ufw [sudo] kata sandi untuk gaurav: sudo: systemctl: perintah tidak ditemukan gaurav@ubuntu:~$ 

Di sini, kami mencoba memulai Ubuntu Fire Wall (ufw) menggunakan sistemctl perintah dan menemukan kesalahan "systemctl: command not found".

Jadi, apa yang harus dilakukan sekarang jika Anda tidak ingin mengubah distribusi Linux Anda saat ini yang menggunakan beberapa utilitas manajemen pusat lain selain sistemd? Nah, kami memiliki perbaikan cepat untuk Anda yang akan memungkinkan Anda untuk menjaga distribusi Linux Anda saat ini serta memperbaiki kesalahan Anda dalam waktu singkat.

Mari kita amati perbaikannya sekarang.

Memperbaiki kesalahan "systemctl: command not found"

Akhirnya, sekarang mari kita lihat solusi dari masalah tersebut setelah menganalisis penyebab dan fakta dasar tentang masalah tersebut.

Perbaiki 1: Mengganti sistemctl dengan melayani memerintah

Perbaikan sederhana untuk kesalahan yang dimaksud adalah dengan menggunakan melayani perintah alih-alih penyebab kesalahan sistemctl memerintah.

melayani perintah membantu dalam menjalankan SistemV init skrip yang digunakan oleh distribusi Linux yang lebih lama. Jika Anda tidak ingin menginstal sistemd utilitas di sistem Anda, perbaikan ini pasti akan berhasil untuk Anda.

Anda dapat memulai, memulai ulang, atau menghentikan layanan dan daemon apa pun di distribusi Linux Anda menggunakan melayani memerintah.

Itu melayani perintah dan sistemctl perintah berfungsi dengan cara yang sama, satu-satunya perbedaan di sini adalah kompatibilitas perintah dengan utilitas yang bertanggung jawab atas kelancaran sistem Anda.

Mari kita lihat melayani perintah dengan ilustrasi.

Sintaks Umum:

layanan sudo [nama_layanan] [tindakan]

Dalam sintaks di atas, [tindakan] ruang dapat mencakup tindakan seperti Mulailah, berhenti, mengulang kembali atau status.

Kami akan menjalankan perintah yang sama untuk memulai ufw layanan menggunakan melayani memerintah.

layanan sudo ufw mulai

Keluaran:

gaurav@ubuntu:~$ sudo service ufw start gaurav@ubuntu:~$ sudo service status ufw ● ufw.service - Firewall tidak rumit Dimuat: dimuat (/lib/systemd/system/ufw.service; diaktifkan; preset vendor: enab Aktif: aktif (keluar) sejak Sen 28-09-2020 11:22:34 IST; 1 jam 5 menit yang lalu Dokumen: man:ufw(8) Proses: 333 ExecStart=/lib/ufw/ufw-init start silent (code=exited, status =0/SU PID Utama: 333 (kode=keluar, status=0/SUCCESS) 28 Sep 11:22:34 ubuntu systemd[1]: Dimulai Firewall tidak rumit. Peringatan: Jurnal telah diputar sejak unit dimulai. Keluaran log adalah tidak lengkap

Di sini, melayani perintah digunakan sebagai pengganti sistemctl perintah dan itu bekerja dengan baik.

Mari kita lihat satu contoh lagi dari melayani perintah untuk mendapatkan pemahaman yang tepat tentangnya.

layanan sudo apache2 mulai

Keluaran:

gaurav@ubuntu:~$ Sudo service status apache2 ● apache2.service - Server HTTP Apache Dimuat: dimuat (/lib/systemd/system/apache2.service; diaktifkan; preset vendor: Drop-In: /lib/systemd/system/ apache2.service.d apache2-systemd.conf Aktif: aktif (berjalan) sejak 28-09-2020 11:22:47 IST; 1 jam 16 menit yang lalu Proses: 1172 ExecStart=/usr/sbin/apachectl start (kode= keluar, status=0/SUCCE PID Utama: 1248 (apache2) Tugas: 55 (batas: 4456) CGroup: /system.slice/apache2.service 1248 /usr/sbin/apache2 -k start 1249 /usr/ sbin/apache2 -k start 1250 /usr/sbin/apache2 -k start 28 Sep 11:22:43 ubuntu systemd[1]: Memulai Apache HTTP Server... 28 Sep 11:22:47 ubuntu apachectl[1172 ]: AH00112: Peringatan: DocumentRoot [/var/www 28 Sep 11:22:47 ubuntu apachectl[1172]: AH00558: Apache2: Tidak dapat diandalkan det 28 Sep 11:22:47 ubuntu systemd[1]: Memulai HTTP Apache Server.gaurav@ubuntu:~$ 

Kami telah menggunakan melayani perintah untuk memulai utilitas Apache2. Menggunakan status pilihan dengan melayani perintah akan menampilkan status layanan saat ini. Kami akan mendapatkan detail apakah itu berjalan atau mati (tidak aktif).

Mari kita sekarang menggunakan berhenti tindakan untuk menghentikan layanan Apache2 menggunakan melayani memerintah.

gaurav@ubuntu:~$ sudo service apache2 stop gaurav@ubuntu:~$ sudo service apache2 status lines 1--1...skipping... ● apache2.service - Server HTTP Apache Dimuat: dimuat (/lib/systemd/ system/apache2.service; diaktifkan; preset vendor: diaktifkan) Drop-In: /lib/systemd/system/apache2.service.d apache2-systemd.conf Aktif: tidak aktif (mati) sejak Sen 2020-09-28 12 :42:06 WIB; 1 detik yang lalu Proses: 4928 ExecStop=/usr/sbin/apachectl stop (kode=keluar, status=0/SUCCESS) Proses: 1172 ExecStart=/usr/sbin/apachectl start (kode=keluar, status=0/SUCCESS) PID Utama : 1248 (kode=keluar, status=0/SUKSES) 28 Sep 11:22:43 ubuntu systemd[1]: Memulai Apache HTTP Server... 28 Sep 11:22:47 ubuntu apachectl[1172]: AH00112: Peringatan : DocumentRoot [/var/www/html] tidak ada 28 Sep 11:22:47 ubuntu apachectl[1172]: AH00558: apache2: Tidak dapat dengan andal menentukan nama domain yang sepenuhnya memenuhi syarat server, menggunakan ::1. Setel 'S 28 Sep 11:22:47 ubuntu systemd[1]: Memulai Server HTTP Apache.

Dari contoh rinci yang dijelaskan di atas, kita dapat menyimpulkan bahwa kita dapat menggunakan perintah ini sebagai pengganti sistemctl perintah untuk mengontrol dan memantau daemon dan layanan lain di bawah distribusi Linux.

Perbaiki 2: Memeriksa sistemd kemasan

Terkadang mungkin hanya sistemd instalasi paket dapat memperbaiki masalah. Pertama, Anda perlu memeriksa status instalasi dari sistemd paket di sistem Anda.

Gunakan perintah berikut untuk memeriksa paket di sistem Anda.

sudo dpkg -l | sistem grep

jika sistemd utilty sudah diinstal Anda akan mendapatkan output yang mirip seperti yang ditunjukkan di bawah ini.

gaurav@ubuntu:~$ sudo dpkg -l | grep systemd [sudo] kata sandi untuk gaurav: ii dbus-user-session 1.12.2-1ubuntu1.2 amd64 sistem pesan antarproses sederhana (systemd --integrasi pengguna) ii libnss-systemd:amd64 237-3ubuntu10.42 modul amd64 nss menyediakan dinamis resolusi nama pengguna dan grup ii libpam-systemd:amd64 237-3ubuntu10.42 sistem amd64 dan manajer layanan - modul PAM ii libsystemd0:amd64 237-3ubuntu10.42 perpustakaan utilitas systemd amd64 ii libsystemd0:i386 237-3ubuntu10.42 perpustakaan utilitas systemd i386 ii networkd-dispatcher 1.7-0ubuntu3.3 semua layanan Dispatcher untuk perubahan status koneksi systemd-networkd ri python3-systemd 234-1build1 amd64 Python 3 binding untuk systemd ii systemd 237-3ubuntu10.42 sistem amd64 dan manajer layanan ii systemd-sysv 237- 3ubuntu10.42 sistem amd64 dan manajer layanan - tautan SysV gaurav@ubuntu:~$ 

Jika Anda mendapatkan output yang mirip dengan ini, itu berarti sistemd diinstal pada sistem Anda.

Jika belum terinstal, Anda dapat menginstalnya dengan cara berikut.

sudo apt-get update
sudo apt-get install systemd

Jika sudah diinstal dan masih error, coba instal ulang menggunakan perintah berikut.

sudo apt-get install --reinstall systemd

Ini akan menyelesaikan masalah Anda dengan menginstal sistemd kegunaan.

Kesimpulan

Kami belajar untuk memperbaiki "systemctl: command not found" dalam tutorial ini. Kita dapat dengan aman menyimpulkan bahwa menggunakan melayani perintah alih-alih sistemctl adalah ide yang bagus dan menyelesaikan masalah dengan sangat baik. Kita dapat dengan mudah menggunakan melayani perintah setelah memahami contoh ilustrasi yang ditunjukkan dalam tutorial.