Åpen kilde

GNU / Linux Generell feilsøkingsveiledning for nybegynnere

GNU / Linux Generell feilsøkingsveiledning for nybegynnere

Feilsøk maskinvareproblemer

Når kjernen starter, laster den inn nødvendige maskinvaredrivere og moduler med alle meldinger som inneholder maskinvarefeildetaljer. Men meldingene ruller opp for fort, og det er umulig å se godt på potensielle maskinvareproblemer. Meldingene som vises under kjernestartprosessen lagres imidlertid i kjerne-ringbufferen.

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

[e-postbeskyttet]: ~ $ dmesg> / tmp / msg.tekst
[e-postbeskyttet]: ~ $ mindre / tmp / kernel_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 / meldingsfilene hvis de finnes.

Noen Linux-systemer som støtter systemd lagrer disse meldingene i systemjournalen. Bruke journalctl kommando for å sjekke kjernemeldingene:

[e-postbeskyttet]: ~ $ journalctl -k | mindre

Se etter meldingene som viser feil på maskinvarefunksjoner eller ikke lastet inn drivere.

GRUB redning

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

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

Feilen ser slik ut:

feil: ukjent filsystem.
grub redning> _

I denne delen vil vi diskutere to måter å gjenopprette distribusjonen fra Grub Rescue:

METODE I

Skriv inn ls kommandoen i grub-redningsterminalen for å liste opp alle stasjonene og tilgjengelige partisjoner.

grub> ls
(hd0), (hd0, msdos1) (hd0, msdos2)

Velg partisjonen som inneholder den installerte distribusjonen. Generelt er den 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.kart fonter grub.cfg grub.cfg.1590068449.rpmsave grubenv i386-pc lokalt

Type sett rot = (hd0, msdos1) for å starte systemet. Bruk nå sett prefiks kommando for å definere banen til grub2-katalogen. Type insmod normal kommandoen for å starte systemet på nytt. Etter omstart, åpne terminalen for å oppdatere GRUB.

[e-postbeskyttet]: ~ $ sudo update-grub

Det siste trinnet er å installere GRUB på MBR (Master Boot Record) når windows starter bootloaderen på den. Dette trinnet krever montering av rotpartisjonen / dev / sda1 i / mnt-katalogen.

[e-postbeskyttet]: ~ $ sudo mount / dev / sda1 / mnt
[e-postbeskyttet]: ~ $ sudo grub-install - root-directory = / mnt / / dev / sda

Systemet kan ikke starte gjennom insmod normal kommando, som kan skje på grunn av et elendig filsystem med manglende grub.conf-fil. Problemet krever at brukeren starter opp i systemet via en live USB / CD av 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 GRUB-problemer. Start opp på skrivebordet via en levende flyttbar USB / CD. Forsikre deg om at enheten er koblet til internett og trykk Ctrl + Alt + T for å åpne terminalen. Installer nå boot reparasjonsverktøyet:

[e-postbeskyttet]: ~ $ sudo add-apt-repository -y ppa: yannubuntu / boot-repair
[e-postbeskyttet]: ~ $ sudo apt-get oppdatering
[e-postbeskyttet]: ~ $ sudo apt-get install -y boot-repair && boot-repair

Følg de anbefalte alternativene for å reparere systemet. Start systemet på nytt etter at Boot Repair har brukt alle endringene. OS starter opp normalt.

Feilsøking av nettverk

For vanlige brukere skjer nettverkstilkobling automatisk så snart brukeren kobler til Ethernet-kabelen eller gir påloggingsinformasjon for et Wi-Fi-nettverk. Imidlertid er nettverksadministrasjon og feilsøking et viktig sett med oppgaver for enhver systemadministrator. Derfor tilbyr Linux kommandolinjeverktøy for å håndtere problemer med ledelse og tilkobling.

I denne delen diskuterer vi utgående og innkommende nettverksforbindelsesproblemer og dekker Linux-verktøy for å gi løsninger på dem på en praktisk måte.

Utgående tilkoblinger

