Das /proc – Verzeichnis: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
Zeile 36: Zeile 36:
 
*Diese Informationen und Einstellungen sind in Dateien im /proc/sys-Verzeichnis organisiert.
 
*Diese Informationen und Einstellungen sind in Dateien im /proc/sys-Verzeichnis organisiert.
 
=Hier ist eine Liste einiger wichtiger Dateien im /proc/sys-Verzeichnis=
 
=Hier ist eine Liste einiger wichtiger Dateien im /proc/sys-Verzeichnis=
 +
==/proc/net/tcp==
 +
*Die Datei "/proc/net/tcp" enthält Informationen über den aktuellen Zustand der TCP-Verbindungen auf dem System.
 +
*Sie enthält Daten wie lokale und entfernte IP-Adressen, Portnummern, Zustände der Verbindungen und andere Informationen zu den TCP-Sockets.
 +
*Die Informationen in "/proc/net/tcp" können verwendet werden, um laufende TCP-Verbindungen zu überwachen, den Zustand der Verbindungen zu analysieren und Netzwerkprobleme zu diagnostizieren.
 +
*Die Daten in "/proc/net/tcp" sind im Hexadezimalformat codiert und können mit geeigneten Tools oder Skripten analysiert und interpretiert werden.
 
==/proc/sys/net/ipv4/ip_forward==
 
==/proc/sys/net/ipv4/ip_forward==
 
*Diese Datei ermöglicht das Aktivieren oder Deaktivieren der IP-Weiterleitung auf dem System. Ein Wert von 1 bedeutet, dass die Weiterleitung aktiviert ist, während ein Wert von 0 bedeutet, dass sie deaktiviert ist.
 
*Diese Datei ermöglicht das Aktivieren oder Deaktivieren der IP-Weiterleitung auf dem System. Ein Wert von 1 bedeutet, dass die Weiterleitung aktiviert ist, während ein Wert von 0 bedeutet, dass sie deaktiviert ist.

Aktuelle Version vom 24. Juni 2023, 10:22 Uhr

Was ist das proc Dateisystem

  • Das "/proc"-Verzeichnis ist keine tatsächliche Dateisystemstruktur, sondern eine Schnittstelle zum Kernel.
  • Die Dateien in diesem Verzeichnis belegen keinen Speicherplatz auf der Festplatte, sind aber dennoch lesbar und in einigen Fällen auch beschreibbar.
  • Der Name dieses Verzeichnisses leitet sich daher ab, dass es für jeden laufenden Prozess ein Unterverzeichnis bereitstellt, das Informationen über diesen Prozess enthält.
  • Der Name des Unterverzeichnisses entspricht der Prozess-ID (PID) des jeweiligen Prozesses.

Es enthält unter anderem folgende Dateien

  • "cmdline": Die Befehlszeile, mit der der Prozess gestartet wurde, einschließlich aller verwendeten Parameter.
  • "cwd" (current working directory): Ein symbolischer Link zum Verzeichnis, das zum Zeitpunkt des Prozessaufrufs das aktuelle Arbeitsverzeichnis war.
  • "environ": Die vollständige Umgebung des Prozesses, einschließlich Variablen und Funktionen, sofern eine Umgebung vorhanden ist.
  • "exe": Ein symbolischer Link zum aufgerufenen Programm, das den Prozess ausmacht.
  • "root": Ein symbolischer Link zum Verzeichnis, das das Wurzelverzeichnis für den Prozess darstellt.
  • "console": Zeigt Informationen zur aktuellen Konsole an.
  • "fb": Framebuffer-Gerät.
  • "filesystems": Zeigt die vom Kernel unterstützten Dateisysteme an.
  • "locks": Aktuell vom Kernel blockierte Ressourcen.
  • "meminfo": Informationen zum Systemspeicher.
  • "modules": Zeigt die aktuell geladenen Module an.
  • "mounts": Zeigt die eingehängten Partitionen an.
  • "partitions": Listet alle Partitionen des Systems auf, auch die nicht eingehängten.
  • "swap": Informationen zum Auslagerungsspeicher.
  • "uptime": Zeigt an, wie lange das System bereits läuft.
  • "version": Zeigt Kernel- und Systeminformationen an.

