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