GNU/Linux Allgemeiner Fehlerbehebungsleitfaden für Anfänger

GNU/Linux Allgemeiner Fehlerbehebungsleitfaden für Anfänger

Fehlerbehebung Hardwareprobleme

Wenn der Kernel startet, wird die erforderlichen Hardware -Treiber und -Module mit allen Nachrichten geladen, die Hardware -Fehlerdetails enthalten. Aber die Nachrichten scrollen viel zu schnell nach oben, und es ist unmöglich, potenzielle Hardwareprobleme genau zu betrachten. Die während des Kernel -Startvorgangs angezeigten Nachrichten werden jedoch in den Kernel -Ringpuffer gespeichert.

Verwenden Sie die System dmesg Befehl, diese Nachrichten in eine zu schreiben Nachricht.txt Datei.

Ubuntu@Ubuntu: ~ $ DMESG> /TMP /MSG.txt
Ubuntu@Ubuntu: ~ $ $ /tmp /kernel_msg.txt

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

Eine andere Möglichkeit, diese Nachrichten zu lesen.

Einige Linux -Systeme, die Systemd unterstützen, speichern diese Nachrichten im Systemd Journal. Benutze die Journalctl Befehl zum Überprüfen der Kernel -Nachrichten:

Ubuntu@Ubuntu: ~ $ journalctl -k | weniger

Überprüfen Sie die Nachrichten, in denen der Fehler von Hardwarefunktionen angegeben ist oder die Treiber nicht laden konnte.

Grub -Rettung

GRUB ist ein Softwareprogramm, das durch Verteilungen installiert ist, die das Kernel-basierte Betriebssystem startet. Derzeit verwenden alle Linux -Verteilungen die GRUB2 -Version. Manchmal ist es möglich, dass beim Start des BIOS die GRUB2 das Problem eines "Betriebsdateisystems" oder "unbekanntes Dateisystem" landet.

Der Fehler legt nahe, dass das 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 nach Linux -Betriebssystem und BIOS installiert, die in der falschen Reihenfolge die Festplatten identifiziert, da der Windows seinen Bootloader auf dem Master -Boot -Datensatz (MBR) startet.

Der Fehler erscheint so:

Fehler: Unbekanntes Dateisystem.
GRUB RESCUE> _

In diesem Abschnitt werden wir zwei Möglichkeiten erörtern, um die Verteilung von GRUB -Rettung wiederherzustellen:

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 Verteilung 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.Map -Schriftarten mageln.cfg mrub.CFG.1590068449.rpmsave grubenv i386-pc-Gebietsschema

Typ Setzen Sie root = (hd0, msdos1) das System starten. Verwenden Sie nun die Setzen Sie das Präfix Befehl zum Definieren des Pfades zum GRUB2 -Verzeichnis. Typ inmod normal Befehl zum Neustart des Systems. Öffnen Sie nach dem Neustart das Terminal, um grub zu aktualisieren.

Ubuntu@Ubuntu: ~ $ sudo Update-Grub

Der letzte Schritt besteht. Dieser Schritt erfordert die Montage der Stammpartition /Dev /SDA1 im Verzeichnis /mnt.

Ubuntu@Ubuntu: ~ $ sudo montage /dev /sda1 /mnt
Ubuntu@Ubuntu: ~ $ sudo grub-install-Root-directory =/mnt//dev/sda

Das System kann nicht durch die starten inmod normal Befehl, der aufgrund eines miesen Dateisystems fehlender Grub passieren kann.Conf -Datei. Das Problem erfordert, dass der Benutzer das System über einen Live -USB/CD der Verteilung ins System startet. Lassen Sie uns eine andere ideale Technik zur Rettung von GRUB2 diskutieren.

Methode II

Boot-Repair ist ein grafisches Werkzeug, das eine ideale Lösung für GRUB-Probleme bietet. Starten Sie in den Desktop über eine live abnehmbare 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 Startreparaturwerkzeug:

Ubuntu@Ubuntu: ~ $ sudo add-apt-Repository -y PPA: Yannubuntu/Boot-Repair
Ubuntu@Ubuntu: ~ $ sudo Apt-Get-Update
Ubuntu@ubuntu: ~ $ sudo apt-Get Install -y-Start-Repair && Boot-Repair

