Open Source

Allgemeines GNU/Linux-Handbuch zur Fehlerbehebung für Anfänger

Allgemeines GNU/Linux-Handbuch zur Fehlerbehebung für Anfänger

Beheben von Hardwareproblemen

Wenn der Kernel startet, lädt er die erforderlichen Hardwaretreiber und Module mit allen Meldungen, die Details zu Hardwarefehlern enthalten. Aber die Meldungen scrollen viel zu schnell nach oben und es ist unmöglich, einen guten Überblick über mögliche Hardwareprobleme zu bekommen. Die während des Kernel-Boot-Vorgangs angezeigten Meldungen werden jedoch im Kernel-Ringpuffer gespeichert.

Verwenden Sie beim Hochfahren des Systems die dmesg Befehl zum Schreiben dieser Nachrichten in ein Nachricht.TXT Datei.

[email protected]:~$ dmesg > /tmp/msg.TXT
[email protected]:~$ weniger /tmp/kernel_msg.TXT

Die gespeicherten Nachrichten können später überprüft oder an jemanden gesendet werden, um das Problem zu beheben.

Eine andere Möglichkeit, diese Nachrichten zu lesen, besteht darin, die Dateien /var/log/dmesg oder /var/log/messages zu überprüfen, ob sie vorhanden sind.

Einige Linux-Systeme, die systemd unterstützen, speichern diese Nachrichten im systemd-Journal. Verwenden Sie die journalctl Befehl zum Überprüfen der Kernel-Meldungen:

[email protected]:~$ journalctl -k | Weniger

Suchen Sie nach Meldungen, die den Ausfall von Hardwarefunktionen oder das Laden von Treibern fehlschlagen.

GRUB-Rettung

GRUB ist ein von Distributionen installiertes Softwareprogramm, das das Kernel-basierte Betriebssystem bootet. Derzeit verwenden alle Linux-Distributionen die GRUB2-Version. Manchmal ist es möglich, dass das BIOS beim Starten von GRUB2 auf das Problem "kein 'betriebsfähiges Dateisystem' oder "unbekanntes Dateisystem"" stößt.

Der Fehler deutet darauf hin, dass GRUB nicht das richtige Betriebssystem zum Laden und Lokalisieren des Grub finden kann.cfg-Datei in der falschen Partition. Dies geschieht, wenn der Benutzer Windows installiert, nachdem das Linux-Betriebssystem und das BIOS die Festplatten in der falschen Reihenfolge identifiziert haben, da das Windows seinen Bootloader auf Master Boot Record (MBR) startet.

Der Fehler sieht so aus:

Fehler: unbekanntes Dateisystem.
Grub-Rettung > _

In diesem Abschnitt werden zwei Möglichkeiten zum Wiederherstellen der Distribution von Grub Rescue beschrieben:

METHODE I

Geben Sie die ls Befehl im Grub-Rescue-Terminal, um alle Laufwerke und verfügbaren Partitionen aufzulisten.

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

Wählen Sie die Partition aus, die die installierte Distribution enthält. Im Allgemeinen wird es von der ersten Partition gebootet; wenn nicht, gibt es eine Fehlermeldung aus. Führen Sie die folgenden Befehle aus, um die Grub-Konfigurationsdatei im Grub2-Verzeichnis zu durchsuchen:

grub > ls (hd0,msdos1)/
grub > ls (hd0,msdos1)/grub2
Gerät.Kartenschriftarten grub.cfg grub.cfg.159068449.rpmsave grubenv i386-pc Gebietsschema

Art set root=(hd0,msdos1) um das System zu booten. Verwenden Sie jetzt die Präfix setzen Befehl zum Definieren des Pfads zum grub2-Verzeichnis. Art insmod normal Befehl zum Neustart des Systems. Öffnen Sie nach dem Neustart das Terminal, um GRUB zu aktualisieren.

[email protected]:~$ sudo update-grub

Der letzte Schritt besteht darin, GRUB auf MBR (Master Boot Record) zu installieren, während Windows seinen Bootloader darauf startet. Dieser Schritt erfordert das Mounten der Root-Partition /dev/sda1 im Verzeichnis /mnt.

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

Das System bootet möglicherweise nicht über die insmod normal Befehl, der aufgrund eines miesen Dateisystems von fehlendem Grub passieren kann.conf-Datei. Das Problem erfordert, dass der Benutzer das System über einen Live-USB / eine Live-CD der Distribution booten muss. Lassen Sie uns eine weitere ideale Technik zur Rettung von GRUB2 besprechen rescue.

METHODE II

