Kuidas parandada Linuxis viga "Systemctl käsku ei leitud".

Kiire lahendus probleemi lahendamiseks käsuga „systemctl” ja sellele mõne tõhusa alternatiivi kasutuselevõtuga

systemctl Kuna see on Linuxi ökosüsteemis oluline utiliit, võib väga sageli ilmneda tõrketeade "systemctl: käsku ei leitud", kui proovite käivitada systemctl käsk. See ei pruugi kehtida kõigi Linuxi distributsioonide puhul, kuid tõenäoliselt võib see viga ilmneda, kui kasutate Linuxi distributsiooni vanemat versiooni, mis ei toeta systemctl käsk.

Teile ilmnev probleem on väga levinud probleem ja seda saab hõlpsasti parandada. Seega ärge üldse muretsege ja lihtsalt lugege läbi täielik õpetus, et leida kiire ja lihtne lahendus.

Püüame kõigepealt probleemist aru saada ja seejärel selle parandada.

Ülevaateid systemctl ja süsteemne

Kuna viga on viitega systemctl käsku, oleks hea teada selle käsu põhitõdesid, et selle vea parandamisest paremini aru saada.

systemctl on Linuxi pakutav käsurea utiliit, mida kasutatakse ühe teise käsurea utiliidi jälgimiseks ja juhtimiseks.süsteemne‘. Samuti kontrollib ja kontrollib see süsteemihaldurit koossüsteemne‘kasulikkus.

Üldine süntaks:

systemctl [valik] [nimi]

süsteemne on deemonite, teekide ja utiliitide kogum, mis juhib teie süsteemi käivitumisel töötavaid programme. süsteemne suudab algatada ka olulise töö, näiteks käivitada süsteemi tegevuste päeviku.

See utiliit toimib enamiku, kui mitte kõigi Linuxi-põhiste operatsioonisüsteemide keskse haldusutiliidina.

Vea algpõhjus

Selle vea kõige tõenäolisem põhjus võib olla see, et kasutate Linuxi distributsiooni vanemat versiooni. Paljud vanemad versioonid kasutavad SysV init asemel süsteemne kasulikkust.

süsteemne utiliit eelmistes Linuxi versioonides puudub, kuna see on hiljutine täiendus Linuxi pakutavate utiliitide ostukorvi. systemctl ühildub funktsiooni ja monitoriga süsteemne utiliit ja ei tööta eelmiste konfiguratsioonidega nagu SysVselles või Tõusnud.

Kui te ei kasuta süsteemne, siis on see viga eeldatav. See on sama lihtne ja arusaadav.

Selle veaga võib kokku puutuda järgmisel viisil.

gaurav@ubuntu:~$ sudo systemctl start ufw [sudo] parool gaurav: sudo: systemctl: käsku ei leitud gaurav@ubuntu:~$ 

Siin proovisime käivitada Ubuntu tulemüüri (ufw) kasutades systemctl käsk ja ilmnes tõrge "systemctl: käsku ei leitud".

Niisiis, mida teha nüüd, kui te ei soovi muuta oma praegust Linuxi distributsiooni, mis kasutab mõnda muud keskhaldusutiliiti peale süsteemne? Meil on teie jaoks kiire lahendus, mis võimaldab teil säilitada oma praeguse Linuxi distributsiooni ja parandada oma vea kiiresti.

Jälgime nüüd parandamist.

Vea "systemctl: käsku ei leitud" parandamine

Lõpetuseks vaatleme nüüd pärast probleemi põhjuste ja põhiliste faktide analüüsimist kõnealuse probleemi lahendust.

Parandus 1: asendamine systemctl koos teenust käsk

Kõnealuse vea lihtne lahendus on kasutada teenust tõrke põhjustava käsu asemel systemctl käsk.

teenust käsk aitab käivitada SystemV init skript, mida kasutavad vanemad Linuxi distributsioonid. Kui te ei soovi installida süsteemne teie süsteemi utiliit, töötab see parandus kindlasti teie jaoks.

Saate käivitada, taaskäivitada või peatada mis tahes teenuseid ja deemoneid oma Linuxi distributsioonis kasutades teenust käsk.

The teenust käsk ja systemctl käsufunktsiooni samal viisil, ainsaks erinevuseks on siin käsu ühilduvus utiliitidega, mis vastutavad teie süsteemi elegantse töötamise eest.

Vaatame, teenust käsk koos illustratsiooniga.

Üldine süntaks:

sudo teenus [teenuse_nimi] [tegevus]

Ülaltoodud süntaksis on [tegevus] ruum võib sisaldada selliseid toiminguid nagu alustada, peatus, Taaskäivita või olek.

Käivitame sama käsu käivitamiseks ufw teenust kasutades teenust käsk.

sudo teenus ufw start

Väljund:

gaurav@ubuntu:~$ sudo teenus ufw start gaurav@ubuntu:~$ sudo teenus ufw olek ● ufw.service – tüsistusteta tulemüür Laaditud: laaditud (/lib/systemd/system/ufw.service; lubatud; tarnija eelseade: enab Aktiivne: aktiivne (väljunud) alates esmaspäevast 2020-09-28 11:22:34 IST; 1 h 5 min tagasi Dokumendid: man:ufw(8) Protsess: 333 ExecStart=/lib/ufw/ufw-init vaikne algus (kood=väljunud, olek =0/SU Põhi-PID: 333 (kood=väljunud, olek=0/EDUKS) Sep 28 11:22:34 ubuntu systemd[1]: Käivitatud Tüsistusteta tulemüür Hoiatus: Päevikut on alates üksuse käivitamisest pööratud. Logi väljund on mittetäielik

Siin, teenust asemel kasutatakse käsku systemctl käsk ja see toimis täiesti hästi.

Vaatame veel ühte näidet teenust käsk, et sellest õigesti aru saada.

sudo teenuse apache2 algus

Väljund:

gaurav@ubuntu:~$ sudo teenuse apache2 olek ● apache2.service – Apache HTTP-server Laaditud: laaditud (/lib/systemd/system/apache2.service; lubatud; tarnija eelseade: Drop-In: /lib/systemd/system/ apache2.service.d └─apache2-systemd.conf Aktiivne: aktiivne (töötab) alates esmaspäevast 2020-09-28 11:22:47 IST; 1 h 16 min tagasi Protsess: 1172 ExecStart=/usr/sbin/apachectl algus (kood= exited, status=0/SUCCE Põhi-PID: 1248 (apache2) Ülesanded: 55 (piirang: 4456) CGroup: /system.slice/apache2.service ├─1248 /usr/sbin/apache2 -k start ├─r1249 sbin/apache2 -k start └─1250 /usr/sbin/apache2 -k start 28. september 11:22:43 ubuntu systemd[1]: Apache HTTP-serveri käivitamine... 28. september 11:22:47 ubuntu apachectl[1172 ]: AH00112: Hoiatus: DocumentRoot [/var/www 28. september 11:22:47 ubuntu apachectl[1172]: AH00558: apache2: ei õnnestunud usaldusväärselt tuvastada 28. september 11:22:47 ubuntu süsteemid: Apache Server. gaurav@ubuntu:~$ 

Oleme kasutanud teenust käsk apache2 utiliidi käivitamiseks. Kasutades olek valik koos teenust käsk kuvab teenuse hetkeoleku. Saame üksikasjad, kas see töötab või on surnud (mitteaktiivne).

Kasutame nüüd peatus toiming apache2 teenuse peatamiseks, kasutades teenust käsk.

gaurav@ubuntu:~$ sudo teenus apache2 peatage gaurav@ubuntu:~$ sudo teenuse apache2 olekuread 1--1...vahele jätmine... ● apache2.service – Apache HTTP-server laaditud: laaditud (/lib/systemd/ system/apache2.service; lubatud; hankija eelseadistus: lubatud) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Aktiivne: passiivne (surnud) alates esmaspäevast 2020-09-28 12 :42:06 IST; 1 s tagasi Protsess: 4928 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS) Protsess: 1172 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Peamine PID : 1248 (kood=exited, status=0/EDUKS) 28. september 11:22:43 ubuntu systemd[1]: Apache HTTP-serveri käivitamine... 28. september 11:22:47 ubuntu apachectl[1172]: AH00112: Hoiatus : DocumentRoot [/var/www/html] ei eksisteeri 28. september 11:22:47 ubuntu apachectl[1172]: AH00558: apache2: serveri täielikult kvalifitseeritud domeeninime ei õnnestunud usaldusväärselt määrata, kasutades ::1. Määrake 'S Sep 28 11:22:47 ubuntu systemd[1]: Käivitas Apache HTTP-serveri.

Ülaltoodud üksikasjalikest näidetest võime järeldada, et saame kasutada seda käsku käsu asemel systemctl käsk teiste deemonite ja teenuste juhtimiseks ja jälgimiseks Linuxi distributsioonis.

Parandus 2: kontrollimine süsteemne pakett

Mõnikord võib juhtuda, et ainult süsteemne paketi installimine võib probleemi lahendada. Esiteks peate kontrollima seadme installiolekut süsteemne pakett teie süsteemis.

Kasutage oma süsteemis oleva paketi kontrollimiseks järgmist käsku.

sudo dpkg -l | grep systemd

Kui süsteemne utiliit on juba installitud, saate allpool näidatud väljundi.

gaurav@ubuntu:~$ sudo dpkg -l | grep systemd [sudo] parool gauravi jaoks: ii dbus-user-session 1.12.2-1ubuntu1.2 amd64 lihtne protsessidevaheline sõnumsidesüsteem (systemd --user integration) ii libnss-systemd:amd64 237-3ubuntu10.42nsd6 moodul, dünaamiline moodul kasutaja ja grupi nimede lahendamine ii libpam-systemd:amd64 237-3ubuntu10.42 amd64 süsteemi- ja teenusehaldur – PAM-moodul ii libsystemd0:amd64 237-3ubuntu10.42 amd64 systemd utiliidi teek ii libuntu10.46 utiliiditeek 2tubisüsteem2.i386. ii networkd-dispatcher 1.7-0ubuntu3.3 kõik Dispetšeri teenus systemd-networkd ühenduse oleku muutmiseks ri python3-systemd 234-1build1 amd64 Python 3 sidumised systemd ii systemd 237-3ubuntu10.42 amd64 süsteemi ja teenusehalduri 2d 3-sysii jaoks 3ubuntu10.42 amd64 süsteemi- ja teenusehaldur – SysV lingid gaurav@ubuntu:~$ 

Kui saate sellele sarnase väljundi, tähendab see seda süsteemne on teie süsteemi installitud.

Kui see pole installitud, saate selle installida järgmisel viisil.

sudo apt-get värskendus
sudo apt-get install systemd

Kui see on installitud ja viga ei kao, proovige see järgmise käsu abil uuesti installida.

sudo apt-get install --reinstall systemd

See lahendab teie probleemi, installides süsteemne kasulikkust.

Järeldus

Õppisime selles õpetuses parandama käsku "systemctl: käsku ei leitud". Võime julgelt järeldada, et kasutades teenust käsu asemel systemctl on hea idee ja lahendab probleemi väga hästi. Saame hõlpsasti kasutada teenust käsk pärast õpetuses näidatud illustreerivate näidete mõistmist.