A "Systemctl parancs nem található" hiba javítása Linux rendszeren

Gyors javítás a probléma megoldására a „systemctl” paranccsal, és néhány hatékony alternatíva bevezetésével

systemctl Mivel fontos segédprogram a Linux ökoszisztémában, nagyon gyakori, hogy „systemctl: parancs nem található” hibával találkozhat, amikor megpróbálja futtatni a systemctl parancs. Lehetséges, hogy ez nem minden Linux disztribúcióra vonatkozik, de valószínűleg akkor találkozhat ezzel a hibával, ha a Linux disztribúció egy régebbi verzióját használja, amely nem támogatja a systemctl parancs.

Az Önnél felmerülő probléma nagyon gyakori, és könnyen javítható. Tehát ne aggódjon, és egyszerűen menjen végig a teljes oktatóanyagon, hogy megtalálja a gyors és egyszerű megoldást.

Először megpróbáljuk megérteni a problémát, majd megjavítani.

Betekintés systemctl és systemd

Mivel a hiba hivatkozva a systemctl parancsot, jó lenne ismerni ennek a parancsnak az alapjait, hogy jobban megértsük a hiba javítását.

systemctl a Linux által kínált parancssori segédprogram, amely egy másik parancssori segédprogram figyelésére és vezérlésére szolgál, "systemd‘. Ellenőrzi és ellenőrzi a rendszerkezelőt is a „systemd' hasznosság.

Általános szintaxis:

systemctl [opció] [név]

systemd démonok, könyvtárak és segédprogramok csomagja, amely a rendszer indításakor futó programokat vezérli. systemd egy fontos feladatot is képes kezdeményezni, mint például a rendszertevékenységek naplójának elindítása.

Ez a segédprogram központi felügyeleti segédprogramként működik a legtöbb, ha nem az összes Linux-alapú operációs rendszerben.

A hiba kiváltó oka

A hiba legvalószínűbb oka az lehet, hogy a Linux disztribúció egy régebbi verzióját használja. Sok régebbi verzió használja a SysV init helyett a systemd hasznosság.

systemd segédprogram hiányzik a korábbi Linux-verziókban, mivel ez a Linux által biztosított segédprogramok kosarának nemrégiben való kiegészítése. systemctl kompatibilis a funkcióval és a monitorral systemd segédprogramot, és nem fog működni a korábbi konfigurációkkal, mint pl SysVbenne vagy Feltörekvő.

Ha nem használod systemd, akkor ez a hiba várható. Ez olyan egyszerű és egyértelmű.

Ezt a hibát a következő módon találhatja meg.

gaurav@ubuntu:~$ sudo systemctl start ufw [sudo] jelszó gauravhoz: sudo: systemctl: parancs nem található gaurav@ubuntu:~$ 

Itt megpróbáltuk elindítani az Ubuntu tűzfalat (ufw) használni a systemctl parancsot, és a „systemctl: parancs nem található” hibába ütközött.

Tehát mi a teendő, ha nem szeretné megváltoztatni a jelenlegi Linux disztribúcióját, amely más központi felügyeleti segédprogramot használ, mint systemd? Nos, van egy gyors javításunk, amely lehetővé teszi, hogy megtartsa jelenlegi Linux disztribúcióját, és azonnal kijavítsa a hibát.

Most figyeljük meg a javítást.

A „systemctl: parancs nem található” hiba javítása

Végül nézzük meg a szóban forgó probléma megoldását, miután megvizsgáltuk az okokat és a probléma alapvető tényeit.

1. javítás: Csere systemctl val vel szolgáltatás parancs

A kérdéses hiba egyszerű javítása a szolgáltatás parancs helyett a hibát okozó systemctl parancs.

szolgáltatás parancs segít a futtatásban SystemV init szkript, amelyet a régebbi Linux disztribúciók használnak. Ha nem kívánja telepíteni a systemd segédprogramot a rendszeren, ez a javítás biztosan működni fog az Ön számára.

A Linux disztribúció bármely szolgáltatását és démonját elindíthatja, újraindíthatja vagy leállíthatja a szolgáltatás parancs.

A szolgáltatás parancs és a systemctl parancs funkciót ugyanúgy, az egyetlen különbség itt a parancs kompatibilitása a rendszer kecses működéséért felelős segédprogramokkal.

Lássuk a szolgáltatás parancsot egy illusztrációval.

Általános szintaxis:

sudo szolgáltatás [szolgáltatás_neve] [művelet]

A fenti szintaxisban a [akció] a tér olyan műveleteket tartalmazhat, mint pl Rajt, álljon meg, újrakezd vagy állapot.

Ugyanezt a parancsot futtatjuk a program elindításához ufw szolgáltatás segítségével szolgáltatás parancs.

sudo szolgáltatás ufw start

Kimenet:

gaurav@ubuntu:~$ sudo service ufw start gaurav@ubuntu:~$ sudo service ufw status ● ufw.service - Egyszerű tűzfal Betöltve: betöltve (/lib/systemd/system/ufw.service; engedélyezve; gyártó előre beállított: enab Aktív: aktív (kilépve) H 2020-09-28 11:22:34 IST óta; 1 óra 5 perce Dokumentumok: man:ufw(8) Folyamat: 333 ExecStart=/lib/ufw/ufw-init csendes indítás (code=exited, állapot =0/SU Fő PID: 333 (kód=kilépve, állapot=0/SIKER) Sep 28 11:22:34 ubuntu systemd[1]: Elindítva Egyszerű tűzfal Figyelmeztetés: A naplót elforgatták az egység elindítása óta. A naplókimenet hiányos

Itt, a szolgáltatás parancs helyett a systemctl parancsot, és teljesen jól sikerült.

Lássunk még egy példát a szolgáltatás parancsot annak megfelelő megértéséhez.

sudo service apache2 start

Kimenet:

gaurav@ubuntu:~$ sudo szolgáltatás apache2 állapota ● apache2.service - Az Apache HTTP-kiszolgáló betöltve: betöltve (/lib/systemd/system/apache2.service; engedélyezve; gyártó előre beállított: Drop-In: /lib/systemd/system/ apache2.service.d └─apache2-systemd.conf Aktív: aktív (fut) hétfőtől 2020-09-28 11:22:47 IST; 1 óra 16 perce Folyamat: 1172 ExecStart=/usr/sbin/apachectl start (code= kilépve, status=0/SUCCE Fő PID: 1248 (apache2) Feladatok: 55 (korlát: 4456) CGroup: /system.slice/apache2.service ├─1248 /usr/sbin/apache2 -k start ├─r1249 sbin/apache2 -k start └─1250 /usr/sbin/apache2 -k start szeptember 28. 11:22:43 ubuntu systemd[1]: Az Apache HTTP szerver indítása... szeptember 28. 11:22:47 ubuntu apachectl[1172 ]: AH00112: Figyelmeztetés: DocumentRoot [/var/www Sep 28, 11:22:47 ubuntu apachectl[1172]: AH00558: apache2: Nem sikerült megbízhatóan meghatározni Sep 28 11:22:47 ubuntu systemd [Apache]: Indult az Apache Szerver. gaurav@ubuntu:~$ 

Használtuk a szolgáltatás parancsot az apache2 segédprogram elindításához. Használni a állapot opcióval a szolgáltatás parancs megjeleníti a szolgáltatás aktuális állapotát. A részleteket megtudjuk, hogy fut vagy halott (inaktív).

Használjuk most a álljon meg művelet az apache2 szolgáltatás leállításához a szolgáltatás parancs.

gaurav@ubuntu:~$ sudo service apache2 stop gaurav@ubuntu:~$ sudo service apache2 állapotsorok 1--1...kihagyás... ● apache2.service - Az Apache HTTP kiszolgáló betöltve: betöltve (/lib/systemd/ system/apache2.service; engedélyezve; gyártó előre beállított: engedélyezve :42:06 IST; 1 másodperccel ezelőtt Folyamat: 4928 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS) Folyamat: 1172 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Fő PID : 1248 (code=exited, status=0/SIKER) Sep 28 11:22:43 ubuntu systemd[1]: Az Apache HTTP Server indítása... Sep 28 11:22:47 ubuntu apachectl[1172]: AH00112: Figyelmeztetés : A DocumentRoot [/var/www/html] nem létezik szeptember 28. 11:22:47 ubuntu apachectl[1172]: AH00558: apache2: Nem sikerült megbízhatóan meghatározni a szerver teljesen minősített tartománynevét a ::1 használatával. Állítsa be a 'S Sep 28 11:22:47 ubuntu systemd[1]: Elindította az Apache HTTP-kiszolgálót.

A fent kifejtett részletes példákból arra a következtetésre juthatunk, hogy használhatjuk ezt a parancsot a helyett systemctl parancs más démonok és szolgáltatások vezérlésére és figyelésére a Linux disztribúció alatt.

2. javítás: A következő keresése: systemd csomag

Néha előfordulhat, hogy csak a systemd csomag telepítése megoldhatja a problémát. Először is ellenőriznie kell a telepítési állapotát systemd csomagot a rendszeren.

A következő paranccsal ellenőrizze a csomagot a rendszeren.

sudo dpkg -l | grep systemd

Ha a systemd segédprogram már telepítve van, akkor az alábbihoz hasonló kimenetet kap.

gaurav@ubuntu:~$ sudo dpkg -l | grep systemd [sudo] jelszó a gauravhoz: ii dbus-user-session 1.12.2-1ubuntu1.2 amd64 egyszerű folyamatközi üzenetküldő rendszer (systemd --user integráció) ii libnss-systemd:amd64 237-3ubuntu10.42nsd64 dynamic module felhasználó- és csoportnév-feloldás ii libpam-systemd:amd64 237-3ubuntu10.42 amd64 rendszer- és szolgáltatáskezelő - PAM-modul ii libsystemd0:amd64 237-3ubuntu10.42 amd64 systemd segédprogramkönyvtár ii libpam-systemd:amd64 libuntu10.46 libsystemd0:i37-8ubitár ii networkd-dispatcher 1.7-0ubuntu3.3 all Dispatcher szolgáltatás a systemd-networkd kapcsolat állapotának változásaihoz ri python3-systemd 234-1build1 amd64 Python 3 kötések systemd ii systemd 237-3ubuntu10.42 amd64 rendszerhez és 2d37-sd64 rendszerhez 3ubuntu10.42 amd64 rendszer- és szolgáltatáskezelő - SysV linkek gaurav@ubuntu:~$ 

Ha ehhez hasonló kimenetet kap, az azt jelenti systemd telepítve van a rendszerére.

Ha nincs telepítve, a következő módon telepítheti.

sudo apt-get frissítés
sudo apt-get install systemd

Ha telepítve van, és a hiba továbbra is fennáll, próbálja meg újratelepíteni a következő paranccsal.

sudo apt-get install --reinstall systemd

Ez megoldja a problémát, ha telepíti a systemd hasznosság.

Következtetés

Ebben az oktatóanyagban megtanultuk a „systemctl: parancs nem található” javítását. Nyugodtan megállapíthatjuk, hogy a szolgáltatás parancs helyett a systemctl jó ötlet, és nagyon jól megoldja a problémát. Könnyen használhatjuk a szolgáltatás parancsot, miután megértette az oktatóanyagban látható szemléltető példákat.