Öppen källa

GNU / Linux Allmän felsökningsguide för nybörjare

GNU / Linux Allmän felsökningsguide för nybörjare

Felsök maskinvaruproblem

När kärnan startar laddas den nödvändiga hårdvarudrivrutinerna och modulerna med alla meddelanden som innehåller detaljer om maskinvarufel. Men meddelandena rullar upp alltför snabbt, och det är omöjligt att titta på potentiella hårdvaruproblem. Meddelandena som visas under kärnstartprocessen sparas dock i kärnringbufferten.

När systemet startar, använd dmesg kommando för att skriva dessa meddelanden i ett msg.Text fil.

[e-postskyddad]: ~ $ dmesg> / tmp / msg.Text
[e-postskyddad]: ~ $ mindre / tmp / kernel_msg.Text

De sparade meddelandena kan granskas senare eller skickas till någon för att felsöka problemet.

Ett annat sätt att läsa dessa meddelanden är att kontrollera filerna / var / log / dmesg eller / var / log / meddelanden om de finns.

Vissa Linux-system som stöder systemd lagrar dessa meddelanden i systemdagboken. Använd journalctl kommando för att kontrollera kärnmeddelandena:

[e-postskyddad: ~ $ journalctl -k | mindre

Kontrollera om det finns meddelanden som anger fel på maskinvarufunktioner eller att drivrutiner inte kan laddas.

GRUB Rescue

GRUB är ett program installerat av distributioner som startar det kärnbaserade operativsystemet. För närvarande använder alla Linux-distributioner GRUB2-versionen. Ibland är det möjligt att när BIOS startar GRUB2, hamnar det i problemet med inget "operativt filsystem" eller "okänt filsystem".

Felet antyder att GRUB inte kan hitta rätt operativsystem för att ladda och lokalisera gruben.CFG-fil i fel partition. Detta händer när användaren installerar Windows efter att Linux OS och BIOS identifierar skivor i fel ordning, eftersom windows startar sin bootloader på Master Boot Record (MBR).

Felet verkar så här:

fel: okänt filsystem.
grub räddning> _

I det här avsnittet kommer vi att diskutera två sätt att återställa distributionen från Grub Rescue:

METOD I

Gå in i ls kommandot i grub-räddningsterminalen för att lista alla enheter och tillgängliga partitioner.

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

Välj den partition som innehåller den installerade distributionen. I allmänhet startas den från den första partitionen; om inte, matar det ut ett felmeddelande. Kör följande kommandon för att söka i grub-konfigurationsfilen i grub2-katalogen:

grub> ls (hd0, msdos1) /
grub> ls (hd0, msdos1) / grub2
enhet.karta teckensnitt grub.cfg grub.cfg.1590068449.rpmsave grubenv i386-pc språk

Typ ange root = (hd0, msdos1) för att starta systemet. Använd nu ange prefix kommando för att definiera sökvägen till grub2-katalogen. Typ insmod normal kommando för att starta om systemet. Efter omstart, öppna terminalen för att uppdatera GRUB.

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

Det sista steget är att installera GRUB på MBR (Master Boot Record) när Windows startar sin bootloader på den. Detta steg kräver att du installerar rotpartitionen / dev / sda1 i katalogen / mnt.

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

Systemet kan inte starta via insmod normal kommando, vilket kan hända på grund av ett usel filsystem med saknad grub.conf-fil. Problemet kräver att användaren startar in i systemet via en live USB / CD av distributionen. Låt oss diskutera en annan ideal teknik för att rädda GRUB2.

METOD II

Boot-Repair är ett grafiskt verktyg som erbjuder en idealisk lösning för GRUB-problem. Starta in på skrivbordet via en live-flyttbar USB / CD. Se till att enheten är ansluten till internet och tryck på Ctrl + Alt + T för att öppna terminalen. Installera nu reparationsverktyget för start:

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

Följ de rekommenderade alternativen för att reparera systemet. Starta om ditt system efter att Boot Repair har tillämpat alla ändringar. Operativsystemet startar normalt.

Felsökning av nätverk

För vanliga användare sker nätverksanslutning automatiskt så snart användaren ansluter Ethernet-kabeln eller tillhandahåller inloggningsuppgifter för ett Wi-Fi-nätverk. Men nätverkshantering och felsökning är en viktig uppsättning uppgifter för alla systemadministratörer. Därför erbjuder Linux kommandoradsverktyg för att hantera hanterings- och anslutningsfrågor.

I det här avsnittet diskuterar vi utgående och inkommande nätverksanslutningsproblem och täcker Linux-verktyg för att ge lösningar till dem på ett bekvämt sätt.

Utgående anslutningar

Linux-erbjudanden IP kommando som ett allomfattande nätverksverktyg för att konfigurera nätverket och lösa anslutningsproblem. Det manipulerar alla nätverksobjekt som IP-adresser, rutter och länkar, etc.

Innan du börjar, använd IP kommando för att visa det fungerande nätverksgränssnittet.

[e-postskyddad]: ~ $ ip addr-show

Om inget tillgängligt gränssnitt finns, kontrollera om hårdvaran är inaktiverad. Men om den är uppe och fortfarande är ansluten till värden, använd rutt kommando för att kontrollera värden.

[e-postskyddad: ~ $ rutt

Standardraden representerar standardgatewayen (routern) som maskinen har åtkomst till via ett fungerande gränssnittskort. Linux-erbjudanden ping verktyg för att testa anslutningen mellan din enhet och routern.

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

Felet tyder på att routern antingen inte är fysiskt ansluten eller avstängd. Om pinget lyckas, försök att nå en adress utanför routern, till exempel global Google DNS-server 8.8.8.8.

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

En framgångsrik ping antyder att problemet är med värdnamn-till-adress-upplösningen. DNS-servern som används av systemet läggs till antingen manuellt eller automatiskt från DHCP-servern när nätverksgränssnittet initieras. Kontrollera detaljerna (namn och IP-adresser) för DNS-servern från / etc / resolution.conf-fil.

namnserver 192.168.11.12
namnserver 192.168.11.253

Vi kan lösa värdnamnsproblemen enligt följande:

Det är möjligt att servern är nere eller att användaren tilldelas fel DNS-serveradress. Notera namnserver adresser från lösa.konf fil och kontrollera om den är tillgänglig via ett ping-kommando.

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

Använd Domain Information groper (DIG) för att kontrollera om DNS fungerar. Det vill säga kontrollera om DNS-serverns adress 192.168.11.253 löser värdnamnet till en IP-adress.

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

Att korrigera en DNS-server är lite knepigt. Om nätverkshanteraren ansvarar för att hantera anslutningsuppgiften åsidosätter den namnserverposterna i / etc / resolution.conf-fil. Cd i katalogen / etc / sysconfig / network-scripts för att lägga till följande rad i ifcfg-filen för att lösa problemet.

[e-postskyddad]: ~ $ sudo vim / etc / sysconfig / nätverksskript / ifcfg
PEERDNS = nej
DNS1 =

I fallet med en separat nättjänst, lägg till PEERDNS = ingen rad att lösa.conf-fil.

Inkommande anslutningar

För ett Linux-system konfigurerat som en Apache-server måste webbservern komma åt av klienten. Om klienten inte kan nå servern via en webbläsare kan du använda de ovan diskuterade kommandona för ping, grävning eller spårning utifrån servern för att spåra problem. Några av de andra sätten att felsöka inkommande anslutningar inkluderar:

Använda sig av nmap för att kontrollera tillgängligheten av tjänsten via öppna portar på servern. Använd nmap-kommandot med värdnamn / IP-adress för att inspektera öppna portar.

[e-postskyddad]: ~ $ nmap

Den öppna porten 80/443 STATE antyder att nätverksanslutningen är bra. Om inte accepterar brandväggen inte paket från dessa portar. Dessutom filtreras den inte och tillståndet är stängt, vilket innebär att tjänsten inte är konfigurerad korrekt, eller att den inte lyssnar på 80/443-portar.

Om systemet använder ufw och ställer in standardpolicy för brandvägg, kommer den att blockera varje inkommande anslutning. Ställ in brandväggen så att klienter får åtkomst till TCP 80/443-portar:

[e-postskyddad]: ~ $ sudo ufw tillåt 80
[e-postskyddad]: ~ $ sudo ufw tillåta 443

Om det fortfarande blockerar inkommande anslutningar, använd sudo ufw-status kommandot för att leta efter de nekade värdarna och komma åt dem via följande kommando.

[e-postskyddad: ~ $ sudo ufw tillåta från

Om åtkomst till 80/443-portar är aktiverad och alla inkommande nätverk kan komma åt servern. Det är dags att kontrollera serverstatus:

[e-postskyddad]: ~ $ sudo systemctl status httpd

Kontrollera slutligen om servern lyssnar på lämpliga gränssnitt och portar. Därför för tjänster som httpd som lyssnar efter förfrågningar på gränssnitt. Redigera huvudkonfigurationsfilen så att tjänsten kan lyssna på port 80 för en specifik adress eller alla adresser.

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

Felsök systembelastning

Linux kommer med många verktyg som tittar på systemaktiviteter och räknar ut problem som inte har några uppenbara skäl. Det vill säga systemet fungerar bra men börjar sakta ner och börjar krascha applikationer. Dessa olika Linux-verktyg hjälper till att ta reda på processer som förbrukar minnesresurser och dränerar maskinen för dess diskutrymme, processorer och nätverksbandbredd.

Några av anledningarna till systeminstabilitet inkluderar begränsad kapacitet, dvs.e., lågt minne, diskutrymme, nätverkskapacitet och processorkraft med felkonfigurerade applikationer. Verktygen erbjuder dock sätt att hantera, manipulera och åtgärda sådana problem. Låt oss felsöka problem med begränsat minne och överdriven CPU-förbrukning.

Minnesanvändning

Springa det topp kommando med kapital M för att klassificera processinformation efter minnesanvändning. Kommandoutgången ger allmän information följt av RAM, swap-utrymme och CPU-förbrukning. Om det verkar som att systemet inte har minnesutrymme (OOM), leta efter dessa saker:

  • Lägg märke till det fria utrymmet i Mem-raden: det måste vara noll eller nära det.
  • Kontrollera det använda växlingsutrymmet: det måste vara noll eller växa.
  • Sedan topp kommando visar information var 5: e sekund, leta efter processen med en minnesläcka, det vill säga, kontrollera om RES-minnet fortsätter att växa.
  • Kärnan börjar döda processen när swap-utrymme tar slut.

Det möjliga sättet att felsöka sådana problem är att antingen:

Döda processen

Dödkommandot skickar en dödssignal för att avsluta en process. De vanligaste signalerna för att felsöka problem utanför minnet är SIGKILL och SIGTERM. Men olika processer svarar olika på signaler.

Observera till exempel PID och använd döda kommando för att skicka SIGTERM-signalen.

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

SIGTERM / -15-signalen syftar till att avsluta processen, men ibland dödar den inte processen. Därför kan detta kräva att SIGKILL / -9-signalen dödar processen omedelbart.

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

Släpp cacheminnet

För att rensa minnet för tillfället, släpp inaktiva cachesidor. Släppa cachade sidor, skriv några minnessidor till disken eftersom systemet kanske vill hämta det senare medan det kasserar resten.

Lämna det översta kommandot igång i terminalen och kör det givna kommandot i en annan terminal för att se MEM-radändring:

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

Använd Alt + SysRq-tangenttryckning

Minnesutmattning kan ibland göra att GUI eller skal helt inte svarar. Detta scenario kräver användning av Alt + SysRq-tangenttryckning på ett system som inte svarar. Så att kärnan behandlar sin begäran före någon annan process.

Kör följande kommando för att kontrollera om det är aktiverat:

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

Värdet '0' visar att tangenttryckningen inte är aktiverad. För att aktivera detta tangenttryck, gå till / etc / sysctl.conf-fil och ställ in kärna.sysrq = 1. Eller sätt kärna.sysrq = 1 med följande kommando.

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

I de flesta tangentborden är SysRq en 'PrtSc' -tangent.

Tryck på Alt + SysRq + f från det textbaserade gränssnittet för att döda processen med den högsta OOM-poängen. Fortsätt trycka på dessa tangenttryckningar tills systemet återgår till sitt normala användbara tillstånd.

CPU-belastning

Ovan diskuterade tekniker kan också kontrollera och fixa processen som förbrukar överdrivna CPU-resurser och berövar systemet dess funktionalitet. Linux erbjuder dock en annan metod som begränsar systemprocesser från att mata bort CPU-resurserna.

Förnya processen

Använd det översta kommandot för att ge alla detaljer och notera process-ID (PID) som kräver fler CPU-resurser. Skriv följande kommando som anger det utmärkta värdet mellan -20 och 19, i.e., ju högre värde desto lägre blir åtkomstprocessen till CPU: n.

[e-postskyddad]: ~ $ trevlig +18 PID

Eller lägg märke till PID: s (trevliga) värde. För ett lågt NI-värde, minska CPU-åtkomstbehörigheterna för den specifika processen genom att återkalla det utmärkta värdet med kommandot renice:

[e-postskyddad]: ~ $ renice -n +18 PID

Slutsats

Artikeln täcker alla nödvändiga Linux-verktyg för att göra det möjligt för nybörjare att felsöka Linux-problem som är relevanta för systembelastning, hårdvaruproblem, GRUB och nätverk.

Mus Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Mus och Pekplattas gör inte bara datoranvändning lättare men effektivare och mindre tidskrävande. Vi kan inte föreställa oss ett liv utan dessa enhete...
Mus Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Muspekaren och markören i Windows 10 är mycket viktiga aspekter av operativsystemet. Detta kan också sägas för andra operativsystem, så i sanning är d...
Gratis och öppen källkodsmotorer för utveckling av Linux-spel
Den här artikeln kommer att täcka en lista över gratis motorer med öppen källkod som kan användas för att utveckla 2D- och 3D-spel på Linux. Det finns...