Befolgen Sie die empfohlenen Optionen zur Reparatur des Systems. Starten Sie Ihr System nach der Startreparatur alle Änderungen an. Das Betriebssystem startet normal.

Fehlerbehebung mit Netzwerk

Für reguläre Benutzer erfolgt die Netzwerkkonnektivität automatisch, sobald die Benutzer im Ethernet-Kabel steckt oder Anmeldeinformationen für ein WLAN-Netzwerk bereitstellt. Die Netzwerkmanagement und die Fehlerbehebung sind jedoch ein entscheidender Satz von Aufgaben für jeden Systemadministrator. Daher bietet Linux Befehlszeilen-Tools an, um mit Management- und Konnektivitätsproblemen umzugehen.

In diesem Abschnitt werden ausgehende und eingehende Netzwerkverbindungsprobleme erörtert und Linux -Tools abdecken, um sie auf bequeme Weise Lösungen zu bieten.

Ausgehende Verbindungen

Linux bietet an IP Befehl als Allround-Netzwerkdienstprogramm zur Konfiguration des Netzwerks und zur Behebung von Konnektivitätsproblemen. Es manipuliert alle Netzwerkobjekte wie IP -Adressen, Routen und Links usw.

Verwenden Sie vor Beginn die IP Befehl zum Anzeigen der Arbeitsnetzwerkschnittstelle.

Ubuntu@Ubuntu: ~ $ IP ADDR Show

Überprüfen Sie im Falle einer verfügbaren Schnittstelle, ob die Hardware deaktiviert ist. Wenn es jedoch weiter ist und immer noch mit dem Host verbunden ist, verwenden Sie die Route Befehl, um den Host zu überprüfen.

Ubuntu@Ubuntu: ~ $ Route

Die Standardzeile repräsentiert das Standard -Gateway (Router), auf das die Maschine über eine Arbeitsschnittstellenkarte zugegriffen wird. Linux bietet an Klingeln Dienstprogramm zum Testen der Konnektivität zwischen Ihrem Gerät und Router.

Ubuntu@Ubuntu: ~ $ ping -c 5

Der Fehler legt nahe, dass der Router entweder physisch nicht verbunden oder ausgeschaltet ist. Wenn der Ping jedoch erfolgreich ist, versuchen Sie, eine Adresse über den Router hinaus zu erreichen, beispielsweise Global Google DNS Server 8.8.8.8.

Ubuntu@Ubuntu: ~ $ Ping -c 5 8.8.8.8

Ein erfolgreiches Ping legt nahe, dass das Problem mit der Auflösung des Hostnamens zuadresse liegt. Der vom System verwendete DNS -Server wird entweder manuell oder automatisch vom DHCP -Server hinzugefügt, wenn die Netzwerkschnittstelle initiiert. Überprüfen Sie die Details (Namen und IP -Adressen) des DNS -Server.Conf -Datei.

Namenserver 192.168.11.12
Namenserver 192.168.11.253

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

Es ist möglich, dass dem Server ausgefallen ist oder dem Benutzer die falsche DNS -Serveradresse zugewiesen wird. Beachten Sie das Name Server Adressen aus dem beschließen.Conf Datei und prüfen Sie, ob es über einen Ping -Befehl zugänglich ist.

Ubuntu@Ubuntu: ~ $ ping -c 3 192.168.11.253

Verwenden Sie das Dienstprogramm Domäneninformationen Groper (DIG), um zu überprüfen, ob der DNS funktioniert. Überprüfen Sie, ob die DNS -Serveradresse 192.168.11.253 löst den Hostnamen in eine IP -Adresse auf.

Ubuntu @Ubuntu: ~ $ dig @115.186.188.3 www.Google.com

Die Korrektur eines DNS -Servers ist etwas schwierig. Wenn der Netzwerkmanager für die Verwaltung der Konnektivitätsaufgabe verantwortlich ist, überschreibt er die Namenserver -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.

Ubuntu@ubuntu: ~ $ sudo vim/etc/sysconfig/network-scripts/ifcfg
Peerdns = Nr
Dns1 =

