I denne opplæringen vil jeg lede deg gjennom hvordan du viser systemtilstanden ved hjelp av systemctl og hvordan du fikser den hvis den viser seg degradert.
Hvorfor er systemctl-status som viser systemtilstand degradert?
De systemctl har status alternativet for å sjekke kjøretidsstatusen til en tjeneste eller hele systemet hvis ingen tjenestenavn er nevnt.
En alternativ metode som brukes for å verifisere driftsstatusen til systemet er kjent som er-system-kjører . Dette alternativet sjekker systemtilstanden og returnerer en streng basert på utgangskoden. For eksempel, hvis systemet er fullt operativt, vil utgangen være løping med utgangskode 0 . Enhver utgangskode større enn 0 indikerer at systemet trenger feilsøking.
For å sjekke systemets nåværende tilstand, bruk systemctl-status kommando.
systemctl-status
Eller bruk er-system-kjører alternativ med systemctl.
systemctl er-system-kjører
Kommandoene ovenfor indikerer at systemtilstanden er degradert, noe som betyr at systemet er operativt, men en eller flere tjenester har ikke lastet.
Andre vanlige tilstander som kommandoen ovenfor kan vise er oppført i tabellen nedenfor:
initialisering | Systemtilstand før oppstart når basic.target-kjøringsnivået er oppnådd eller vedlikeholdstilstand er angitt |
starter | Systemtilstand etter oppstart når rescue.target-kjørenivået er oppnådd eller jobbkøen blir inaktiv |
stopper | Systemet slår seg av |
løping | Systemtilstand der den er fullt operativ |
degradert | Systemtilstand der den er operativ, men en eller flere tjenester ble ikke lastet inn |
vedlikehold | Rednings- eller nødmålet er aktivert |
offline | Systemadministratoren kjører ikke fordi en inkompatibel serviceadministrator kjører som PID 1 |
ukjent | Tilstanden kan ikke bestemmes på grunn av ressursbegrensninger |
Hvordan fikser jeg systemforringet tilstand?
Som nevnt tidligere indikerer den degraderte tilstanden at en eller flere tjenester ikke har lastet. Begynn feilsøkingsprosessen ved å identifisere de mislykkede tjenestene ved å bruke systemctl.
systemctl liste-enheter --stat =mislyktes
Det neste trinnet er å bruke tilbakestilling mislyktes alternativet med systemctl kommando for å fikse det.
systemctl tilbakestilling mislyktesDe tilbakestilling mislyktes alternativet tilbakestiller i hovedsak tjenestene som ikke klarte å kjøre på grunn av unormal drift. Denne kommandoen garanterer imidlertid ikke at alle de mislykkede tjenestene vil bli aktivert. Tjenesten kan mislykkes på grunn av feil konfigurasjon av tjenestefilene, som finnes i /lib/system/system eller /etc/systemd/system kataloger.
Les loggmeldingene for å lære mer om den mislykkede tjenesten. For å få tilgang til loggmeldingen til en tjeneste, bruk journalctl kommando, -i flagg og tjenestenavn.
journalctl -i [ Tjenestenavn ]For å få en grundig forklaring av loggen, bruk -x alternativ med -Det er . De -x flagget viser forklarende hjelpetekst, mens -Det er alternativet viser den nyeste oppføringen først.
journalctl -i [ Tjenestenavn ] -bil
Konklusjon
Den degraderte er systemtilstanden som indikerer at systemet kjører, men en eller flere tjenester har ikke lastet. Denne systemtilstanden kan oppnås ved å bruke systemctl-status eller systemctl er-system-kjører kommandoer. De systemctl tilbakestilling mislyktes kommandoen kan løse noen problemer, inkludert degradert feil, men den garanterer ikke løsningen av problemet. Hvis tilnærmingen nevnt tidligere ikke klarer å løse problemet, finn problemet ved å undersøke loggene ved å bruke journalctl kommando.