Boot-Repair ist ein grafisches Tool, das eine ideale Lösung für GRUB-Probleme bietet. Booten Sie in den Desktop über einen Live-Wechsel-USB/-CD. Stellen Sie sicher, dass das Gerät mit dem Internet verbunden ist und drücken Sie Strg+Alt+T, um das Terminal zu öffnen. Installieren Sie nun das Boot-Reparatur-Tool:

[email protected]:~$ sudo add-apt-repository -y ppa:yannubuntu/boot-repair
[email protected]:~$ sudo apt-get update
[email protected]:~$ sudo apt-get install -y boot-repair && boot-repair

Befolgen Sie die empfohlenen Optionen, um das System zu reparieren. Starten Sie Ihr System neu, nachdem die Boot-Reparatur alle Änderungen übernommen hat. Das Betriebssystem bootet normal.

Netzwerk-Fehlerbehebung

Für normale Benutzer wird die Netzwerkverbindung automatisch hergestellt, sobald der Benutzer das Ethernet-Kabel einsteckt oder Anmeldeinformationen für ein Wi-Fi-Netzwerk bereitstellt. Netzwerkverwaltung und Fehlerbehebung sind jedoch für jeden Systemadministrator eine wichtige Aufgabe. Daher bietet Linux Befehlszeilentools, um Management- und Konnektivitätsprobleme zu lösen.

In diesem Abschnitt besprechen wir ausgehende und eingehende Netzwerkverbindungsprobleme und behandeln Linux-Tools, um sie auf bequeme Weise zu lösen.

Ausgehende Verbindungen

Linux-Angebote IP Befehl als Allround-Netzwerkdienstprogramm zum Konfigurieren des Netzwerks und Beheben von Konnektivitätsproblemen. Es manipuliert alle Netzwerkobjekte wie IP-Adressen, Routen und Links usw.

Bevor Sie beginnen, verwenden Sie die IP Befehl zum Anzeigen der funktionierenden Netzwerkschnittstelle.

[email protected]:~$ ip addr show

Falls keine Schnittstelle verfügbar ist, überprüfen Sie, ob die Hardware deaktiviert ist. Wenn es jedoch aktiv ist und noch mit dem Host verbunden ist, verwenden Sie das Route Befehl zum Überprüfen des Hosts check.

[email protected]:~$ Route

Die Standardzeile stellt das Standard-Gateway (Router) dar, auf das das Gerät über eine funktionierende Schnittstellenkarte zugreift. Linux-Angebote Klingeln Dienstprogramm zum Testen der Konnektivität zwischen Ihrem Gerät und dem Router.

[email protected]:~$ ping -c 5

Der Fehler deutet darauf hin, dass der Router entweder physisch nicht verbunden oder ausgeschaltet ist. Wenn der Ping jedoch erfolgreich ist, versuchen Sie, eine Adresse außerhalb des Routers zu erreichen, beispielsweise den globalen Google DNS-Server 8.8.8.8.

[email protected]:~$ ping -c 5 8.8.8.8

Ein erfolgreicher Ping deutet darauf hin, dass das Problem bei der Auflösung von Hostname zu Adresse liegt. Der vom System verwendete DNS-Server wird entweder manuell oder automatisch vom DHCP-Server hinzugefügt, wenn die Netzwerkschnittstelle initiiert wird. Überprüfen Sie die Details (Namen und IP-Adressen) des DNS-Servers aus der /etc/resolve.conf-Datei.

Nameserver 192.168.11.12
Nameserver 192.168.11.253

Wir können die Probleme mit dem Hostnamen wie folgt lösen:

Es ist möglich, dass der Server ausgefallen ist oder dem Benutzer die falsche DNS-Serveradresse zugewiesen wurde. Beachten Sie das Name Server Adressen aus der Entschlossenheit.conf Datei und prüfen Sie, ob sie über einen Ping-Befehl zugänglich ist.

[email protected]:~$ ping -c 3 192.168.11.253

Verwenden Sie das Dienstprogramm Domain Information Groper (DIG), um zu überprüfen, ob das DNS funktioniert. Das heißt, überprüfen Sie, ob die DNS-Serveradresse 192.168.11.253 löst den Hostnamen in eine IP-Adresse auf.

[email protected]:~$ dig @115.186.188.3 www.Google.com

Das Korrigieren eines DNS-Servers ist etwas knifflig. Wenn der Network Manager für die Verwaltung der Konnektivitätsaufgabe verantwortlich ist, überschreibt er die Nameserver-Einträge in /etc/resolve.conf-Datei. Cd in das Verzeichnis /etc/sysconfig/network-scripts, um die folgende Zeile in der ifcfg-Datei hinzuzufügen, um das Problem zu beheben.

[email protected]:~$ sudo vim /etc/sysconfig/network-scripts/ifcfg
PEERDNS=nein
DNS1=

Bei einem separaten Netzwerkdienst fügen Sie die Zeile PEERDNS=no zum Auflösen hinzu.conf-Datei.