Fügen Sie im Falle eines separaten Netzwerkdienstes die Peerdns = keine Leitung zum Auflösen hinzu.Conf -Datei.

Eingehende Verbindungen

Für ein als Apache -Server konfiguriertes Linux -System muss der Webserver vom Client zugreifen. Wenn der Client den Server über einen Webbrowser nicht erreichen kann, können Sie die oben diskutierten Befehle von Ping-, Dig- oder Traceroute von außerhalb des Servers verwenden, um Probleme zu verfolgen. Einige der anderen Möglichkeiten zur Behebung von Anschlussanschlüssen sind:

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

Ubuntu@Ubuntu: ~ $ nmap

Der Open Port 80/443 State legt nahe, dass die Netzwerkkonnektivität in Ordnung ist. Wenn nicht, akzeptiert die Firewall keine Pakete aus diesen Ports. Darüber hinaus wird es nicht gefiltert und der Zustand ist geschlossen, was bedeutet.

Wenn das System verwendet UFW und setzt die Standard -Firewall -Richtlinie fest, sie blockiert jede eingehende Verbindung. Stellen Sie die Firewall fest, damit Kunden den Zugriff auf TCP 80/443 Ports ermöglichen:

Ubuntu@Ubuntu: ~ $ sudo ufw erlauben 80
Ubuntu@Ubuntu: ~ $ sudo ufw erlauben 443

Wenn es immer noch eingehende Verbindungen blockiert, verwenden Sie die sudo ufw Status Befehl, nach den verweigerten Hosts zu suchen und über den folgenden Befehl auf sie zugreifen zu können.

Ubuntu@Ubuntu: ~ $ sudo ufw erlauben aus

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:

Ubuntu@Ubuntu: ~ $ sudo systemctl Status httpd

Überprüfen Sie zuletzt, ob der Server geeignete Schnittstellen und Ports hört. Daher für die Dienste wie HTTPD, die auf Anfragen an Schnittstellen anhören. Bearbeiten Sie die Hauptkonfigurationsdatei, damit der Dienst an Port 80 auf eine bestimmte Adresse oder alle Adressen anhören kann.

Ubuntu@Ubuntu: ~ $ sudo cd/etc/httpd/conf/httpd.Conf
Hören Sie 80
Hören Sie 192.168.11.10:80

Fehlerbehebung bei Systemlast

Linux verfügt über viele Dienstprogramme, die Systemaktivitäten beobachten und Probleme herausfinden, die keine offensichtlichen Gründe haben. Das heißt, das System funktioniert gut, beginnt jedoch zu verlangsamen und beginnt mit dem Absturz von Anwendungen. Diese verschiedenen Linux -Versorgungsunternehmen helfen, Prozesse zu ermitteln, die Speicherressourcen konsumieren und die Maschine seines Festplattenraums, der Prozessoren und der Netzwerkbandbreite entlassen.

Einige der Gründe für die Systeminstabilität sind begrenzte Kapazitäten, ich.e., Niedriger Speicher, Speicherplatz, Netzwerkkapazität und Verarbeitungsleistung mit falsch konfigurierten Anwendungen. Die Versorgungsunternehmen bieten jedoch Möglichkeiten, solche Probleme zu verwalten, zu manipulieren und zu beheben. Lassen Sie uns mit begrenztem Gedächtnis und übermäßigen Problemen des CPU -Verbrauchs beheben.

Speichernutzung

Leiten Sie die Spitze Befehl mit Kapital M Um Prozessdetails nach Speichernutzung zu klassifizieren. Der Befehlsausgang liefert allgemeine Informationen, gefolgt vom Verbrauch von RAM, Swap und CPU. Wenn es so aussieht,

  • Beachten Sie den freien Speicherplatz in der MEM -Linie: Es muss Null oder in der Nähe sein.
  • Überprüfen Sie den gebrauchten Tauschraum: Es muss ungleich Null oder Wachstum sein.
  • Seit der Spitze Befehl reduziert Informationen alle 5 Sekunden wieder, suchen Sie nach dem Vorgang mit einem Speicherleck. Überprüfen Sie, ob der RES -Speicher weiter wächst.
  • Der Kernel beginnt, den Prozess zu töten, wenn der Austauschplatz ausgeht.

