Linux har flere forskjellige kommandoer for å utføre forskjellige oppgaver. Noen ganger støter imidlertid brukere på feil mens de kjører kommandoer. En av de vanlige feilene er 'systemctl-kommandoen ikke funnet'. Denne feilen oppstår når systemet finner at systemctl-kommandoen mangler. Denne artikkelen dekker systemctl-kommandoen ikke funnet feilen i detalj.
Hva er systemctl-kommando
systemctl er et kommandolinjeverktøy i Linux som kontrollerer systemets tjenester. Det er et viktig verktøy som gjør det mulig for systemadministratorer å administrere systemets tjenester og ressurser. Systemctl-kommandoen lar brukere starte, avslutte, aktivere, deaktivere og starte tjenester på Linux-systemet på nytt.
Hva forårsaker feilen 'systemctl Command Not Found'.
Feilen 'systemctl Command Not Found' oppstår når systemet finner at systemctl mangler. Hovedårsaken til systemctl-feil er bruken av den gamle Linux-versjonen. Gamle Linux-versjoner har kun støtte for sysvinit i stedet for systemd-verktøy.
Siden systemd-verktøyet mangler i noen eldre versjoner av Linux. Systemctl er kompatibel med dette verktøyet. Men hvis du bruker systemctl med eldre Linux-konfigurasjoner som f.eks sysvinit eller Upstart feilkommandoen ikke funnet vil oppstå.
Her er en liste over mulige årsaker til at det oppstår:
- Systemctl-pakken er ikke installert
- PATH-miljøvariabelen er ikke satt riktig
- Systemctl-kommandoen er ikke kjørbar
- Systemet kjører ikke et systemd-basert init-system
Slik fikser du feilen 'systemctl Command Not Found'.
Hvis du bruker Linux-versjonen som ikke bruker systemd som et sentralt administrasjonsverktøy, så er her noen raske løsninger på denne feilen.
- Installer systemctl-pakken
- Sjekk PATH-miljøvariabelen
- Gjør systemctl-kommandoen kjørbar
- Sjekk init-systemet
- Erstatter systemctl med Service Command
1: Installer systemctl-pakken
Hvis systemctl-pakken ikke er installert på systemet, er det første trinnet å installere den. Du kan installere systemctl-pakken ved å bruke Linux-pakkebehandling.
Installering av systemd-pakken kan løse problemet, men det er ikke en garantert løsning. Det er nødvendig å først sjekke om systemd pakken er allerede installert på systemet ditt.
Kjør følgende kommando for å sjekke om systemctl pakker er installert eller ikke:
sudo dpkg -l | grep systemdHvis pakkene allerede er installert, vises følgende utdata som viser at systemd allerede er installert:
I tilfelle hvis pakkene ikke er installert, kan vi installere den ved å bruke trinnene nedenfor.
For eksempel å installere den på Ubuntu og Debian-baserte systemer , kjør gitte kommandoer for å installere systemctl-pakken.
Første oppdateringspakker:
sudo passende oppdatering
Kjør under kommandoen for å installere systemd:
sudo apt installere systemd
På Red Hat-baserte systemer bruk kommando:
sudo nam installer systemdHvis du fortsatt støter på en feil til tross for at du har installert systemd, kan det være lurt å vurdere å installere den på nytt med følgende kommando.
sudo apt installere --installer på nytt systemd
Ved å installere systemd-verktøyet bør dette løse problemet.
2: Sjekk PATH-miljøvariabelen
Hvis PATH-miljøvariabelen ikke er satt riktig, kan det hende at systemet ikke kan finne systemctl-kommandoen. Du kan sjekke PATH-miljøvariabelen ved å kjøre følgende kommando:
ekko $PATH
Utdataene skal inneholde banen til katalogen der systemctl-kommandoen er plassert. Hvis den ikke er til stede, kan du legge til katalogen til PATH-miljøvariabelen ved å bruke følgende kommando:
eksport STI = $PATH : / usr / bin / systemctl3: Gjør systemctl-kommandoen kjørbar
Hvis systemctl-kommandoen ikke er kjørbar, gjør den kjørbar med chmod. Bruk kommandoen nedenfor for å gjøre systemctl-kommandoen kjørbar:
sudo chmod +x / usr / bin / systemctl
4: Sjekk init-systemet
En av hovedgrunnene til det systemctl kommandoen ikke fungerer er hvis systemet ditt ikke kjører et systemd-basert init-system, kan du støte på ' systemctl-kommandoen ikke funnet ' feil. For å sjekke om systemet ditt kjører en systemd-basert init-system , kan du kjøre følgende kommando:
ps -s 1 -O komm =
Hvis utgangen er ' systemd ', kjører systemet ditt et systemd-basert init-system. Hvis utgangen ikke er 'systemd', må du kanskje bytte til et systemd-basert init-system for å bruke systemctl-kommandoen.
5: Erstatter systemctl med tjenesten Command
En enkel løsning for å fikse ' sudo: systemctl: kommandoen ble ikke funnet ' feilen er å bruke tjenestekommandoen i stedet for systemctl . Tjenestekommandoen kan brukes til å kjøre System V init-skript, som støttes av eldre versjoner av Linux.
I tilfelle du ikke vil installere systemd verktøyet, så er denne løsningen en enkel og effektiv løsning. Ved å bruke tjenestekommandoen kan du enkelt administrere systemtjenester uten å måtte bruke systemctl-kommandoen.
Merk at tjenestekommandoen kanskje ikke er tilgjengelig for alle tjenester, og noen tjenester kan kreve bruk av systemctl.
Følgende syntaks vil bli fulgt av tjenestekommando:
sudo service [ tjenestenavn ] [ handling ]Du kan også bruke andre kommandoer med tjenestekommandoen, for eksempel stopp, omstart, status og last inn på nytt, avhengig av hva du vil gjøre med tjenesten.
For å kjøre samme kommando med ufw-tjenesten, bruk for eksempel:
sudo service ufw start
For å identifisere og liste opp tjenestenavn for å administrere bruk:
systemctl liste-enheterDette vil vise en liste over alle tjenestene som kjører på systemet ditt:
Konklusjon
« systemctl-kommandoen ikke funnet ”-feil er en vanlig feil i Linux. Det kan være forårsaket av flere årsaker, inkludert systemctl pakken blir ikke installert, PATH-miljøvariabelen er ikke satt riktig, systemctl kommandoen er ikke kjørbar, og systemet kjører ikke et systemd-basert init-system. Bruken av tjenestekommando i stedet for systemctl kommando kan vi enkelt fikse denne feilen for eldre Linux-distros.