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 | mindreKontrollera 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-grubDet 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-showOm 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: ~ $ ruttStandardraden 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 5Felet 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.8En 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.12namnserver 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.253Anvä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.comAtt 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 / ifcfgPEERDNS = 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]: ~ $ nmapDen ö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ånOm å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 httpdKontrollera 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.konfLyssna 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 PIDSIGTERM / -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 PIDSlä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_cachesAnvä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 / sysrq076
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 / sysrqI 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 PIDEller 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 PIDSlutsats
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.