GNU/Linux General Feilsøkingsveiledning for nybegynnere

GNU/Linux General Feilsøkingsveiledning for nybegynnere

Feilsøke maskinvareproblemer

Når kjernen starter, laster den de nødvendige maskinvaredriverne og moduler med alle meldinger som inkluderer detaljerte maskinvarefeil. Men meldingene blar opp altfor raskt, og det er umulig å se godt på potensielle maskinvareproblemer. Meldingene som vises under kjerneoppstartsprosessen lagres imidlertid i kjerne -ringbufferen.

Når systemet starter opp, bruker du dmesg kommando for å skrive disse meldingene til en msg.tekst fil.

ubuntu@ubuntu: ~ $ dmesg> /tmp /msg.tekst
ubuntu@ubuntu: ~ $ mindre /tmp /kjerne_msg.tekst

De lagrede meldingene kan gjennomgås senere eller sendes til noen for å feilsøke problemet.

En annen måte å lese disse meldingene på er å sjekke/var/log/dmesg eller/var/log/melding filene hvis de eksisterer.

Noen Linux -systemer som støtter Systemd lagrer disse meldingene i Systemd Journal. Bruke Journalctl Kommando for å sjekke kjernemeldingene:

ubuntu@ubuntu: ~ $ Journalctl -k | mindre

Se etter meldingene som oppgir feil av maskinvarefunksjoner eller ikke klarte å laste drivere.

Grub Rescue

Grub er et program installert av distribusjoner som starter det kjernebaserte OS. Foreløpig bruker alle Linux -distribusjoner GRUB2 -versjonen. Noen ganger er det mulig at når BIOS starter GRUB2, lander den inn i problemet med ingen "operasjonsfilsystem" eller "ukjent filsystem".

Feilen antyder at gruben ikke finner riktig operativsystem for å laste og lokalisere gruben.CFG -fil i feil partisjon. Dette skjer når brukeren installerer Windows etter at Linux OS og BIOS identifiserer disker i feil rekkefølge, da vinduene starter sin bootloader på Master Boot Record (MBR).

Feilen virker slik:

Feil: Ukjent filsystem.
Grub Rescue> _

I denne delen vil vi diskutere to måter å gjenopprette distribusjonen fra grubens redning:

Metode i

Skriv inn ls Kommando i Grub Rescue Terminal for å liste opp alle stasjonene og tilgjengelige partisjoner.

Grub> ls
(HD0), (HD0, MSDOS1) (HD0, MSDOS2)

Velg partisjonen som inneholder den installerte distribusjonen. Generelt sett er det startet opp fra den første partisjonen; Hvis ikke, sender den ut en feilmelding. Kjør følgende kommandoer for å søke i GRUB -konfigurasjonsfilen i GRUB2 -katalogen:

GRUB> LS (HD0, MSDOS1)/
GRUB> LS (HD0, MSDOS1)/GRUB2
enhet.Kartfonter grub.CFG GRUB.CFG.1590068449.RPMSAVE GRUBENV I386-PC LOCANT

Type Sett root = (HD0, MSDOS1) For å starte systemet. Bruk nå Angi prefiks Kommando for å definere banen til GRUB2 -katalogen. Type Insmod Normal Kommando for å starte systemet på nytt. Etter omstart, åpne terminalen for å oppdatere grub.

ubuntu@ubuntu: ~ $ sudo oppdatering-Grub

Det siste trinnet er å installere Grub på MBR (Master Boot Record) når Windows startet sin bootloader på den. Dette trinnet krever montering av rotpartisjonen /dev /sda1 på /mnt -katalogen.

ubuntu@ubuntu: ~ $ sudo mount /dev /sda1 /mnt
ubuntu@ubuntu: ~ $ sudo grub-install-rooot-direkte =/mnt//dev/sda

Systemet kan ikke starte opp gjennom Insmod Normal Kommando, som kan skje på grunn av et elendig filsystem med manglende grub.Conf -fil. Problemet krever at brukeren starter inn i systemet gjennom en live USB/CD for distribusjonen. La oss diskutere en annen ideell teknikk for å redde Grub2.