Weiteres

  • Darüber hinaus enthält das "/proc"-Verzeichnis weitere Informationen zu den verwendeten Ressourcen wie Speicher und Bibliotheken sowie ein Unterverzeichnis "fd", das die Dateideskriptoren aller vom Prozess verwendeten Dateien enthält.
  • Diese Informationen werden beispielsweise von Programmen genutzt, die Prozessinformationen anzeigen.
  • Was jedoch im Zusammenhang mit Hardware besonders wichtig ist, ist die Möglichkeit, über das "/proc"-Verzeichnis auf bestimmte hardwarebezogene Informationen zuzugreifen.

Hardwareparameter im "/proc"-Verzeichnis

  • Wie bereits auf der Hardwareparameter-Seite erwähnt, benötigen wir für die Interaktion mit bestimmten Hardwarekomponenten Einstellungen, die sowohl auf der Hardwareseite vorhanden sein müssen als auch dem Betriebssystem bekannt sein müssen.
  • Um festzustellen, welche dieser Parameter Linux welcher Hardware zuweist, stellt uns das "/proc"-Verzeichnis mehrere Dateien zur Verfügung, die diese Informationen enthalten.
  • Noch einmal zur Erinnerung: Diese Dateien sind keine tatsächlichen Dateien, sondern Schnittstellen zum Kernel. Das "/proc"-

/proc/sys

  • Der /proc/sys-Teil des Verzeichnisses enthält Informationen und ermöglicht die Änderung von Kernel-Parametern und Systemeinstellungen.
  • Diese Informationen und Einstellungen sind in Dateien im /proc/sys-Verzeichnis organisiert.

Hier ist eine Liste einiger wichtiger Dateien im /proc/sys-Verzeichnis

/proc/net/tcp

  • Die Datei "/proc/net/tcp" enthält Informationen über den aktuellen Zustand der TCP-Verbindungen auf dem System.
  • Sie enthält Daten wie lokale und entfernte IP-Adressen, Portnummern, Zustände der Verbindungen und andere Informationen zu den TCP-Sockets.
  • Die Informationen in "/proc/net/tcp" können verwendet werden, um laufende TCP-Verbindungen zu überwachen, den Zustand der Verbindungen zu analysieren und Netzwerkprobleme zu diagnostizieren.
  • Die Daten in "/proc/net/tcp" sind im Hexadezimalformat codiert und können mit geeigneten Tools oder Skripten analysiert und interpretiert werden.

/proc/sys/net/ipv4/ip_forward

  • Diese Datei ermöglicht das Aktivieren oder Deaktivieren der IP-Weiterleitung auf dem System. Ein Wert von 1 bedeutet, dass die Weiterleitung aktiviert ist, während ein Wert von 0 bedeutet, dass sie deaktiviert ist.

/proc/sys/net/ipv4/tcp_syncookies

  • Diese Datei ermöglicht das Aktivieren oder Deaktivieren von TCP-SYN-Cookies.
  • TCP-SYN-Cookies werden verwendet, um SYN-Flooding-Angriffe abzuwehren.
  • Ein Wert von 1 aktiviert die Verwendung von TCP-SYN-Cookies, während ein Wert von 0 sie deaktiviert.

/proc/sys/net/ipv4/icmp_echo_ignore_all

  • Diese Datei ermöglicht das Ignorieren aller eingehenden ICMP-Echoanforderungen (Ping).
  • Ein Wert von 1 bedeutet, dass alle eingehenden ICMP-Echoanforderungen ignoriert werden, während ein Wert von 0 bedeutet, dass sie akzeptiert werden.

/proc/sys/kernel/hostname

  • Diese Datei enthält den Hostnamen des Systems.
  • Der Inhalt kann gelesen und geändert werden, um den Hostnamen des Systems festzulegen oder abzurufen.