Linux tilbyr IP kommando som et allsidig nettverksverktøy 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 å vise nettverksgrensesnittet som fungerer.

[e-postbeskyttet]: ~ $ ip addr show

Hvis det ikke er noe tilgjengelig grensesnitt, må du sjekke om maskinvaren er deaktivert. Imidlertid, hvis den er oppe og fortsatt er koblet til verten, bruker du rute kommando for å sjekke verten.

[e-postbeskyttet]: ~ $ rute

Standardlinjen representerer standard gateway (router) som maskinen har tilgang til via et fungerende grensesnittkort. Linux tilbyr ping verktøy for å teste tilkobling mellom enheten og ruteren.

[e-postbeskyttet]: ~ $ ping -c 5

Feilen antyder at ruteren enten ikke er fysisk tilkoblet eller slått av. Imidlertid, hvis pingen er vellykket, kan du prøve å nå en adresse utenfor ruteren, for eksempel global Google DNS-server 8.8.8.8.

[e-postbeskyttet]: ~ $ ping -c 5 8.8.8.8

En vellykket ping antyder at problemet er med oppløsningen av vertsnavn-til-adresse. DNS-serveren som brukes av systemet, legges til manuelt eller automatisk fra DHCP-serveren når nettverksgrensesnittet starter. Sjekk detaljene (navnene og IP-adressene) til DNS-serveren fra / etc / resolution.conf-fil.

navneserver 192.168.11.12
navneserver 192.168.11.253

Vi kan løse vertsnavnproblemene som følger:

Det er mulig at serveren er nede, eller at brukeren tildeles feil DNS-serveradresse. Legg merke til navneserver adresser fra Løse.konf fil og sjekk om den er tilgjengelig via en ping-kommando.

[e-postbeskyttet]: ~ $ ping -c 3 192.168.11.253

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

[e-postbeskyttet]: ~ $ dig @ 115.186.188.3 www.Google.com

Å korrigere en DNS-server er litt vanskelig. Hvis nettverksadministratoren er ansvarlig for å administrere tilkoblingsoppgaven, overstyrer den navneserveroppføringene i / etc / resolution.conf-fil. Cd i katalogen / etc / sysconfig / network-scripts for å legge til følgende linje i ifcfg-filen for å løse problemet.

[e-postbeskyttet]: ~ $ sudo vim / etc / sysconfig / network-scripts / ifcfg
PEERDNS = nei
DNS1 =

I tilfelle en egen nettverkstjeneste, legg til PEERDNS = ingen linje å løse.conf-fil.

Innkommende tilkoblinger

For et Linux-system konfigurert som en Apache-server, må webserveren få tilgang til klienten. Hvis klienten ikke kan nå serveren via en nettleser, kan du bruke de ovennevnte ping-, grave- eller traceroute-kommandoene 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 til å inspisere åpne porter.

[e-postbeskyttet]: ~ $ nmap

Den åpne porten 80/443 STATE antyder at nettverkstilkoblingen er bra. Hvis ikke, godtar ikke brannmuren pakker fra disse portene. Videre 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 angir til standard brannmurpolicy, vil den blokkere alle innkommende tilkoblinger. Sett brannmuren slik at klienter får tilgang til TCP 80/443 porter:

[e-postbeskyttet]: ~ $ sudo ufw tillat 80
[e-postbeskyttet]: ~ $ sudo ufw tillate 443

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

[e-postbeskyttet]: ~ $ sudo ufw tillat fra

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

[e-postbeskyttet]: ~ $ 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 slik at tjenesten kan lytte på port 80 for en bestemt adresse eller alle adresser.

[e-postbeskyttet]: ~ $ sudo cd / etc / httpd / conf / httpd.konf
Lytt 80
Lytt 192.168.11.10:80

Feilsøk 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 fint, men begynner å bremse og begynner å krasje applikasjoner. Disse forskjellige Linux-verktøyene hjelper deg med å finne prosesser som forbruker minneressurser og tømmer maskinen for diskplass, prosessorer og nettverksbåndbredde.

