I denne tutorial vil jeg lede dig gennem, hvordan du kan se systemtilstanden ved hjælp af systemctl, og hvordan du løser det, hvis det viser sig forringet.
Hvorfor er systemctl-status, der viser systemtilstand, forringet?
Det systemctl har status mulighed for at kontrollere kørselsstatus for en tjeneste eller hele systemet, hvis der ikke er nævnt noget tjenestenavn.
En alternativ metode, der anvendes til at verificere systemets driftsstatus, er kendt som er-system-kører . Denne indstilling kontrollerer systemtilstanden og returnerer en streng baseret på udgangskoden. For eksempel, hvis systemet er fuldt operationelt, vil outputtet være løb med udgangskode 0 . Enhver udgangskode større end 0 indikerer, at systemet skal fejlfindes.
For at kontrollere systemets aktuelle tilstand skal du bruge systemctl status kommando.
systemctl status
Eller brug er systemkørende mulighed med systemctl.
systemctl er-system-kører
Ovenstående kommandoer indikerer, at systemtilstanden er forringet, hvilket betyder, at systemet er operationelt, men at en eller flere tjenester ikke kunne indlæses.
Andre almindelige tilstande, som ovenstående kommando kan vise, er angivet i tabellen nedenfor:
initialisering | Systemtilstand før opstart, når basic.target-kørselsniveauet er opnået, eller vedligeholdelsestilstanden er gået ind |
starter | Systemtilstand efter opstart, når rescue.target-kørselsniveauet er opnået, eller jobkøen bliver inaktiv |
stopper | Systemet er ved at lukke ned |
løb | Systemtilstand, hvor den er fuldt operationel |
forringet | Systemtilstand, hvor det er operationelt, men en eller flere tjenester kunne ikke indlæses |
vedligeholdelse | Rednings- eller nødmålet er aktiveret |
offline | Systemadministratoren kører ikke, fordi en inkompatibel servicemanager kører som PID 1 |
ukendt | Tilstanden kan ikke bestemmes på grund af ressourcebegrænsninger |
Hvordan rettes systemforringet tilstand?
Som tidligere nævnt indikerer den forringede tilstand, at en eller flere tjenester ikke har kunnet indlæses. Begynd fejlfindingsprocessen ved at identificere de mislykkede tjenester ved hjælp af systemctl.
systemctl liste-enheder --stat = mislykkedes
Det næste trin er at bruge nulstilling mislykkedes mulighed med systemctl kommando for at rette det.
systemctl-nulstilling mislykkedesDet nulstilling mislykkedes option nulstiller i det væsentlige de tjenester, der ikke kunne køre på grund af unormal drift. Denne kommando garanterer dog ikke, at alle de fejlbehæftede tjenester vil blive aktiveret. Tjenesten kan fejle på grund af forkert konfiguration af servicefilerne, som findes i /lib/system/system eller /etc/systemd/system mapper.
Læs logmeddelelserne for at lære mere om den mislykkede tjeneste. For at få adgang til logmeddelelsen for en tjeneste skal du bruge journalctl kommando, -i flag og tjenestenavn.
journalctl -i [ Tjenestenavn ]For at få en dybdegående forklaring af loggen, skal du bruge -x mulighed med -Det er . Det -x flag viser forklarende hjælpetekst, mens -Det er option viser den nyeste post først.
journalctl -i [ Tjenestenavn ] -bil
Konklusion
Den forringede er den systemtilstand, der angiver, at systemet kører, men en eller flere tjenester kunne ikke indlæses. Denne systemtilstand kan opnås ved hjælp af systemctl status eller systemctl er-system-kører kommandoer. Det systemctl-nulstilling mislykkedes kommando kan løse nogle problemer, herunder forringet fejl, men det garanterer ikke løsningen af problemet. Hvis den tidligere nævnte tilgang ikke løser problemet, skal du finde problemet ved at undersøge logfilerne ved hjælp af journalctl kommando.