Metode II

Boot-Repair er et grafisk verktøy som tilbyr en ideell løsning for grubproblemer. Start inn på skrivebordet gjennom en live flyttbar USB/CD. Forsikre deg om at enheten er koblet til Internett og trykk CTRL+ALT+T for å åpne terminalen. Installer nå oppstartsreparasjonsverktøyet:

ubuntu@ubuntu: ~ $ sudo add-apt-repository -y ppa: yannubuntu/boot-repair
ubuntu@ubuntu: ~ $ sudo apt-get update
ubuntu@ubuntu: ~ $ sudo apt-get install -y boot-repair && boot-repair

Følg de anbefalte alternativene for å reparere systemet. Start systemet på nytt etter at oppstartsreparasjon bruker alle endringer. OS vil starte normalt.

Feilsøking av nettverk

For vanlige brukere skjer nettverkstilkobling automatisk så snart brukeren plugger inn Ethernet-kabelen eller gir påloggingsinformasjon for et Wi-Fi-nettverk. Imidlertid er nettverksstyring og feilsøking et avgjørende sett med oppgaver for enhver systemadministrator. Derfor tilbyr Linux kommandolinjeverktøy for å håndtere ledelses- og tilkoblingsproblemer.

I dette avsnittet diskuterer vi utgående og innkommende nettverkstilkoblingsproblemer og dekker Linux -verktøy for å tilby løsninger til dem på en praktisk måte.

Utgående tilkoblinger

Linux tilbyr IP Kommando som et verktøy for nettverk for å konfigurere nettverket og løse tilkoblingsproblemer. Den manipulerer alle nettverksobjekter som IP -adresser, ruter og lenker osv.

Før du begynner, bruk IP Kommando for å se arbeidsnettverksgrensesnittet.

ubuntu@ubuntu: ~ $ ip addr show

I tilfelle ikke noe tilgjengelig grensesnitt, kan du sjekke om maskinvaren er deaktivert. Imidlertid, hvis det er oppe og fremdeles koblet til verten, kan du bruke rute kommando for å sjekke verten.

ubuntu@ubuntu: ~ $ rute

Standardlinjen representerer standard gateway (ruter) som er åpnet med maskinen via et fungerende grensesnittkort. Linux tilbyr ping verktøy for å teste tilkobling mellom enheten og ruteren.

ubuntu@ubuntu: ~ $ ping -c 5

Feilen antyder at ruteren enten er fysisk ikke koblet sammen eller slått av. Imidlertid, hvis pingen er vellykket, kan du prøve å nå en adresse utover ruteren, for eksempel Global Google DNS Server 8.8.8.8.

ubuntu@ubuntu: ~ $ ping -c 5 8.8.8.8

En vellykket ping antyder at problemet er med vertsnavn-til-adresse-oppløsningen. DNS -serveren som brukes av systemet legges til enten manuelt eller automatisk fra DHCP -serveren når nettverksgrensesnittet initierer. Kontroller detaljene (navn og IP -adresser) på DNS ​​-serveren fra /etc /Løs.Conf -fil.

Nameserver 192.168.11.12
Nameserver 192.168.11.253

Vi kan løse vertsnavns problemene som følger:

Det er mulig at serveren er nede, eller at brukeren får tildelt feil DNS -serveradresse. Merk navneserver adresser fra Løse.konf fil og sjekk om det er tilgjengelig via en ping -kommando.

ubuntu@ubuntu: ~ $ ping -c 3 192.168.11.253

Bruk verktøy for domeneinformasjon (DIG) for å sjekke om DNS fungerer. Det vil si, sjekk om DNS -serveradressen 192.168.11.253 løser vertsnavnet til en IP -adresse.

ubuntu @ubuntu: ~ $ dig @115.186.188.3 www.Google.com

