Hvordan fikse systemctl Command Not Found-feil i Linux

Hvordan Fikse Systemctl Command Not Found Feil I Linux



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.

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 systemd

Hvis 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

Red Hat-baserte systemer bruk kommando:

sudo nam installer systemd

Hvis 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 / systemctl

3: 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-enheter

Dette 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.