Eingehende Verbindungen

Für ein Linux-System, das als Apache-Server konfiguriert ist, muss der Client auf den Webserver zugreifen. Wenn der Client den Server nicht über einen Webbrowser erreichen kann, können Sie die oben besprochenen Ping-, Dig- oder Traceroute-Befehle von außerhalb des Servers verwenden, um Probleme zu verfolgen. Einige der anderen Möglichkeiten zur Fehlerbehebung bei eingehenden Verbindungen sind:

Benutzen nmap um die Verfügbarkeit des Dienstes über offene Ports auf dem Server zu prüfen. Verwenden Sie den Befehl nmap mit dem Hostnamen/der IP-Adresse, um offene Ports zu überprüfen.

[email protected]:~$ nmap

Der offene Port 80/443 STATE deutet darauf hin, dass die Netzwerkkonnektivität in Ordnung ist. Wenn nicht, akzeptiert die Firewall keine Pakete von diesen Ports. Darüber hinaus wird es nicht gefiltert und der Status ist geschlossen, was bedeutet, dass der Dienst nicht richtig konfiguriert ist oder nicht auf 80/443-Ports lauscht.

Wenn das System verwendet ufw und stellt die Standard-Firewall-Richtlinie ein, wird jede eingehende Verbindung blockiert. Stellen Sie die Firewall so ein, dass Clients den Zugriff auf TCP 80/443-Ports ermöglichen:

[email protected]:~$ sudo ufw erlauben 80
[email protected]:~$ sudo ufw erlauben 443

Wenn es immer noch eingehende Verbindungen blockiert, verwenden Sie die sudo ufw-Status Befehl, um nach den abgelehnten Hosts zu suchen und über den folgenden Befehl darauf zuzugreifen:.

[email protected]:~$ sudo ufw erlauben von

Wenn der Zugriff auf 80/443-Ports aktiviert ist und alle eingehenden Netzwerke auf den Server zugreifen können. Es ist Zeit, den Serverstatus zu überprüfen:

[email protected]:~$ sudo systemctl status httpd

Überprüfen Sie abschließend, ob der Server auf geeignete Schnittstellen und Ports lauscht. Daher für Dienste wie httpd, die auf Anfragen an Schnittstellen lauschen. Bearbeiten Sie die Hauptkonfigurationsdatei, damit der Dienst Port 80 auf eine bestimmte Adresse oder alle Adressen überwachen kann.

[email protected]:~$ sudo cd /etc/httpd/conf/httpd.conf
Hören Sie 80
Hören 192.168.11.10:80

Fehlerbehebung bei Systemlast

Linux wird mit vielen Dienstprogrammen geliefert, die Systemaktivitäten überwachen und Probleme ohne ersichtlichen Grund herausfinden. Das heißt, das System funktioniert einwandfrei, wird jedoch langsamer und stürzt Anwendungen ab. Diese verschiedenen Linux-Dienstprogramme helfen dabei, Prozesse zu ermitteln, die Speicherressourcen verbrauchen und dem Computer Speicherplatz, Prozessoren und Netzwerkbandbreite entziehen.

Einige der Gründe für die Systeminstabilität sind begrenzte Kapazitäten, d.e., geringer Arbeitsspeicher, Festplattenspeicher, Netzwerkkapazität und Verarbeitungsleistung bei falsch konfigurierten Anwendungen. Die Dienstprogramme bieten jedoch Möglichkeiten, solche Probleme zu verwalten, zu manipulieren und zu beheben. Lassen Sie uns Probleme mit begrenztem Speicher und übermäßigem CPU-Verbrauch beheben.

Speichernutzung

Führen Sie die oben Befehl mit Kapital M um Prozessdetails nach Speicherverbrauch zu klassifizieren. Die Befehlsausgabe liefert allgemeine Informationen, gefolgt von RAM, Swap-Speicher und CPU-Verbrauch. Wenn es den Anschein hat, dass das System nicht genügend Arbeitsspeicher (OOM) hat, suchen Sie nach diesen Dingen:

  • Beachten Sie den freien Platz in der Mem-Zeile: Er muss null oder in der Nähe davon sein.
  • Überprüfen Sie den verwendeten Swap-Speicherplatz: Er muss nicht Null sein oder wächst.
  • Seit der oben Befehl zeigt alle 5 Sekunden Informationen neu an, suchen Sie nach dem Prozess mit einem Speicherleck, dh prüfen Sie, ob der RES-Speicher weiter wächst.
  • Der Kernel beginnt, den Prozess zu beenden, wenn der Swap-Speicherplatz erschöpft ist.

Sie können solche Probleme folgendermaßen beheben:

Den Prozess töten

