Sådan rettes systemctl Command Not Found-fejl i Linux

Sadan Rettes Systemctl Command Not Found Fejl I Linux



Linux har flere forskellige kommandoer til at udføre forskellige opgaver. Nogle gange støder brugere dog på fejl, mens de kører kommandoer. En af de almindelige fejl er 'systemctl command not found'. Denne fejl opstår, når systemet finder, at systemctl-kommandoen mangler. Denne artikel dækker systemctl-kommandoen ikke fundet fejl i detaljer.

Hvad er systemctl-kommando

systemctl er et kommandolinjeværktøj i Linux, der styrer systemets tjenester. Det er et vigtigt værktøj, der gør det muligt for systemadministratorer at administrere systemets tjenester og ressourcer. Systemctl-kommandoen giver brugerne mulighed for at starte, afslutte, aktivere, deaktivere og genstarte tjenester på Linux-systemet.







Hvad forårsager fejlen 'systemctl Command Not Found'.

Fejlen 'systemctl Command Not Found' opstår, når systemet finder, at systemctl mangler. Hovedårsagen til systemctl-fejl er brugen af ​​den gamle Linux-version. Gamle Linux-versioner understøtter kun sysvinit i stedet for systemd-værktøj.



Da systemd utility mangler i nogle ældre versioner af Linux. Systemctl er kompatibel med dette værktøj. Men hvis du bruger systemctl med ældre Linux-konfigurationer som f.eks sysvinit eller Upstart fejlkommandoen ikke fundet vil forekomme.



Her er en liste over mulige årsager til, at det opstår:





  • Systemctl-pakken er ikke installeret
  • PATH-miljøvariablen er ikke indstillet korrekt
  • Systemctl-kommandoen er ikke eksekverbar
  • Systemet kører ikke et systemd-baseret init-system

Sådan rettes fejlen 'systemctl Command Not Found'.

Hvis du bruger Linux-versionen, som ikke bruger systemd som et centralt administrationsværktøj, så er her nogle hurtige rettelser til denne fejl.

1: Installer systemctl-pakken

Hvis systemctl-pakken ikke er installeret på systemet, er det første trin at installere den. Du kan installere systemctl-pakken ved hjælp af Linux-pakkehåndtering.



Installation af systemd-pakken kan løse problemet, men det er ikke en garanteret løsning. Det er nødvendigt først at kontrollere, om systemd pakken er allerede installeret på dit system.

Kør følgende kommando for at kontrollere, om systemctl pakker er installeret eller ej:

sudo dpkg -l | greb systemd

Hvis pakkerne allerede er installeret, vises følgende output, der viser, at systemd allerede er installeret:

Hvis pakkerne ikke er installeret, kan vi installere dem ved at bruge nedenstående trin.

For eksempel at installere det på Ubuntu og Debian-baserede systemer , kør givne kommandoer for at installere systemctl-pakken.

Første opdateringspakker:

sudo passende opdatering

Kør nedenstående kommando for at installere systemd:

sudo passende installere systemd

Red Hat-baserede systemer brug kommando:

sudo yum installer systemd

Hvis du stadig støder på en fejl på trods af at du har installeret systemd, kan du overveje at geninstallere det ved hjælp af følgende kommando.

sudo passende installere --geninstaller systemd

Ved at installere systemd-værktøjet burde dette løse problemet.

2: Tjek PATH-miljøvariablen

Hvis PATH-miljøvariablen ikke er indstillet korrekt, kan systemet muligvis ikke finde systemctl-kommandoen. Du kan kontrollere PATH-miljøvariablen ved at køre følgende kommando:

ekko $PATH

Outputtet skal indeholde stien til den mappe, hvor systemctl-kommandoen er placeret. Hvis den ikke er til stede, kan du tilføje mappen til PATH miljøvariablen ved hjælp af følgende kommando:

eksport STI = $PATH : / usr / beholder / systemctl

3: Gør systemctl-kommandoen eksekverbar

Hvis systemctl-kommandoen ikke er eksekverbar, skal du gøre den eksekverbar ved hjælp af chmod. Brug nedenstående kommando for at gøre systemctl-kommandoen eksekverbar:

sudo chmod +x / usr / beholder / systemctl

4: Tjek init-systemet

En af hovedårsagerne til hvorfor systemctl kommandoen ikke virker, er hvis dit system ikke kører et systemd-baseret init-system, kan du støde på ' systemctl-kommandoen blev ikke fundet ' fejl. For at kontrollere, om dit system kører en systemd-baseret init-system , kan du køre følgende kommando:

ps -s 1 -O komm =

Hvis udgangen er ' systemd ', dit system kører et systemd-baseret init-system. Hvis outputtet ikke er 'systemd', skal du muligvis skifte til et systemd-baseret init-system for at bruge systemctl-kommandoen.

5: Udskiftning af systemctl med tjenesten Command

En nem løsning til at rette op på ' sudo: systemctl: kommando blev ikke fundet ” fejlen er at bruge servicekommandoen i stedet for systemctl . Servicekommandoen kan bruges til at køre System V init script, som understøttes af ældre versioner af Linux.

Hvis du ikke ønsker at installere systemd værktøj, så er denne rettelse en enkel og effektiv løsning. Ved at bruge servicekommandoen kan du nemt administrere systemtjenester uden at skulle bruge systemctl-kommandoen.

Bemærk, at servicekommandoen muligvis ikke er tilgængelig for alle tjenester, og nogle tjenester kan kræve brug af systemctl.

Følgende syntaks vil blive efterfulgt af servicekommando:

sudo service [ tjeneste_navn ] [ handling ]

Du kan også bruge andre kommandoer med tjenestekommandoen, såsom stop, genstart, status og genindlæs, afhængigt af hvad du vil gøre med tjenesten.

For at køre den samme kommando med ufw-tjenesten skal du f.eks. bruge:

sudo service ufw start

Sådan identificeres og listes tjenestenavne for at administrere brug:

systemctl liste-enheder

Dette vil vise en liste over alle de aktuelt kørende tjenester på dit system:

Konklusion

Det ' systemctl-kommandoen blev ikke fundet ” fejl er en almindelig fejl i Linux. Det kan være forårsaget af flere årsager, herunder systemctl pakken ikke installeres, PATH-miljøvariablen er ikke indstillet korrekt, systemctl kommandoen ikke er eksekverbar, og systemet kører ikke et systemd-baseret init-system. Brugen af ​​servicekommando i stedet for systemctl kommando kan vi nemt rette denne fejl for ældre Linux-distros.