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 SysV
init
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.