Der Kill-Befehl sendet ein Kill-Signal, um einen Prozess zu beenden. Die am häufigsten verwendeten Signale zur Behebung von Problemen mit unzureichendem Speicher sind SIGKILL und SIGTERM. Unterschiedliche Prozesse reagieren jedoch unterschiedlich auf Signale.

Notieren Sie sich beispielsweise die PID und verwenden Sie die töten Befehl zum Senden des SIGTERM-Signals.

[email protected]:~$ kill -15 PID

Das Signal SIGTERM/-15 zielt darauf ab, den Prozess zu beenden, aber gelegentlich beendet es den Prozess nicht. Daher kann es erforderlich sein, dass das Signal SIGKILL/-9 den Prozess sofort beendet kill.

[email protected]:~$ kill -SIGKILL PID

Seitencaches löschen

Um den Speicher für den Moment zu bereinigen, löschen Sie inaktive Cache-Seiten. Löschen Sie zwischengespeicherte Seiten und schreiben Sie einige Speicherseiten auf die Festplatte, da das System sie möglicherweise später abrufen möchte, während es den Rest verwirft.

Lassen Sie den Befehl top im Terminal ausgeführt und führen Sie den angegebenen Befehl in einem anderen Terminal aus, um die Änderung der MEM-Zeile anzuzeigen:

[email protected]:~$ echo 3 > /proc/sys/vm/drop_caches

Verwenden Sie die Tastenkombination Alt+SysRq

Die Erschöpfung des Speichers kann manchmal dazu führen, dass die GUI oder Shell vollständig nicht mehr reagiert. Dieses Szenario erfordert die Verwendung der Tastenkombination Alt+SysRq auf einem nicht reagierenden System. So dass der Kernel seine Anfrage vor allen anderen Prozessen verarbeitet.

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob er aktiviert ist:

[email protected]:~$ cat /proc/sys/kernel/sysrq
076

Der Wert '0' zeigt an, dass der Tastenanschlag nicht aktiviert ist. Um diesen Tastendruck zu aktivieren, gehen Sie zu /etc/sysctl.conf-Datei und legen Sie die Kernel.sysrq=1. Oder setze Kernel.sysrq=1 mit dem folgenden Befehl.

[email protected]:~$ sudo echo "1" >/proc/sys/kernel/sysrq

Bei den meisten Tastaturen ist SysRq eine 'PrtSc'-Taste.

Drücken Sie Alt+SysRq+f in der textbasierten Benutzeroberfläche, um den Prozess mit der höchsten OOM-Punktzahl zu beenden. Halten Sie diese Tastenanschläge gedrückt, bis das System in seinen normalen Betriebszustand zurückkehrt.

CPU-Last

Die oben besprochenen Techniken können auch den Prozess überprüfen und beheben, der übermäßige CPU-Ressourcen verbraucht und dem System seine Funktionalität beraubt. Linux bietet jedoch eine andere Methode, die Systemprozesse daran hindert, die CPU-Ressourcen zu speisen.

Renice den Prozess

Verwenden Sie den oberen Befehl, um alle Details anzuzeigen und notieren Sie die Prozess-ID (PID), die mehr CPU-Ressourcen anfordert. Geben Sie den folgenden Befehl ein, der den ausgezeichneten Wert zwischen -20 bis 19 festlegt, i.e., je höher der Wert, desto niedriger wird der Zugriff auf die CPU.

[email protected]:~$ nett +18 PID

Oder beachten Sie den NI (schönen) Wert des PID. Verringern Sie für einen niedrigen NI-Wert die CPU-Zugriffsberechtigungen dieses bestimmten Prozesses, indem Sie den ausgezeichneten Wert mit dem Befehl renice widerrufen:

[email protected]:~$ renice -n +18 PID

Fazit

Der Artikel behandelt alle notwendigen Linux-Dienstprogramme, um es Anfängern zu ermöglichen, Linux-Probleme zu beheben, die für die Systemlast, Hardwareprobleme, GRUB und das Netzwerk relevant sind.

Beste Spiele zum Spielen mit Handtracking
Oculus Quest hat kürzlich die großartige Idee des Hand-Trackings ohne Controller vorgestellt. Mit einer ständig steigenden Anzahl von Spielen und Akti...
So zeigen Sie OSD-Overlay in Vollbild-Linux-Apps und -Spielen an
Das Spielen von Spielen im Vollbildmodus oder die Verwendung von Apps im ablenkungsfreien Vollbildmodus kann Sie von relevanten Systeminformationen ab...
Top 5 Karten zur Spielaufnahme
Wir alle haben Streaming-Gameplays auf YouTube gesehen und geliebt. PewDiePie, Jakesepticye und Markiplier sind nur einige der Top-Gamer, die Millione...