Å korrigere en DNS -server er litt vanskelig. Hvis nettverkssjefen er ansvarlig for å administrere tilkoblingsoppgaven, overstyrer den navneserveroppføringene i /etc /Løs.Conf -fil. CD i/etc/sysconfig/nettverksskripskatalogen for å legge til følgende linje i IFCFG-filen for å løse problemet.

ubuntu@ubuntu: ~ $ sudo vim/etc/sysconfig/nettverksskrip/IFCFG
Peerdns = nei
Dns1 =

I tilfelle av en egen nettverkstjeneste, legg til peerdns = ingen linje for å løse.Conf -fil.

Innkommende tilkoblinger

For et Linux -system konfigurert som en Apache -server, må webserveren få tilgang til av klienten. Hvis klienten ikke kan nå serveren via en nettleser, kan du bruke ovennevnte Ping, Dig eller Traceroute-kommandoer fra utenfor serveren for å spore problemer. Noen av de andre måtene å feilsøke innkommende tilkoblinger inkluderer:

Bruk nmap For å sjekke tilgjengeligheten av tjenesten via åpne porter på serveren. Bruk NMAP -kommandoen med vertsnavnet/IP -adressen for å inspisere åpne porter.

ubuntu@ubuntu: ~ $ nmap

Open Port 80/443 -tilstanden antyder at nettverkstilkoblingen er greit. Hvis ikke, godtar ikke brannmuren pakker fra disse portene. Dessuten er den ikke filtrert, og staten er stengt, noe som betyr at tjenesten ikke er konfigurert riktig, eller at den ikke lytter på 80/443 porter.

Hvis systemet bruker ufw og setter seg til standard brannmurpolicy, vil den blokkere enhver innkommende tilkobling. Sett brannmuren for å gi klienter tilgang til TCP 80/443 porter:

ubuntu@ubuntu: ~ $ sudo ufw tillatt 80
ubuntu@ubuntu: ~ $ sudo ufw tillatt 443

Hvis det fremdeles blokkerer innkommende tilkoblinger, bruk sudo ufw status Kommando for å se etter de nektede vertene og få tilgang til dem via følgende kommando.

ubuntu@ubuntu: ~ $ sudo ufw tillatt fra

Hvis tilgang til 80/443 porter er aktivert og alle innkommende nettverk har tilgang til serveren. Det er på tide å sjekke serverstatusen:

ubuntu@ubuntu: ~ $ sudo systemctl status httpd

Til slutt, sjekk om serveren lytter til passende grensesnitt og porter. Derfor, for tjenestene som HTTPD som lytter etter forespørsler om grensesnitt. Rediger hovedkonfigurasjonsfilen for å aktivere tjenesten å lytte på port 80 for en spesifikk adresse eller alle adresser.

ubuntu@ubuntu: ~ $ sudo cd/etc/httpd/conf/httpd.konf
Lytt 80
Lytt 192.168.11.10:80

Feilsøke systembelastning

Linux kommer med mange verktøy som ser på systemaktiviteter og finner ut problemer som ikke har noen åpenbare grunner. Det vil si at systemet fungerer helt bra, men begynner å bremse og begynner å krasje applikasjoner. Disse forskjellige Linux -verktøyene hjelper til.

Noen av årsakene bak systemets ustabilitet inkluderer begrenset kapasitet, i.e., Lavt minne, diskplass, nettverkskapasitet og behandlingskraft, med feilkonfigurerte applikasjoner. Imidlertid tilbyr verktøyene måter å administrere, manipulere og fikse slike problemer. La oss feilsøke begrenset minne og overdreven CPU -forbruksproblemer.

Minnebruk