/proc/sys/vm/swappiness

  • Diese Datei steuert das Verhalten des Systems beim Swappen von Speicherseiten auf die Festplatte.
  • Der Wert kann zwischen 0 und 100 liegen, wobei ein niedrigerer Wert weniger Swapping und ein höherer Wert mehr Swapping bewirkt.

/proc/sys/fs/file-max

  • Diese Datei enthält den maximalen Wert für die Anzahl der offenen Dateien im System.
  • Der Wert kann gelesen und geändert werden, um die maximale Anzahl der offenen Dateien festzulegen.

/proc/<pid>/cmdline

  • Enthält die Befehlszeile des Prozesses mit der angegebenen PID.
  • Sie ist eine Null-terminierte Zeichenkette, die die exakte Befehlszeile darstellt, die verwendet wurde, um den Prozess zu starten.

/proc/<pid>/fd

  • Das Verzeichnis enthält symbolische Links zu den geöffneten Dateideskriptoren des Prozesses mit der angegebenen PID.
  • Diese Links ermöglichen den Zugriff auf die geöffneten Dateien, die vom Prozess verwendet werden, und können Informationen wie den Dateityp und den Zugriffsmodus enthalten.
  • ls /proc/914221/fd
0  1  2  255

/proc/stat

  • Die Datei /proc/stat enthält statistische Informationen über verschiedene Aspekte des Systems und der Prozessorauslastung.
  • Sie liefert aggregierte Daten zu Prozessorzeiten, Interrupts, Kontextwechseln und anderen Systemressourcen.
  • In der Regel besteht die Ausgabe der Datei /proc/stat aus einer einzelnen Zeile mit verschiedenen Feldern.
  • Das erste Feld enthält den Namen "cpu" und stellt die gesamte Prozessorzeit dar. Die nachfolgenden Felder repräsentieren einzelne CPU-Kerne oder logische Prozessoren und enthalten Informationen wie Benutzerzeit, Systemzeit, Leerlaufzeit und weitere statistische Werte.
  • Diese Daten sind für die Überwachung der Systemleistung und der Prozessoraktivität nützlich. Sie können verwendet werden, um die Auslastung der CPU-Kerne, die Gesamtauslastung des Systems und andere Leistungsindikatoren zu analysieren.
  • Die Werte in /proc/stat werden normalerweise als Zeiten oder Zähler dargestellt und können verwendet werden, um Trends zu identifizieren oder Vergleiche zwischen verschiedenen Zeitpunkten durchzuführen.

/proc/meminfo

  • Die Datei "/proc/meminfo" enthält Informationen über den aktuellen Speicherzustand des Systems, einschließlich des physikalischen und virtuellen Speichers.
  • Sie liefert Daten wie den insgesamt verfügbaren Speicher, den belegten Speicher, den freien Speicher, die Auslagerungsdateien und vieles mehr.
  • Die Auswertung von "/proc/meminfo" kann bei der Überwachung des Speicherverbrauchs und der Identifizierung von Engpässen im System helfen.

Lesen und ändern der Werte

  • Um diese Dateien zu lesen oder Werte zu ändern, können Befehle wie "cat" zum Lesen oder "echo" zum Schreiben verwendet werden. Zum Beispiel:
  • cat /proc/sys/net/ipv4/ip_forward
  • zeigt den aktuellen Wert der IP-Weiterleitung an.
  • echo 1 > /proc/sys/net/ipv4/ip_forward
  • ändert den Wert der IP-Weiterleitung auf 1 (aktiviert).

Änderungen

  • Bitte beachte, dass Änderungen in diesen Dateien normalerweise nicht dauerhaft sind und nach einem Neustart des Systems verloren gehen.
  • Um Änderungen dauerhaft zu machen, können sie in der Konfigurationsdatei "/etc/sysctl.conf" festgelegt werden.
  • Diese wird beim Systemstart ausgelesen

sysctl

Aufgaben