Der mögliche Weg, solche Probleme zu beheben, besteht darin, beides zu beheben:

Den Prozess töten

Der Befehl Kill sendet ein Kill -Signal, um einen Prozess zu beenden. Die am häufigsten verwendeten Signal. Verschiedene Prozesse reagieren jedoch unterschiedlich auf Signale.

Beachten Sie beispielsweise die PID und verwenden Sie die töten Befehl zum Senden des Sigterm Signal.

Ubuntu@Ubuntu: ~ $ Kill -15 PID

Das Signal/-15-Signal zielt darauf ab, den Prozess zu beenden, aber gelegentlich tötet es den Prozess nicht ab. Daher kann dies das Sigkill/-9-Signal erfordern, um den Prozess sofort abzutöten.

Ubuntu@Ubuntu: ~ $ Kill -sigkill Pid

Drop -Seite Caches

Um den Speicher für den Moment zu reinigen, lassen Sie inaktive Cache -Seiten fallen. Ablegen von zwischengespeicherten Seiten und schreiben Sie ein paar Speicherseiten auf die Festplatte, da das System es möglicherweise später abrufen möchte, während es den Rest verengt.

Lassen Sie den oberen Befehl im Terminal ausgeführt und führen Sie den angegebenen Befehl in einem anderen Terminal aus, um MEM -Zeilen zu ändern:

Ubuntu@ubuntu: ~ $ echo 3>/proc/sys/vm/drop_caches

Verwenden Sie Alt+Sysrq -Tastenanschlag

Erschöpfung der Erinnerung kann manchmal die GUI oder die Hülle völlig uneingeschränkt machen. Dieses Szenario erfordert die Verwendung von ALT+SYSRQ -Tastenanschlag auf einem nicht reagierenden System. So dass der Kernel seine Anfrage vor einem anderen Prozess verarbeitet.

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

Ubuntu@Ubuntu: ~ $ cat/proc/sys/sysrq
076

Der Wert '0' zeigt, dass der Tastenanschlag nicht aktiviert ist. Um diesen Tastenanschlag zu aktivieren, gehen Sie zum /etc /sysctl.Conf -Datei und festlegen die Kernel.sysrq = 1. Oder gesetzt Kernel.sysrq = 1 Durch die Verwendung des folgenden Befehls.

Ubuntu@Ubuntu: ~ $ sudo echo "1">/proc/sys/kernel/sysrq

In den meisten Tastaturen ist das SYSRQ eine "PRTSC" -Taste.

Drücken Sie ALT+SYSRQ+F von der textbasierten Schnittstelle, um den Prozess mit dem höchsten OOM-Score abzugeben. Drücken Sie diese Tastenanschläge weiter, bis das System in seinen normalen nutzbaren Zustand zurückkehrt.

CPU -Last

Die oben diskutierten Techniken können auch den Prozess überprüfen und beheben, der übermäßige CPU-Ressourcen verbraucht und das System seiner Funktionalität entzieht. Linux bietet jedoch eine andere Methode, die die Systemprozesse daran hindert, die CPU -Ressourcen zu füttern.

Renice den Prozess

Verwenden Sie den Top -Befehl, um alle Details zu erhalten und die Prozess -ID (PID) zu beachten, in der weitere CPU -Ressourcen angefordert werden. Geben Sie den folgenden Befehl ein, der den hervorragenden Wert zwischen -20 und 19 festlegt, ich.e., Je höher der Wert, desto niedriger ist der Zugriffsprozess an die CPU.

Ubuntu@Ubuntu: ~ $ nice +18 pid

Oder beachten Sie den Ni (netten) Wert der PID. Verringern Sie für einen niedrigen NI -Wert die CPU -Zugriffsberechtigungen dieses bestimmten Prozesses, indem Sie den hervorragenden Wert mit dem Befehl renice widerrufen:

Ubuntu@Ubuntu: ~ $ renice -n +18 pid

Abschluss

Der Artikel deckt alle erforderlichen Linux -Dienstprogramme ab, damit Anfänger Linux -Probleme beheben können.