Fejlfinding af hardwareproblemer
Når kernen starter, indlæser den de nødvendige hardwaredrivere og moduler med alle meddelelser, der indeholder detaljer om hardwarefejl. Men meddelelserne ruller alt for hurtigt op, og det er umuligt at få et godt kig på potentielle hardwareproblemer. De meddelelser, der vises under kernel-opstartsprocessen, gemmes dog i kerneringsbufferen.
Når systemet starter op, skal du bruge dmesg kommando til at skrive disse meddelelser i en msg.txt fil.
[e-mail-beskyttet]: ~ $ dmesg> / tmp / msg.txt[e-mail-beskyttet]: ~ $ mindre / tmp / kernel_msg.txt
De gemte meddelelser kan gennemgås senere eller sendes til nogen for at fejle problemet.
En anden måde at læse disse meddelelser på er at kontrollere / var / log / dmesg eller / var / log / beskedfiler, hvis de findes.
Nogle Linux-systemer, der understøtter systemd, gemmer disse meddelelser i systemd-journalen. Brug journalctl kommando til at kontrollere kernemeddelelserne:
[e-mail-beskyttet]: ~ $ journalctl -k | mindreKontroller for de meddelelser, der angiver, at hardwarefunktioner ikke fungerer, eller at drivere ikke kan indlæses.
GRUB redning
GRUB er et softwareprogram installeret af distributioner, der starter det kernelbaserede operativsystem. I øjeblikket bruger alle Linux-distributioner GRUB2-versionen. Nogle gange er det muligt, at når BIOS starter GRUB2, lander det i problemet med intet 'operativfilsystem' eller "ukendt filsystem".
Fejlen antyder, at GRUB ikke kan finde det rigtige operativsystem til at indlæse og lokalisere gruben.CFG-fil i den forkerte partition. Dette sker, når brugeren installerer Windows efter Linux OS og BIOS identificerer diske i den forkerte rækkefølge, da windows starter sin bootloader på Master Boot Record (MBR).
Fejlen ser sådan ud:
fejl: ukendt filsystem.grub redning> _
I dette afsnit vil vi diskutere to måder at gendanne distributionen fra Grub Rescue:
METODE I
Gå ind i ls kommando i grub-redningsterminalen for at liste alle drev og tilgængelige partitioner.
grub> ls(hd0), (hd0, msdos1) (hd0, msdos2)
Vælg den partition, der indeholder den installerede distribution. Generelt startes den fra den første partition; hvis ikke, udsender den en fejlmeddelelse. Kør følgende kommandoer for at søge i grub-konfigurationsfilen i grub2-biblioteket:
grub> ls (hd0, msdos1) /grub> ls (hd0, msdos1) / grub2
enhed.kort skrifttyper grub.cfg grub.cfg.1590068449.rpmsave grubenv i386-pc lokalitet
Type sæt root = (hd0, msdos1) for at starte systemet. Brug nu sæt præfiks kommando til at definere stien til grub2-biblioteket. Type insmod normal kommando til at genstarte systemet. Efter genstart skal du åbne terminalen for at opdatere GRUB.
[e-mail-beskyttet]: ~ $ sudo update-grubDet sidste trin er at installere GRUB på MBR (Master Boot Record), da windows starter sin bootloader på den. Dette trin kræver montering af rodpartitionen / dev / sda1 i / mnt-biblioteket.
[e-mail-beskyttet]: ~ $ sudo mount / dev / sda1 / mnt[e-mail-beskyttet]: ~ $ sudo grub-install - root-directory = / mnt / / dev / sda
Systemet kan muligvis ikke starte gennem insmod normal kommando, hvilket kan ske på grund af et elendigt filsystem med manglende grub.conf-fil. Problemet kræver, at brugeren starter i systemet via en live USB / CD af distributionen. Lad os diskutere en anden ideel teknik til redning af GRUB2.
METODE II
Boot-Repair er et grafisk værktøj, der tilbyder en ideel løsning til GRUB-problemer. Start op på skrivebordet via en live flytbar USB / CD. Sørg for, at enheden er forbundet til internettet, og tryk på Ctrl + Alt + T for at åbne terminalen. Installer nu boot reparationsværktøjet:
[e-mail-beskyttet]: ~ $ sudo add-apt-repository -y ppa: yannubuntu / boot-repair[e-mail-beskyttet]: ~ $ sudo apt-get opdatering
[e-mail-beskyttet]: ~ $ sudo apt-get install -y boot-repair && boot-repair
Følg de anbefalede muligheder for at reparere systemet. Genstart dit system, når Boot Repair har anvendt alle ændringer. OS starter normalt.
Netværksfejlfinding
For almindelige brugere sker netværksforbindelse automatisk, så snart brugeren tilslutter Ethernet-kablet eller giver loginoplysninger til et Wi-Fi-netværk. Netværksadministration og fejlfinding er dog et afgørende sæt opgaver for enhver systemadministrator. Derfor tilbyder Linux kommandolinjeværktøjer til at håndtere ledelses- og forbindelsesproblemer.
I dette afsnit diskuterer vi udgående og indgående netværksforbindelsesproblemer og dækker Linux-værktøjer til at levere løsninger til dem på en bekvem måde.
Udgående forbindelser
Linux tilbyder IP kommando som et alsidigt netværksværktøj til at konfigurere netværket og løse forbindelsesproblemer. Det manipulerer alle netværksobjekter såsom IP-adresser, ruter og links osv.
Inden du begynder, skal du bruge IP kommando for at se det fungerende netværksinterface.
[e-mail beskyttet]: ~ $ ip addr showHvis der ikke er nogen tilgængelig grænseflade, skal du kontrollere, om hardwaren er deaktiveret. Men hvis det er op og stadig er forbundet til værten, skal du bruge rute kommando for at kontrollere værten.
[e-mailbeskyttet]: ~ $ ruteStandardlinjen repræsenterer standardgatewayen (routeren), som maskinen har adgang til via et fungerende interface-kort. Linux tilbyder ping værktøj til at teste forbindelsen mellem din enhed og routeren.
[e-mail-beskyttet]: ~ $ ping -c 5Fejlen antyder, at routeren enten ikke er fysisk tilsluttet eller slukket. Men hvis pingen er vellykket, skal du prøve at nå en adresse ud over routeren, for eksempel global Google DNS-server 8.8.8.8.
[e-mail-beskyttet]: ~ $ ping -c 5 8.8.8.8En vellykket ping antyder, at problemet er med værtsnavn-til-adresse-opløsning. Den DNS-server, der bruges af systemet, tilføjes enten manuelt eller automatisk fra DHCP-serveren, når netværksgrænsefladen starter. Kontroller detaljerne (navne og IP-adresser) for DNS-serveren fra / etc / resolution.conf-fil.
navneserver 192.168.11.12navneserver 192.168.11.253
Vi kan løse problemer med værtsnavnet som følger:
Det er muligt, at serveren er nede, eller at brugeren tildeles den forkerte DNS-serveradresse. Bemærk navneserver adresser fra beslutte.konf fil, og kontroller, om den er tilgængelig via en ping-kommando.
[e-mail-beskyttet]: ~ $ ping -c 3 192.168.11.253Brug Domain Information groper (DIG) -værktøjet til at kontrollere, om DNS fungerer. Det vil sige kontrollere, om DNS-serveradressen 192.168.11.253 løser værtsnavnet til en IP-adresse.
[e-mail-beskyttet]: ~ $ dig @ 115.186.188.3 www.google.comDet er lidt vanskeligt at korrigere en DNS-server. Hvis netværksadministratoren er ansvarlig for styring af tilslutningsopgaven, tilsidesætter den navneserverposter i / etc / resolution.conf-fil. Cd i / etc / sysconfig / network-scripts biblioteket for at tilføje følgende linje i ifcfg-filen for at løse problemet.
[e-mail-beskyttet]: ~ $ sudo vim / etc / sysconfig / network-scripts / ifcfgPEERDNS = nej
DNS1 =
I tilfælde af en separat netværkstjeneste skal du tilføje PEERDNS = ingen linje at løse.conf-fil.
Indgående forbindelser
For et Linux-system konfigureret som en Apache-server skal webserveren få adgang til klienten. Hvis klienten ikke kan nå serveren via en webbrowser, kan du bruge de ovennævnte ping-, grave- eller traceroute-kommandoer uden for serveren til at spore problemer. Nogle af de andre måder at foretage fejlfinding på indgående forbindelser inkluderer:
Brug nmap for at kontrollere tilgængeligheden af tjenesten via åbne porte på serveren. Brug nmap-kommandoen med værtsnavnet / IP-adressen til at inspicere åbne porte.
[e-mail-beskyttet]: ~ $ nmapDen åbne port 80/443 STATE antyder, at netværksforbindelsen er fin. Hvis ikke, accepterer firewallen ikke pakker fra disse porte. Desuden er den ikke filtreret, og tilstanden er lukket, hvilket betyder, at tjenesten ikke er konfigureret korrekt, eller at den ikke lytter til 80/443 porte.
Hvis systemet bruger ufw og indstiller til standard firewallpolitikken, vil den blokere enhver indgående forbindelse. Indstil firewallen for at give klienter adgang til TCP 80/443 porte:
[e-mail-beskyttet]: ~ $ sudo ufw tillader 80[e-mail-beskyttet]: ~ $ sudo ufw tillader 443
Hvis det stadig blokerer indgående forbindelser, skal du bruge sudo ufw status kommando for at lede efter de nægtede værter og få adgang til dem via følgende kommando.
[e-mail-beskyttet]: ~ $ sudo ufw tillad fraHvis adgang til 80/443 porte er aktiveret, og alle indgående netværk kan få adgang til serveren. Det er tid til at kontrollere serverstatus:
[e-mail-beskyttet]: ~ $ sudo systemctl status httpdTil sidst skal du kontrollere, om serveren lytter til passende grænseflader og porte. Derfor for de tjenester som httpd, der lytter efter anmodninger om grænseflader. Rediger hovedkonfigurationsfilen for at gøre det muligt for tjenesten at lytte på port 80 for en bestemt adresse eller alle adresser.
[e-mail-beskyttet]: ~ $ sudo cd / etc / httpd / conf / httpd.konfLyt 80
Lyt 192.168.11.10:80
Fejlfinding af systembelastning
Linux leveres med mange værktøjer, der ser systemaktiviteter og finder ud af problemer, der ikke har nogen åbenbare grunde. Systemet fungerer altså fint, men begynder at bremse og begynder at gå ned på applikationer. Disse forskellige Linux-hjælpeprogrammer hjælper med at finde ud af processer, der forbruger hukommelsesressourcer og dræner maskinen for dens diskplads, processorer og netværksbåndbredde.
Nogle af årsagerne til system ustabilitet inkluderer begrænset kapacitet, dvs.e., lav hukommelse, diskplads, netværkskapacitet og processorkraft med forkert konfigurerede applikationer. Hjælpeprogrammerne tilbyder dog måder at administrere, manipulere og løse sådanne problemer på. Lad os foretage fejlfinding af begrænset hukommelse og overdreven CPU-forbrugsproblemer.
Hukommelsesbrug
Kør top kommando med kapital M for at klassificere procesoplysninger efter hukommelsesforbrug. Kommandooutputtet giver generel information efterfulgt af RAM, swap-plads og CPU-forbrug. Hvis det ser ud til, at systemet ikke har plads til hukommelse (OOM), skal du kigge efter disse ting:
- Bemærk det ledige rum i Mem-linjen: det skal være nul eller tæt på det.
- Kontroller det anvendte swap-område: det skal være ikke-nul eller vokse.
- Siden den top kommando viser information hvert 5. sekund igen, se efter processen med en hukommelseslækage, det vil sige kontrollere, om RES-hukommelsen fortsætter med at vokse.
- Kernen begynder at dræbe processen, når swap-pladsen løber tør.
Den mulige måde at fejlfinde sådanne problemer på er at enten:
Dræber processen
Drabkommandoen sender et dræbningssignal for at afslutte en proces. De mest anvendte signaler til fejlfinding af problemer uden for hukommelsen er SIGKILL og SIGTERM. Imidlertid reagerer forskellige processer forskelligt på signaler.
Bemærk f.eks. PID og brug dræbe kommando til at sende SIGTERM-signalet.
[e-mail-beskyttet]: ~ $ kill -15 PIDSIGTERM / -15 signalet sigter mod at afslutte processen, men lejlighedsvis dræber det ikke processen. Derfor kan dette kræve, at SIGKILL / -9-signalet dræber processen med det samme.
[e-mail-beskyttet]: ~ $ kill -SIGKILL PIDDrop caches
Slip inaktive cache-sider for at rense hukommelsen for øjeblikket. Slip cachelagrede sider, skriv et par hukommelsessider til disken, da systemet muligvis vil hente det senere, mens det kasserer resten.
Lad den øverste kommando køre i terminalen, og kør den givne kommando i en anden terminal for at se MEM-linjeskift:
[e-mail-beskyttet]: ~ $ echo 3> / proc / sys / vm / drop_cachesBrug Alt + SysRq tastetryk
Hukommelsesudmattelse kan undertiden gøre GUI eller shell fuldstændig ikke reagerer. Dette scenarie kræver brug af Alt + SysRq-tastetryk på et system, der ikke reagerer. Sådan at kernen behandler sin anmodning inden enhver anden proces.
Kør følgende kommando for at kontrollere, om den er aktiveret:
[e-mailbeskyttet]: ~ $ cat / proc / sys / kernel / sysrq076
Værdien '0' viser, at tastetrykket ikke er aktiveret. For at aktivere dette tastetryk skal du gå til / etc / sysctl.conf-fil og indstil kerne.sysrq = 1. Eller sæt kerne.sysrq = 1 ved hjælp af følgende kommando.
[e-mail-beskyttet]: ~ $ sudo echo "1"> / proc / sys / kernel / sysrqPå de fleste tastaturer er SysRq en 'PrtSc' -tast.
Tryk på Alt + SysRq + f fra den tekstbaserede grænseflade for at dræbe processen med den højeste OOM-score. Bliv ved med at trykke på disse tastetryk, indtil systemet vender tilbage til sin normale brugbare tilstand.
CPU-belastning
De ovennævnte teknikker kan også kontrollere og rette op på processen, der forbruger for store CPU-ressourcer og fratager systemet dets funktionalitet. Linux tilbyder dog en anden metode, der begrænser systemprocesser fra at aflevere CPU-ressourcerne.
Forny processen
Brug den øverste kommando til at give alle detaljer og bemærk proces-id (PID), der anmoder om flere CPU-ressourcer. Skriv følgende kommando, der indstiller den fremragende værdi mellem -20 til 19, i.e., jo højere værdi, jo lavere bliver adgangsprocessen til CPU'en.
[e-mail-beskyttet]: ~ $ nice +18 PIDEller bemærk PID's NI (pæne) værdi. For en lav NI-værdi skal du reducere CPU-adgangsrettighederne for den pågældende proces ved at tilbagekalde den fremragende værdi ved hjælp af renice-kommandoen:
[e-mail-beskyttet]: ~ $ renice -n +18 PIDKonklusion
Artiklen dækker alle nødvendige Linux-hjælpeprogrammer for at give begyndere mulighed for at foretage fejlfinding af Linux-problemer, der er relevante for systemindlæsning, hardwareproblemer, GRUB og netværk.