Ako opraviť chybu „Systemctl Command Not Found“ v systéme Linux

Rýchla oprava na vyriešenie problému pomocou príkazu „systemctl“ a zavedenie niektorých účinných alternatív k nemu

systemctl keďže ide o dôležitý nástroj v ekosystéme Linuxu, je veľmi bežné, že sa pri pokuse o spustenie príkazu môže vyskytnúť chyba „systemctl: command not found“ systemctl príkaz. Nemusí to platiť pre všetky distribúcie Linuxu, ale pravdepodobne sa s touto chybou môžete stretnúť, keď používate staršiu verziu distribúcie Linuxu, ktorá nepodporuje systemctl príkaz.

Problém, ktorý sa vám vyskytuje, je veľmi bežný problém a možno ho ľahko vyriešiť. Takže sa vôbec nebojte a prejdite si celý návod, aby ste našli rýchlu a jednoduchú opravu.

Najprv sa pokúsime problém pochopiť a potom ho vyriešiť.

Prehľady do systemctl a systemd

Keďže chyba je s odkazom na systemctl príkaz, bolo by dobré poznať základy tohto príkazu, aby ste lepšie porozumeli oprave tejto chyby.

systemctl je nástroj príkazového riadka, ktorý Linux ponúka a ktorý sa používa na monitorovanie a ovládanie jedného ďalšieho nástroja príkazového riadka s názvom „systemd‘. Tiež kontroluje a kontroluje správcu systému spolu s „systemd‘úžitok.

Všeobecná syntax:

systemctl [možnosť] [názov]

systemd je balík démonov, knižníc a pomôcok, ktoré riadia programy, ktoré sa spúšťajú pri spustení systému. systemd tiež dokáže spustiť dôležitú úlohu, ako je spustenie denníka systémovej aktivity.

Tento nástroj funguje ako nástroj centrálnej správy pre väčšinu operačných systémov založených na Linuxe, ak nie pre všetky.

Hlavná príčina chyby

Najpravdepodobnejšou príčinou tejto chyby môže byť, že používate staršiu verziu distribúcie Linuxu. Mnohé zo starších verzií používajú SysV init namiesto toho systemd užitočnosť.

systemd nástroj chýba v predchádzajúcich verziách Linuxu, pretože ide o nedávny prírastok do koša nástrojov poskytovaných systémom Linux. systemctl je kompatibilný s funkciou a monitorovaním s systemd nástroj a nebude fungovať s predchádzajúcimi konfiguráciami, ako je SysVinit alebo Začínajúci.

Ak nepoužívate systemd, potom sa táto chyba očakáva. Je to také jednoduché a priamočiare.

S touto chybou sa môžete stretnúť nasledujúcim spôsobom.

gaurav@ubuntu:~$ sudo systemctl start ufw [sudo] heslo pre gaurav: sudo: systemctl: príkaz nenájdený gaurav@ubuntu:~$ 

Tu sme sa pokúsili spustiť Ubuntu Fire Wall (ufw) pomocou systemctl a vyskytla sa chyba „systemctl: príkaz nenájdený“.

Čo teda robiť teraz, ak si neželáte zmeniť svoju súčasnú distribúciu Linuxu, ktorá používa inú centrálnu pomôcku na správu ako? systemd? Máme pre vás rýchlu opravu, ktorá by vám umožnila ponechať si aktuálnu distribúciu Linuxu a okamžite opraviť vašu chybu.

Pozrime sa teraz na opravu.

Oprava chyby „systemctl: príkaz nenájdený“.

Na záver sa teraz pozrime na riešenie daného problému po rozbore príčin a základných faktov o probléme.

Oprava 1: Výmena systemctl s služby príkaz

Jednoduchou opravou danej chyby je použitie služby príkaz namiesto toho, čo spôsobuje chybu systemctl príkaz.

služby príkaz pomáha pri spustení SystemV init skript, ktorý používajú staršie distribúcie Linuxu. Ak si neželáte nainštalovať systemd vo vašom systéme, táto oprava vám určite pomôže.

Môžete spustiť, reštartovať alebo zastaviť akékoľvek služby a démony vo vašej distribúcii Linuxu pomocou služby príkaz.

The služby príkaz a systemctl príkaz funguje rovnakým spôsobom, jediným rozdielom je tu kompatibilita príkazu s nástrojmi, ktoré sú zodpovedné za bezproblémový chod vášho systému.

Pozrime sa na služby príkaz s ilustráciou.

Všeobecná syntax:

sudo služba [názov_služby] [akcia]

Vo vyššie uvedenej syntaxi je [akcia] priestor môže zahŕňať akcie ako napr začať, zastaviť, reštart alebo postavenie.

Spustíme rovnaký príkaz na spustenie ufw službu pomocou služby príkaz.

sudo služba ufw štart

Výkon:

gaurav@ubuntu:~$ služba sudo ufw štart gaurav@ubuntu:~$ služba sudo stav ufw ● ufw.service - Nekomplikovaný firewall Načítaný: načítaný (/lib/systemd/system/ufw.service; povolené; prednastavené výrobcom: enab Aktívne: aktívne (ukončené) od po =0/SU Hlavné PID: 333 (kód=ukončené, stav=0/ÚSPECH) 28. september 11:22:34 ubuntu systemd[1]: Spustený Nekomplikovaný firewall. Varovanie: Denník bol otočený od spustenia jednotky. Výstup denníka je neúplné

Tu, služby namiesto príkazu systemctl príkaz a dopadlo to úplne dobre.

Pozrime sa ešte na jeden príklad služby príkaz, aby ste tomu správne porozumeli.

spustenie služby sudo apache2

Výkon:

gaurav@ubuntu:~$ služba sudo stav apache2 ● apache2.service - HTTP server Apache načítaný: načítaný (/lib/systemd/system/apache2.service; povolené; prednastavené výrobcom: Drop-In: /lib/systemd/system/ apache2.service.d └─apache2-systemd.conf Aktívny: aktívny (spustený) od po ukončené, stav=0/SUCCE Hlavné PID: 1248 (apache2) Úlohy: 55 (limit: 4456) CGroup: /system.slice/apache2.service ├─1248 /usr/sbin/apache2 -k štart ├─1249 /usr/ sbin/apache2 -k start └─1250 /usr/sbin/apache2 -k start 28. september 11:22:43 ubuntu systemd[1]: Spúšťa sa server Apache HTTP Server... 28. september 11:22:47 ubuntu apachectl[1172 ]: AH00112: Upozornenie: DocumentRoot [/var/www Sep 28 11:22:47 ubuntu apachectl[1172]: AH00558: apache2: Nepodarilo sa spoľahlivo zistiť 28. september 11:22:47 ubuntu systemd [1]: Spustený HTTP Server. gaurav@ubuntu:~$ 

Použili sme služby príkaz na spustenie pomôcky apache2. Pomocou postavenie možnosť s služby príkaz zobrazí aktuálny stav služby. Dozvieme sa podrobnosti o tom, či je spustený alebo mŕtvy (neaktívny).

Poďme teraz použiť zastaviť akcia na zastavenie služby apache2 pomocou služby príkaz.

gaurav@ubuntu:~$ služba sudo apache2 stop gaurav@ubuntu:~$ služba sudo apache2 stavové riadky 1--1...preskakovanie... ● apache2.service - HTTP server Apache načítaný: načítaný (/lib/systemd/ system/apache2.service; povolené; prednastavené dodávateľom: povolené) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Aktívne: neaktívne (mŕtve) od pondelka 28.09.2020 12 :42:06 IST; Pred 1 s Proces: 4928 ExecStop=/usr/sbin/apachectl stop (kód=ukončený, stav=0/ÚSPEŠNÝ) Proces: 1172 ExecStart=/usr/sbin/apachectl štart (kód=ukončený, stav=0/ÚSPEŠNÝ) Hlavné PID : 1248 (kód=ukončený, stav=0/ÚSPECH) 28. september 11:22:43 ubuntu systemd[1]: Spúšťa sa server Apache HTTP Server... 28. september 11:22:47 ubuntu apachectl[1172]: AH00112: Upozornenie : DocumentRoot [/var/www/html] neexistuje 28. septembra 11:22:47 ubuntu apachectl[1172]: AH00558: apache2: Nepodarilo sa spoľahlivo určiť úplný názov domény servera pomocou ::1. Nastavte 'S Sep 28 11:22:47 ubuntu systemd[1]: Spustený server Apache HTTP Server.

Z podrobných príkladov vysvetlených vyššie môžeme konštatovať, že tento príkaz môžeme použiť namiesto príkazu systemctl príkaz na ovládanie a monitorovanie iných démonov a služieb v rámci distribúcie Linuxu.

Oprava 2: Kontrola systemd balík

Niekedy sa môže stať, že iba ten systemd Inštalácia balíka môže problém vyriešiť. Najprv musíte skontrolovať stav inštalácie systemd balík vo vašom systéme.

Na kontrolu balíka vo vašom systéme použite nasledujúci príkaz.

sudo dpkg -l | grep systemd

Ak systemd utilty je už nainštalovaný, dostanete výstup podobný tomu, ktorý je uvedený nižšie.

gaurav@ubuntu:~$ sudo dpkg -l | grep systemd [sudo] heslo pre gaurav: ii dbus-user-session 1.12.2-1ubuntu1.2 amd64 jednoduchý medziprocesový systém zasielania správ (systemd --používateľská integrácia) ii libnss-systemd:amd64 237-3ubuntu10.42 modul amd64 poskytujúci dynamickú nss rozlíšenie názvov používateľov a skupín ii libpam-systemd:amd64 237-3ubuntu10.42 správca systému a služieb amd64 - modul PAM ii libsystemd0:amd64 237-3ubuntu10.42 amd64 systemd knižnica nástrojov ii libsystemd0:i386 systemd utility2 knižnica i386 systemuntu 237 ii networkd-dispatcher 1.7-0ubuntu3.3 všetko Dispečerská služba pre zmeny stavu pripojenia systemd-networkd ri python3-systemd 234-1build1 amd64 Väzby Python 3 pre systemd ii systemd 237-3ubuntu10.42 amd64 systemd37 systém a správca služieb amd64 3ubuntu10.42 správca systému a služieb amd64 - odkazy SysV gaurav@ubuntu:~$ 

Ak dostanete výstup podobný tomuto, znamená to systemd je nainštalovaný vo vašom systéme.

Ak nie je nainštalovaný, môžete ho nainštalovať nasledujúcim spôsobom.

aktualizácia sudo apt-get
sudo apt-get install systemd

Ak je nainštalovaný a chyba stále pretrváva, skúste ho znova nainštalovať pomocou nasledujúceho príkazu.

sudo apt-get install --reinstall systemd

Toto vyrieši váš problém inštaláciou systemd užitočnosť.

Záver

V tomto návode sme sa naučili opraviť „systemctl: príkaz nenájdený“. Môžeme s istotou konštatovať, že pomocou služby príkaz namiesto príkazu systemctl je to dobrý nápad a veľmi dobre rieši problém. Môžeme ľahko použiť služby príkaz po pochopení názorných príkladov zobrazených v návode.