Wie Sie mehr über den Linux-Kernel von Ihrer eigenen Maschine erfahren
Um mit GNU / Linux arbeiten zu können, muss man in der Regel lernen, mit einer Desktop-Umgebung zu arbeiten. Theme-Technologie ermöglicht diesen Desktop-Umgebungen, die Schnittstellen von iOS-, Microsoft Windows- und OS X-Geräten nachzuahmen. Dies hilft, dies sozusagen zu minimieren. Viele Leute gehen noch weiter und lernen die Unix-Befehlszeilenverwaltung mit den Bash- oder Tcsh-Shells. Wenn Sie sich jedoch mit den Interna des Linux-Kernels vertraut machen, können Sie besser verstehen, wie verschiedene Opcode-Teile miteinander interagieren.
Einige Leute würden argumentieren, dass es am besten wäre, mehrere Schritte weiter zu gehen und zusätzlich zu erfahren, wie Compiler C-Code in Maschinen-Instruktoren für einen Mikroprozessor umwandeln. Befürworter des Assembler-Codes würden dann argumentieren, dass es am besten sei, ASM zu lernen, um die Programmierung auf den Plattformen x86 und x86_64 wirklich zu verstehen. Unabhängig von diesen Positionen können grundlegende Linux-Befehle eine Fülle von Informationen darüber liefern, wie der Kernel Ihren Computer sieht. Mit einem Blick zu lernen, aber kein Paradigma zu berühren, ist eine großartige Möglichkeit, den Kernel selbst zu meistern. Während das root-Konto für die Beispiele auf dieser Seite verwendet wurde, wird dringend empfohlen, dass Sie kernelinkverknüpfte Verzeichnisse nur über ein Benutzerkonto anzeigen.
Methode 1: Das Verzeichnis / proc
Das Verzeichnis / proc befindet sich in einer der primären Regionen des Stammverzeichnisses der obersten Ebene in einer beliebigen Unix-Dateistruktur. Es enthält das sogenannte proc-Dateisystem, besser bekannt als procfs, das Informationen darüber enthält, wie verschiedene Ressourcen auf den Kernel-Speicher zugreifen. Es wird beim Starten des Systems auf / proc abgebildet. Da diese Proxy-Dateistruktur als Schnittstelle zur internen Datenstruktur innerhalb des Linux-Kernels dient, ist es wiederum am besten, dies nur über ein Benutzerkonto zu erkunden. Die meisten Dateien werden durch die Dateistruktur des sichtbaren Systems trotzdem als schreibgeschützt klassifiziert, aber es ist am besten, auf der sicheren Seite zu sein.
Davon abgesehen ist jede dieser Dateien eine Textdatei, sodass Sie sie auf Wunsch anzeigen können. Verwenden Sie den Befehl cd, um das Verzeichnis / proc einzugeben, und geben Sie dann ls ein, um einen Blick darauf zu werfen, was sich dort befindet. Verwenden Sie den Befehl cat, less oder more mit einer der Dateien, um sie zu betrachten. Die cpuinfo-Datei ist ein guter Startpunkt, da sie anzeigt, wie der Kernel Ihren Mikroprozessor anzeigt. Sehen Sie sich die Statistikdatei an, um eine Ansicht der laufenden Prozesse anzuzeigen.
Das Eingeben von Katzengeräten gibt Ihnen einen Überblick darüber, welche Dinge an Ihrem Gerät angebracht sind.
Übrigens können Sie immer den Befehl man proc ausgeben, um zu erfahren, wie sich die Dateistruktur von / proc auf den Kernel bezieht. Die gelieferte Seite stammt aus dem Linux-Programmierhandbuch.
Methode 2: Das / sys-Verzeichnis
Ihr nächster Halt auf der Tour Ihres Kernels ist / sys, ein anderes Verzeichnis, das einer Voreinstellungsdateistruktur zugeordnet ist. Dies folgt dem gleichen allgemeinen Unix-Konzept wie / proc, aber es exportiert stattdessen aktiv Informationen über zugehörige Gerätelaufwerke und eine Anzahl von Kernelsubsystemen. Wenn Sie jemals mit einem BSD-basierten System gearbeitet haben, sind Sie vielleicht besser mit sysctl vertraut, das diese Funktionen bereitstellt. Alle PCI-, USB- und S / 390-Busgeräte sind dem Verzeichnis / sys zugeordnet.
Verwenden Sie cd / sys, um zum Verzeichnis zu wechseln, und geben Sie dann den Befehl ls oder dir aus. Sie könnten Verzeichnisse namens Block, Klasse, Geräte, fs, Kernel und vielleicht andere haben. Sie können diese für weitere flache Dateien erkunden, die Informationen über das System enthalten, aber noch einmal von einem Benutzerkonto aus tun und einen Blick darauf werfen, aber nicht die Mentalität über sich selbst berühren.
Methode 3: Das Verzeichnis / dev
Verwenden Sie den Befehl cd / dev, um zum Verzeichnis / dev zu wechseln, das möglicherweise die Struktur des virtuellen Kernels ist, mit der Sie bereits vertraut sind. Der Name bedeutet Geräte und enthält die Dateidarstellung von Geräten, die an Ihr System angeschlossen sind. Ein ls-Befehl in diesem Verzeichnis gibt viele Dateien auf der einfachsten Serververteilung zurück.
Einige davon sind sehr speziell. Die Datei / dev / null ist ein Null-Gerät, das nichts tut. Wenn Sie cat / dev / null eingeben, erhalten Sie nichts heraus. Es heißt Bit-Bucket, und die Ausgabe kann dorthin umgeleitet werden, um den Bildschirm sauber zu halten. Eine Datei namens / dev / zero enthält nichts als null Daten, die auf eine Platte geschrieben werden können, um sie auf Null zu setzen. Die Random- und Urandom-Dateien enthalten zufällige Junk-Daten zum Erstellen von Sicherheits-Hashes.
PRO TIPP: Wenn das Problem bei Ihrem Computer oder Laptop / Notebook auftritt, sollten Sie versuchen, die Reimage Plus Software zu verwenden, die die Repositories durchsuchen und beschädigte und fehlende Dateien ersetzen kann. Dies funktioniert in den meisten Fällen, in denen das Problem aufgrund einer Systembeschädigung auftritt. Sie können Reimage Plus herunterladen, indem Sie hier klickenWenn Sie jemals einen Datenträger formatiert haben, dann haben Sie wahrscheinlich zumindest einige Erfahrungen damit, wie der Linux-Kernel sie betrachtet. Jede mit dem System verbundene Festplatte erhält für jede Festplatte einen Namen wie sda, sdb usw. Unterschiedliche Datenträgertypen erhalten unterschiedliche Namen. Denken Sie daran, dass das Verzeichnis / dev eine mögliche formale Informatikdefinition der Festplatte verwendet und nicht die Art und Weise, wie wir diesen Begriff normalerweise verwenden würden. Dies bedeutet, dass eine Festplatte, eine SSD, eine SD-Karte, eine microSDHC-Karte, ein über USB angeschlossenes Smartphone-Dateisystem, USB-Sticks und selbst gemountete Tablets alle Festplatten des Kernels sind.
Jeder Laufwerksname in Linux erhält danach eine Nummer, die eine Partitionsnummer angibt. Wenn Sie eine SSD mit zwei primären Partitionen hatten, könnten Sie / dev / sda1 und / dev / sda2 als gültige Volumes haben. Mehr als wahrscheinlich, wenn Sie Linux von einem Desktop oder Laptop mit MBR-Partitionierung ausführen, dann haben Sie / dev / sda1 auf die ext4-Partition gesetzt, auf der Linux installiert ist. Mehr als wahrscheinlich / dev / sda2 ist eine erweiterte Partition, die / dev / sda5 als Swap-Partition enthält. Dieses Schema ist üblich, aber keineswegs notwendig. Beachten Sie, dass die Swap-Partition in diesem allgemeinen Beispiel ein logisches Laufwerk innerhalb einer erweiterten Partition ist und als Nummer 5 statt 3 erhält.
Wenn Sie mehr darüber erfahren möchten, wie der Kernel Partitionen anzeigt und formatiert, können Sie eine Liste unterstützter Partitionen mit dem Befehl fdisk anzeigen. Während fdisk keine Partitionstabellen schreibt, bis Sie es ihm mitteilen, ist es immer noch am besten, dies mit etwas zu versuchen, das Sie nicht gerne rösten. Es empfiehlt sich, auf etwas wie einen leeren USB-Stick zu zeigen, den man einfach neu formatieren könnte.
Angenommen, Ihr Stick wird als / dev / sdc angezeigt, dann können Sie sudo fdisk / dev / sdc verwenden, um ihn zu laden. Wenn Sie eine gültige Partition darin haben, dann geben Sie t ein, um den Typ und den Typ L zu ändern, um eine Hex-Codeliste zu laden. Beachten Sie, dass MBR- und GUID-Partitionsschemas unterschiedlich mit dem Kernel kommunizieren und daher unterschiedliche Zuweisungen haben.
Meistens haben Sie Laufwerke, die auf Typ 83 für Linux-Laufwerke, 82 für Linux-Swap-Partitionen oder einen der FAT-Dateitypen eingestellt sind. FAT stammt aus der einen oder anderen Form bis 1977 und wird immer noch für viele Arten von mobilen Geräten sowie für viele Wechseldatenträger bevorzugt. Beachten Sie, dass einige Partitionstypen, z. B. der Typ 0x0c, eine so genannte LBA-Unterstützung aufweisen.
Wenn ein Programmierer einen Kernel für ein Betriebssystem entwirft, haben sie ein paar verschiedene Möglichkeiten, wie sie Festplatten betrachten können. Einer besteht darin, die Platten in Zylinder, Köpfe und Sektoren aufzuteilen. Dies war die klassische Art, auf Festplatten am längsten zu verweisen. Original-Festplattengeometrie war für Linux nie wirklich wichtig, und dieses Schema hat leider nach etwa 8 binären Gigabyte keine Adressen mehr. Die zweite Möglichkeit besteht darin, die logische C / H / S-Adressierung zu verwenden. Dies ermöglicht dem Plattencontroller, Zylinder-, Kopf- und Sektornummern an jeder beliebigen Stelle abzubilden. Aus diesem Grund könnte ein Betriebssystem theoretisch behaupten, dass Köpfe in einer SD-Karte oder einem USB-Stick stecken, wenn dies physikalisch unmöglich ist.
Die dritte Methode ist die logische Blockadressierung, für die LBA steht. Jeder physische Block in einem Volumen erhält in diesem Schema eine Zahl. Das Betriebssystem weist den Plattencontroller an, in einen bestimmten nummerierten Block zu schreiben, weiß jedoch nicht, ob dies der direkte Block auf der Festplatte ist. Dies ist das heute am häufigsten verwendete Schema, und es wird seit Mitte der 1990er Jahre auf der überwiegenden Mehrheit der Festplatten verwendet.
Linux bietet Kernel-Unterstützung, um eine Vielzahl von Partitionstypen ohne direkte Eingabe zu mounten, aber es ist immer noch am besten, nicht zu abwegig zu sein, wenn man sie auswählt. Sie könnten Ihre Daten auf den neuesten Stand bringen, wenn Sie einen sehr seltsamen Partitionstyp für die Dateisystem-Auswahl gewählt haben.
Methode 4: Systemaufrufe aus dem Linux-Programmierhandbuch
Onboard Man Pages Reader, die in den meisten Linux-Distributionen enthalten sind, können Ihnen einen Crash-Kurs zu Systemaufrufen geben, der Ihnen beim Lernen über den Kernel helfen kann. Starten Sie den Browser xman graphic man pages entweder von einem .desktop-Link, wenn Sie einen haben, oder alternativ, indem Sie den Super-Schlüssel und R gleichzeitig gedrückt halten, dann xman eingeben und Enter drücken. Wählen Sie die Option Manuelle Seite und dann im Dropdown-Menü Abschnitte und schließlich (2) Systemaufrufe.
Sobald ein optionales Lese- Intro angezeigt wird, wählen Sie das aus. Eine Seite aus dem Linux-Programmierhandbuch, die Ihnen ein wenig über Systemaufrufe beibringen wird, wird Sie dann begrüßen.
PRO TIPP: Wenn das Problem bei Ihrem Computer oder Laptop / Notebook auftritt, sollten Sie versuchen, die Reimage Plus Software zu verwenden, die die Repositories durchsuchen und beschädigte und fehlende Dateien ersetzen kann. Dies funktioniert in den meisten Fällen, in denen das Problem aufgrund einer Systembeschädigung auftritt. Sie können Reimage Plus herunterladen, indem Sie hier klicken