Hardwareproblemen oplossen
Wanneer de kernel start, laadt het de benodigde hardwarestuurprogramma's en modules met alle berichten die details over hardwarefouten bevatten. Maar de berichten scrollen veel te snel omhoog en het is onmogelijk om een goed beeld te krijgen van mogelijke hardwareproblemen. De berichten die tijdens het opstartproces van de kernel worden weergegeven, worden echter opgeslagen in de kernelringbuffer.
Terwijl het systeem opstart, gebruikt u de dmesg commando om deze berichten in een bericht.tekst het dossier.
[e-mail beveiligd]:~$ dmesg > /tmp/msg.tekst[e-mail beveiligd]:~$ minder /tmp/kernel_msg.tekst
De opgeslagen berichten kunnen later worden bekeken of naar iemand worden gestuurd om het probleem op te lossen.
Een andere manier om deze berichten te lezen is door de bestanden /var/log/dmesg of /var/log/messages te controleren als ze bestaan.
Sommige Linux-systemen die systemd ondersteunen, slaan deze berichten op in het systemd-journaal. Gebruik de journaal commando om de kernelberichten te controleren:
[e-mail beveiligd]:~$ journalctl -k | minderControleer op de berichten die het falen van hardwarefuncties aangeven of het niet laden van stuurprogramma's.
GRUB redding
GRUB is een softwareprogramma geïnstalleerd door distributies dat het op kernel gebaseerde besturingssysteem opstart. Momenteel gebruiken alle Linux-distributies de GRUB2-versie. Soms is het mogelijk dat wanneer het BIOS de GRUB2 start, het in het probleem terechtkomt van geen 'besturingssysteem' of 'onbekend bestandssysteem'.
De fout suggereert dat de GRUB het juiste besturingssysteem niet kan vinden om de grub te laden en te lokaliseren.cfg-bestand in de verkeerde partitie. Dit gebeurt wanneer de gebruiker Windows installeert nadat Linux OS en BIOS schijven in de verkeerde volgorde identificeert, omdat Windows de bootloader start op Master Boot Record (MBR).
De fout ziet er als volgt uit:
fout: onbekend bestandssysteem.grub redding > _
In deze sectie bespreken we twee manieren om de distributie van Grub Rescue te herstellen:
METHODE I
Voer de in ls commando in de grub-reddingsterminal om alle schijven en beschikbare partities weer te geven.
grub> ls(hd0),(hd0,msdos1)(hd0,msdos2)
Selecteer de partitie die de geïnstalleerde distributie bevat. Over het algemeen wordt het opgestart vanaf de eerste partitie; zo niet, dan geeft het een foutmelding. Voer de volgende opdrachten uit om het grub-configuratiebestand in de grub2-directory te zoeken:
grub > ls (hd0,msdos1)/grub > ls (hd0,msdos1)/grub2
apparaat.kaart lettertypen grub.cfg grub.cfg.1590068449.rpmsave grubenv i386-pc landinstelling
Type set root=(hd0,msdos1) om het systeem op te starten. Gebruik nu de voorvoegsel instellen commando om het pad naar de map grub2 te definiëren. Type insmod normaal opdracht om het systeem opnieuw op te starten. Open na het opnieuw opstarten de terminal om GRUB bij te werken.
[e-mail beveiligd]:~$ sudo update-grubDe laatste stap is om GRUB op MBR (Master Boot Record) te installeren terwijl Windows de bootloader erop start. Deze stap vereist het aankoppelen van de rootpartitie /dev/sda1 in de /mnt directory.
[e-mail beveiligd]:~$ sudo mount /dev/sda1 /mnt[email protected]:~$ sudo grub-install --root-directory=/mnt/ /dev/sda
Het systeem kan mogelijk niet opstarten via de insmod normaal commando, wat kan gebeuren als gevolg van een waardeloos bestandssysteem van ontbrekende grub.conf bestand. Het probleem vereist dat de gebruiker in het systeem opstart via een live USB/CD van de distributie. Laten we een andere ideale techniek bespreken om GRUB2 te redden.
METHODE II
Boot-Repair is een grafische tool die een ideale oplossing biedt voor GRUB-problemen. Start de desktop op via een live verwijderbare USB/CD. Zorg ervoor dat het apparaat is verbonden met internet en druk op Ctrl+Alt+T om de terminal te openen. Installeer nu de bootreparatietool:
[e-mail beveiligd]:~$ sudo add-apt-repository -y ppa:yannubuntu/boot-repair[e-mail beveiligd]:~$ sudo apt-get update
[email protected]:~$ sudo apt-get install -y boot-repair && boot-repair
Volg de aanbevolen opties om het systeem te repareren. Start uw systeem opnieuw op nadat Boot Repair alle wijzigingen heeft toegepast. Het besturingssysteem zal normaal opstarten.
Netwerkproblemen oplossen
Voor gewone gebruikers vindt netwerkverbinding automatisch plaats zodra de gebruiker de Ethernet-kabel aansluit of inloggegevens voor een Wi-Fi-netwerk verstrekt. Netwerkbeheer en probleemoplossing zijn echter een cruciale reeks taken voor elke systeembeheerder. Daarom biedt Linux opdrachtregelprogramma's om beheer- en verbindingsproblemen op te lossen.
In deze sectie bespreken we uitgaande en inkomende netwerkverbindingsproblemen en behandelen we Linux-tools om ze op een gemakkelijke manier op te lossen.
Uitgaande verbindingen
Linux biedt IK P opdracht als een allround netwerkhulpprogramma om het netwerk te configureren en verbindingsproblemen op te lossen. Het manipuleert alle netwerkobjecten zoals IP-adressen, routes en links, enz.
Gebruik voordat u begint de IK P opdracht om de werkende netwerkinterface te bekijken.
[email protected]:~$ ip addr showAls er geen beschikbare interface is, controleer dan of de hardware is uitgeschakeld. Als het echter actief is en nog steeds verbonden is met de host, gebruikt u de route commando om de host te controleren.
[e-mail beveiligd]:~$ routeDe standaardregel vertegenwoordigt de standaardgateway (router) waartoe de machine toegang heeft via een werkende interfacekaart. Linux biedt ping hulpprogramma om de connectiviteit tussen uw apparaat en router te testen.
[e-mail beveiligd]:~$ ping -c 5De fout suggereert dat de router fysiek niet is aangesloten of is uitgeschakeld. Als de ping echter succesvol is, probeer dan een adres buiten de router te bereiken, bijvoorbeeld de wereldwijde Google DNS-server.8.8.8.
[e-mail beveiligd]:~$ ping -c 5 8.8.8.8Een succesvolle ping suggereert dat het probleem ligt bij de hostnaam-naar-adres-resolutie. De DNS-server die door het systeem wordt gebruikt, wordt handmatig of automatisch toegevoegd vanaf de DHCP-server wanneer de netwerkinterface wordt gestart. Controleer de details (namen en IP-adressen) van de DNS-server in /etc/resolve.conf bestand.
naamserver 192.168.11.12naamserver 192.168.11.253
We kunnen de hostnaamproblemen als volgt oplossen:
Het is mogelijk dat de server niet beschikbaar is of dat de gebruiker het verkeerde DNS-serveradres heeft gekregen. Merk op naam server adressen van de oplossen.conf bestand en controleer of het toegankelijk is via een ping-opdracht.
[e-mail beveiligd]:~$ ping -c 3 192.168.11.253Gebruik het hulpprogramma Domain Information groper (DIG) om te controleren of de DNS werkt. Dat wil zeggen, controleer of het DNS-serveradres 192.168.11.253 zet de hostnaam om in een IP-adres.
[e-mail beveiligd]:~$ dig @115.186.188.3 www.google.comHet corrigeren van een DNS-server is een beetje lastig. Als de netwerkbeheerder verantwoordelijk is voor het beheer van de verbindingstaak, overschrijft deze de nameserver-vermeldingen in /etc/resolve.conf bestand. Cd naar de map /etc/sysconfig/network-scripts om de volgende regel toe te voegen aan het ifcfg-bestand om het probleem op te lossen.
[e-mail beveiligd]:~$ sudo vim /etc/sysconfig/network-scripts/ifcfgPEERDNS=nee
DNS1=
In het geval van een aparte netwerkservice, voeg de PEERDNS=no line to resolve.conf bestand.
Inkomende verbindingen
Voor een Linux-systeem dat is geconfigureerd als een Apache-server, moet de webserver toegang krijgen tot de client. Als de client de server niet via een webbrowser kan bereiken, kunt u de hierboven besproken ping-, dig- of traceroute-opdrachten van buiten de server gebruiken om problemen op te sporen. Enkele van de andere manieren om problemen met inkomende verbindingen op te lossen zijn:
Gebruik nmap om de beschikbaarheid van de dienst te controleren via open poorten op de server. Gebruik de opdracht nmap met de hostnaam/IP-adres om open poorten te inspecteren.
[e-mail beveiligd]:~$ nmapDe open poort 80/443 STATE suggereert dat de netwerkverbinding in orde is. Zo niet, dan accepteert de firewall geen pakketten van die poorten. Bovendien wordt het niet gefilterd en is de status gesloten, wat betekent dat de service niet correct is geconfigureerd of niet luistert op 80/443-poorten.
Als het systeem gebruik maakt van oeps en ingesteld op het standaard firewallbeleid, blokkeert het elke inkomende verbinding. Stel de firewall in om clients toegang te geven tot tcp 80/443-poorten:
[e-mail beveiligd]:~$ sudo ufw 80 . toestaan[email protected]:~$ sudo ufw allow 443
Als het nog steeds inkomende verbindingen blokkeert, gebruik dan de sudo ufw-status commando om naar de geweigerde hosts te zoeken en ze te openen via de volgende opdracht:.
[email protected]:~$ sudo ufw allow fromAls toegang tot 80/443 poorten is ingeschakeld en alle inkomende netwerken toegang hebben tot de server. Het is tijd om de serverstatus te controleren:
[email protected]:~$ sudo systemctl status httpdControleer ten slotte of de server luistert naar geschikte interfaces en poorten. Vandaar, voor de diensten zoals httpd die luisteren naar verzoeken op interfaces. Bewerk het hoofdconfiguratiebestand zodat de service op poort 80 kan luisteren naar een specifiek adres of alle adressen.
[e-mail beveiligd]:~$ sudo cd /etc/httpd/conf/httpd.confLuister 80
Luister 192.168.11.10:80
Problemen met systeembelasting oplossen
Linux wordt geleverd met veel hulpprogramma's die systeemactiviteiten bekijken en problemen oplossen die geen duidelijke reden hebben. Dat wil zeggen, het systeem werkt prima, maar begint te vertragen en begint applicaties te laten crashen. Deze verschillende Linux-hulpprogramma's helpen bij het vinden van processen die geheugenbronnen verbruiken en de machine van zijn schijfruimte, processors en netwerkbandbreedte leegmaken.
Enkele van de redenen achter systeeminstabiliteit zijn onder meer beperkte capaciteit, i.e., weinig geheugen, schijfruimte, netwerkcapaciteit en verwerkingskracht, met verkeerd geconfigureerde applicaties. De hulpprogramma's bieden echter manieren om dergelijke problemen te beheren, te manipuleren en op te lossen. Laten we problemen met beperkt geheugen en overmatig CPU-verbruik oplossen.
Geheugengebruik
Voer de ... uit top commando met hoofdletter M om procesdetails te classificeren op geheugengebruik. De uitvoer van de opdracht levert algemene informatie op, gevolgd door het RAM-geheugen, de swap-ruimte en het CPU-verbruik. Als blijkt dat het systeem onvoldoende geheugen (OOM) heeft, zoekt u naar deze dingen:
- Let op de vrije ruimte in de Mem-regel: deze moet nul of dichtbij zijn.
- Controleer de gebruikte swapruimte: deze moet niet nul zijn of groeien.
- sinds de top opdracht geeft elke 5 seconden informatie opnieuw weer, zoek naar het proces met een geheugenlek, dat wil zeggen, controleer of het RES-geheugen blijft groeien.
- De kernel begint het proces te beëindigen wanneer de swapruimte opraakt.
De mogelijke manier om dergelijke problemen op te lossen, is door:
Het proces doden
Het kill-commando stuurt een kill-signaal om een proces te beëindigen. De meest gebruikte signalen om problemen met onvoldoende geheugen op te lossen zijn SIGKILL en SIGTERM. Verschillende processen reageren echter verschillend op signalen.
Noteer bijvoorbeeld de PID en gebruik de doden commando om het SIGTERM-signaal te verzenden.
[e-mail beveiligd]:~$ kill -15 PIDHet SIGTERM/-15-signaal is bedoeld om het proces te beëindigen, maar af en toe wordt het proces niet gestopt. Daarom kan het SIGKILL/-9-signaal nodig zijn om het proces onmiddellijk te stoppen.
[email protected]:~$ kill -SIGKILL PIDPaginacaches laten vallen
Om het geheugen voorlopig op te schonen, laat u inactieve cachepagina's vallen. Laat pagina's in de cache vallen, schrijf een paar geheugenpagina's naar de schijf omdat het systeem deze later misschien wil ophalen terwijl de rest wordt weggegooid.
Laat het bovenste commando in de terminal draaien en voer het gegeven commando in een andere terminal uit om de MEM-regel te zien veranderen:
[email protected]:~$ echo 3 > /proc/sys/vm/drop_cachesAlt+SysRq-toetsaanslag gebruiken
Geheugenuitputting kan er soms voor zorgen dat de GUI of shell volledig niet meer reageert. In dit scenario is het gebruik van Alt+SysRq-toetsaanslagen op een niet-reagerend systeem vereist. Zodanig dat de kernel zijn verzoek verwerkt vóór enig ander proces.
Voer de volgende opdracht uit om te controleren of deze is ingeschakeld:
[email protected]:~$ cat /proc/sys/kernel/sysrq076
De waarde '0' geeft aan dat de toetsaanslag niet is ingeschakeld. Om deze toetsaanslag in te schakelen, gaat u naar de /etc/sysctl.conf-bestand en stel de kern.sysrq=1. Of stel kern.sysrq=1 door het volgende commando te gebruiken:.
[email protected]:~$ sudo echo "1" >/proc/sys/kernel/sysrqIn de meeste toetsenborden is de SysRq een 'PrtSc'-toets.
Druk op Alt+SysRq+f vanuit de op tekst gebaseerde interface om het proces met de hoogste OOM-score te beëindigen. Blijf op deze toetsaanslagen drukken totdat het systeem terugkeert naar de normale bruikbare staat.
CPU-belasting
De hierboven besproken technieken kunnen ook het proces controleren en repareren, waarbij buitensporige CPU-bronnen worden verbruikt en het systeem zijn functionaliteit ontneemt. Linux biedt echter een andere methode die ervoor zorgt dat systeemprocessen de CPU-bronnen niet kunnen voeden.
Renice het proces
Gebruik de opdracht top om alle details weer te geven en noteer de proces-ID (PID) die om meer CPU-bronnen vraagt. Typ de volgende opdracht die de uitstekende waarde tussen -20 en 19 instelt, i.e., hoe hoger de waarde, hoe lager het toegangsproces tot de CPU.
[email protected]:~$ nice +18 PIDOf let op de NI (mooie) waarde van de PID. Voor een lage NI-waarde verlaagt u de CPU-toegangsrechten van dat specifieke proces door de excellente waarde in te trekken met het renice-commando:
[e-mail beveiligd]:~$ renice -n +18 PIDConclusie
Het artikel behandelt alle benodigde Linux-hulpprogramma's waarmee beginners Linux-problemen kunnen oplossen die relevant zijn voor systeembelasting, hardwareproblemen, GRUB en netwerken.