Kjør topp kommando med kapital M For å klassifisere prosessdetaljer etter minnebruk. Kommandoutgangen gir generell informasjon etterfulgt av RAM, bytteplass og CPU -forbruk. Hvis det ser ut til at systemet er utenom minnet (OOM), se etter disse tingene:

  • Legg merke til den ledige plassen i mem -linjen: den må være null eller nær den.
  • Kontroller det brukte bytteplassen: det må være ikke-null eller vokse.
  • Siden topp Kommando redisplays informasjon hvert 5. sekund, se etter prosessen med en minnelekkasje, det vil si sjekk om RES -minnet fortsetter å vokse.
  • Kjernen begynner å drepe prosessen når bytteplass går ut.

Den mulige måten å feilsøke slike problemer er å enten:

Dreper prosessen

Kill -kommandoen sender et drapssignal for å avslutte en prosess. De mest brukte signalene for å feilsøke problemene med ut-av-minnet er Sigkill og Sigterm. Imidlertid reagerer forskjellige prosesser annerledes på signaler.

Merk for eksempel PID og bruk drepe kommando for å sende sigtermsignalet.

ubuntu@ubuntu: ~ $ kill -15 pid

Sigterm/-15-signalet tar sikte på å avslutte prosessen, men noen ganger dreper det ikke prosessen. Derfor kan dette kreve Sigkill/-9-signalet for å drepe prosessen umiddelbart.

ubuntu@ubuntu: ~ $ kill -sigkill pid

Drop Page Caches

For å rengjøre minnet for øyeblikket, slipp inaktive cache -sider. Slipp hurtigbufret sider, skriv noen få minnesider til disken, da systemet kanskje vil hente den senere mens det kaster resten.

La toppkommandoen løpe i terminalen og kjøre den gitte kommandoen i en annen terminal for å se mem -linjen endret:

ubuntu@ubuntu: ~ $ ekko 3>/proc/sys/vm/drop_caches

Bruk ALT+Sysrq -tastetrykk

Memory utmattelse kan noen ganger gjøre GUI eller skallet helt ikke svarer. Dette scenariet krever bruk av ALT+SYSRQ -tastetrykk på et ikke -svarende system. Slik at kjernen behandler forespørselen før noen annen prosess.

Kjør følgende kommando for å sjekke om den er aktivert:

ubuntu@ubuntu: ~ $ cat/proc/sys/kjerne/sysrq
076

Verdien '0' viser at tastetrykk ikke er aktivert. For å aktivere dette tastetrykk, gå til /etc /sysctl.Conf -fil og angi kjerne.sysrq = 1. Eller sett kjerne.sysrq = 1 Ved å bruke følgende kommando.

ubuntu@ubuntu: ~ $ sudo ekko "1">/proc/sys/kjerne/sysrq

I de fleste av tastaturene er SYSRQ en 'PRTSC' -tast.

Trykk ALT+SYSRQ+F fra det tekstbaserte grensesnittet for å drepe prosessen med den høyeste OOM-poengsummen. Fortsett å trykke på disse tastetrykkene til systemet går tilbake til sin normale brukbare tilstand.

CPU -belastning

De ovennevnte teknikkene kan også sjekke og fikse prosessen som forbruker overdreven CPU-ressurser og fratar systemet funksjonaliteten. Linux tilbyr imidlertid en annen metode som begrenser systemprosesser fra å mate CPU -ressursene.

Renice prosessen

Bruk toppkommandoen til å gi alle detaljene og notere prosess -ID (PID) som ber om flere CPU -ressurser. Skriv inn følgende kommando som setter den utmerkede verdien mellom -20 til 19, i.e., Jo høyere verdi, jo lavere kommer tilgangsprosessen til CPU.

ubuntu@ubuntu: ~ $ fin +18 pid

Eller legg merke til NI (fin) verdien av PID. For en lav Ni -verdi, reduser CPU -tilgangsprivilegiene for den aktuelle prosessen ved å tilbakekalle den utmerkede verdien ved å bruke Renice -kommandoen:

ubuntu@ubuntu: ~ $ renice -n +18 pid

Konklusjon

Artikkelen dekker alle nødvendige Linux -verktøy for å tillate nybegynnere å feilsøke Linux -problemer som er relevante for systembelastning, maskinvareproblemer, grub og nettverk.