Noen av årsakene bak ustabilitet i systemet inkluderer begrenset kapasitet, dvs.e., lite minne, diskplass, nettverkskapasitet og prosessorkraft, med feilkonfigurerte applikasjoner. Imidlertid tilbyr verktøyene måter å administrere, manipulere og fikse slike problemer på. 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 tomt for minne (OOM), kan du se etter disse tingene:

  • Legg merke til den ledige plassen i Mem-linjen: den må være null eller nær den.
  • Sjekk det brukte bytteområdet: det må være ikke-null eller vokse.
  • Siden topp kommando viser 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 bytteområdet går tom.

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

Drap på prosessen

Drep-kommandoen sender et drapsignal for å avslutte en prosess. De mest brukte signalene for å feilsøke problemer utenfor minnet er SIGKILL og SIGTERM. Imidlertid reagerer forskjellige prosesser forskjellig på signaler.

Merk for eksempel PID og bruk drepe kommando for å sende SIGTERM-signalet.

[e-postbeskyttet]: ~ $ kill -15 PID

SIGTERM / -15-signalet tar sikte på å avslutte prosessen, men noen ganger dreper det ikke prosessen. Derfor kan dette kreve at SIGKILL / -9-signalet dreper prosessen umiddelbart.

[e-postbeskyttet]: ~ $ kill -SIGKILL PID

Drop Page Cache

For å rense minnet for øyeblikket, slipp inaktive buffersider. Dropper hurtigbufrede sider, skriv noen minnesider til disken, da systemet kanskje vil hente det senere mens det forkaster resten.

La toppkommandoen kjøre i terminalen og kjør den gitte kommandoen i en annen terminal for å se MEM-linjeskift:

[e-postbeskyttet]: ~ $ echo 3> / proc / sys / vm / drop_caches

Bruk Alt + SysRq tastetrykk

Minneutmattelse kan noen ganger gjøre at brukergrensesnittet eller skallet ikke reagerer. Dette scenariet krever bruk av Alt + SysRq-tastetrykk på et ikke-responsivt system. Slik at kjernen behandler forespørselen før noen annen prosess.

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

[e-postbeskyttet]: ~ $ cat / proc / sys / kernel / sysrq
076

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

[e-postbeskyttet]: ~ $ sudo echo "1"> / proc / sys / kernel / sysrq

På de fleste tastaturene er SysRq en 'PrtSc' -tast.

Trykk på Alt + SysRq + f fra det tekstbaserte grensesnittet for å drepe prosessen med høyest OOM-poengsum. Fortsett å trykke på disse tastetrykkene til systemet går tilbake til normal brukbar tilstand.

CPU-belastning

De ovennevnte teknikkene kan også kontrollere og fikse prosessen som bruker store CPU-ressurser og frata systemet dets funksjonalitet. Imidlertid tilbyr Linux en annen metode som begrenser systemprosesser fra å mate CPU-ressursene.

Renice prosessen

Bruk toppkommandoen for å gi alle detaljene og noter deg 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 blir tilgangsprosessen til CPU.

[e-postbeskyttet]: ~ $ hyggelig +18 PID

Eller legg merke til NI (fin) verdi av PID. For en lav NI-verdi, reduser du CPU-tilgangsrettighetene til den aktuelle prosessen ved å tilbakekalle den utmerkede verdien ved hjelp av renice-kommandoen:

[e-postbeskyttet]: ~ $ 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.

Gratis og åpen kildekode-spillmotorer for utvikling av Linux-spill
Denne artikkelen vil dekke en liste over gratis og open source-spillmotorer som kan brukes til å utvikle 2D- og 3D-spill på Linux. Det er mange slike ...
Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider er det tolvte tilskuddet til Tomb Raider-serien - et action-eventyrspill-franchise opprettet av Eidos Montreal. Spillet ble ...
Hvordan øke FPS i Linux?
FPS står for Bilder per sekund. FPSs oppgave er å måle bildefrekvensen i videoavspilling eller spillprestasjoner. Med enkle ord betegnes antall uavbru...