5 Linux-kommandoer du trenger å vite for å feilsøke problemer

0
8
feilsøking Jack Wallen/ZDNET

Til stor fortvilelse for de som ønsker å krenke Linux-operativsystemet, er det faktisk ganske enkelt å bruke. Takket være moderne GUI-skrivebordsmiljøer og -applikasjoner kan hvem som helst hoppe inn i kampen og vite hva de gjør. 

Men i de sjeldne tilfellene der det oppstår problemer, vil du kanskje vite en få kommandoer for å hjelpe deg. Problemet er at det er så mange kommandoer tilgjengelig for deg innenfor Linux-området, noe som gjør det utfordrende å vite hvilke kommandoer som er de beste alternativene.

Også: De første 5 Linux-kommandoene hver ny brukeren bør lære

Jada, du kan lære hvilken som helst av kommandoene som viser systeminformasjon (som topp, gratis, iostat, htop, vmstat eller iftop), men disse verktøyene vil bare komme deg så langt. Det som er mer verdifullt er å hoppe til kommandoen som virkelig kan hjelpe deg hvis noe går galt.

Og med den introduksjonen ute av veien, la oss komme til kommandoene.

1. dmesg

Da jeg først begynte å bruke Linux, var dmesg min beste venn. I hovedsak brukes dmesg til å undersøke alle meldinger som er opprettet etter oppstartslasterfasen til kjernen. Med andre ord, du kan finne en anelse om alt du kan feilsøke her.

I motsetning til dmesg fra gammelt av, må du nå kjøre kommandoen med sudo-privilegier, så:

sudo dmesg

Dette vil skrive ut ganske mye utdata du kan bla gjennom, noe som gjør det litt utfordrende å finne det du leter etter, og mye av det du leser vil mest sannsynlig virke som tull. Den gode nyheten er at feil skrives ut i rødt, slik at du raskt kan bla for å finne alt som kan være galt.

Også: Hvorfor jeg bruker Linux-trekommandoen daglig – og hva den kan gjøre for deg

Det er en måte å gjøre dette enda enklere på. La oss si at du opplever en feil, og du vil se om den blir logget via dmesg når den skjer. For å gjøre det, utfør kommandoen:

dmesg -w

Dette vil vise utdataene fra dmesg når det skjer, så når det oppstår en feil, vil du se det skrevet i terminalvindu og kan feilsøke derfra.

Utgangen fra dmesg-kommandoen.

Dmesg-kommandoen er et flott sted å starte feilsøking i Linux.

Jack Wallen/ZDNET

2. hale

Når vi snakker om følgende utgang, lar hale-kommandoen deg følge utdataene som er skrevet til en hvilken som helst loggfil. La oss si at du har problemer med Samba-aksjen din og ønsker å se hva som skjer i sanntid. Det første du vil gjøre er å finne ut hvilken loggfil du skal lese. I så fall kan du gi kommandoen:

ls /var/log/samba

I den mappen finner du en rekke loggfiler (for Samba-serveren og alle maskiner som er koblet til delingen). La oss si at jeg vil se innholdet i Samba-demonloggen. For det ville jeg gi kommandoen:

tail -f /var/log/samba/log.smbd

Når feilene oppstår, vil de bli skrevet ut i terminalen. Som du kan se, har jeg en ukjent parameter i smb.conf-filen min, kalt delingsmoduser. Jeg kan åpne den filen, fjerne parameteren, starte Samba på nytt, og feilen er ikke lenger.

Utgangen fra tail -f-kommandoen.

Tail er en fin måte å se informasjon skrevet til en logg i sanntid.

Jack Wallen/ZDNET

Husk, for å komme ut av halekommandoen må du bruke Ctrl+c-tastaturkombinasjonen.

3. PS

For meg er ps en inngangsport til andre kommandoer. ps-kommandoen viser et øyeblikksbilde av en gitt gjeldende prosess. Du kan bruke ps til å liste opp alle prosesser som kjører eller mate den til grep for å vise bare spesifikke prosesser.

Men hva er det bra for?

Også : To triks som gjør bruken av Linux-kommandolinjen mye enklere

La oss si at du har et program som har krasjet og ikke vil lukke. Du klikker på den lille X i øvre høyre (eller venstre) hjørne av vinduet, men den forsvinner bare ikke. Det første du må gjøre er å finne PID-en til den prosessen, slik at du deretter kan ta deg av problemet. Det er der ps kommer godt med. Men ps i seg selv er ikke veldig nyttig. Hvorfor? Hvis du bare kjører ps, vil den kun vise prosessene knyttet til terminalen du bruker. I stedet må du bruke noen spesifikke alternativer, som er:

ps aux

a – alle prosessersu – prosesser som eies av brukeren som kjører ps
x – skriver ut applikasjoner som ikke er startet fra terminalen

Utgang av ps aux-kommandoen.

Ps-kommandoen er viktig for å finne informasjon om programmer som kanskje ikke oppfører seg som de skal.

Jack Wallen/ZDNET

Denne kommandoen skriver ut mye informasjon, alt i kolonner. Du vil se flere kolonner, men de du vil være oppmerksom på er PID og COMMAND. Med informasjonen fra disse to kolonnene kan du finne prosessens ID som forårsaker problemer. Når du har funnet den prosessen, kan du drepe den.

Hvis utdataene til ps aux er overveldende, kan du overføre den utgangen til grep og bare liste visse prosesser. La oss si at LibreOffice skaper problemer. Du kan bare liste de prosessene som er knyttet til LibreOffice slik:

ps aux | grep libreoffice

4. drepe

Kill-kommandoen er veldig kraftig. Når du har et gjenstridig program som har krasjet og ikke vil lukke (eller ikke har krasjet, men bruker for mye minne), vil kill-kommandoen tvinge programmet til å lukke.

Også: De beste Linux-bærbare datamaskinene i 2024: Eksperttestet og gjennomgått

Men for å bruke kill-kommandoen må du først ha PID-en til den aktuelle applikasjonen (som du finner med ps aux-kommandoen). La oss si at PID-en til en egensindig LibreOffice-applikasjon er 604187. For å drepe denne prosessen, vil kommandoen være:

kill 604187

Appen skal lukkes, og du er bra å gå.

5. systemctl

Systemctl-kommandoen er ikke bare god for å starte og stoppe programmer, den kan også hjelpe deg med å feilsøke. La oss si at Samba ikke fungerer som forventet. Utfør kommandoen:

systemctl status smbd

Kommandoen ovenfor vil vise om tjenesten kjører, dens PID, antall tilknyttede oppgaver, hvor mye minne og CPU den bruker , og CG-gruppene den tilhører. Enda bedre, hvis det er noen problemer med prosessen, vil systemctl gi deg informasjonen du trenger for å feilsøke problemet videre (vanligvis ved hjelp av journalctl). 

Der har du det. Disse fem kommandoene vil tjene som et flott sted å starte med Linux-feilsøkingen. Ja, det er ganske mange flere verktøy som er tilgjengelige, men for de som bare begynner med Linux, vil du kanskje vite disse kommandoene først.