Zum Inhalt springen

Sysctl: Unterschied zwischen den Versionen

Aus Foxwiki
DanielZorin (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
DanielZorin (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 144: Zeile 144:
| /lib/sysctl.d/*.conf || Zusätzlicher Pfad für distributionsseitige Konfiguration auf bestimmten Systemen
| /lib/sysctl.d/*.conf || Zusätzlicher Pfad für distributionsseitige Konfiguration auf bestimmten Systemen
|}
|}
=== Lade-Reihenfolge und Priorität ===
=== Lade-Reihenfolge und Priorität ===
Die Konfigurationsdateien werden je nach System unterschiedlich eingelesen:
* Auf klassischen Systemen mit sysctl lädt der Aufruf
:* ''sysctl --system'' standardmäßig:
:# ''/'''run'''/sysctl.d/*.conf'',
:# ''/'''etc/sysctl.d'''/*.conf'',
:# ''/'''usr/local/lib'''/sysctl.d/*.conf'',
:# ''/'''usr/lib'''/sysctl.d/*.conf'',
:# ''/'''lib'''/sysctl.d/*.conf''
:# und zuletzt ''/'''etc'''/sysctl.conf''
* Spätere Einträge überschreiben frühere mit demselben Schlüssel
* Auf [[systemd]]-basierten Systemen werden Kernel-Parameter beim Booten von ''systemd-sysctl'' anhand der Dateien in ''sysctl.d'' gesetzt
:* Je nach Distribution wird ''/etc/sysctl.conf'' dabei möglicherweise nicht mehr ausgewertet
* Für lokale Anpassungen wird empfohlen, eine eigene Datei wie ''/etc/sysctl.d/99-local.conf'' anzulegen, statt ''/etc/sysctl.conf'' direkt zu bearbeiten


<noinclude>
<noinclude>

Version vom 28. November 2025, 17:02 Uhr

sysctl - Kernel-Parameter zur Laufzeit konfigurieren

Beschreibung

sysctl stellt ein Benutzerraum-Frontend für Kernel-Parameter im virtuellen Dateisystem /proc/sys bereit

  • Der Zugriff auf diese Parameter erfolgt über das Pseudo-Dateisystem Procfs, das auf /proc eingehängt sein muss
  • Schreibzugriffe über sysctl -w ändern Werte im laufenden Kernel, sind jedoch nicht dauerhaft und gehen nach einem Neustart verloren
Einstellungen

Persistent

Konfigurationsfragmente

  • /run/sysctl.d
  • /etc/sysctl.d
  • /usr/local/lib/sysctl.d
  • /usr/lib/sysctl.d
  • /lib/sysctl.d

Installation

sysctl ist Teil des Pakets procps

Aufruf

sysctl [options] [variable[=value]] [...]
sysctl -p [file or regexp] [...]

Optionen

Unix GNU Parameter Beschreibung
-n --values Nur den Wert ausgeben, ohne Parameternamen
-e --ignore Fehler für unbekannte Parameter ignorieren
-N --names Nur Parameternamen ausgeben (z. B. für programmierbare Completion)
-q --quiet Werte nicht auf stdout ausgeben
-w --write Kernel-Parameter (sysctl-Einstellungen) ändern
-p --load [=FILE] Einstellungen aus der angegebenen Datei laden, standardmäßig /etc/sysctl.conf
  • "-" als Dateiname: Lesen der Einstellungen von der Standardeingabe
  • Mit dieser Option werden Argumente von sysctl als Dateinamen interpretiert und in der angegebenen Reihenfolge eingelesen
  • Der Dateiname kann als regulärer Ausdruck angegeben werden
-a --all Alle aktuell verfügbaren Parameter und Werte anzeigen
--deprecated Veraltete Parameter in die Ausgabe von --all einbeziehen
-b --binary Wert ohne abschließenden Zeilenumbruch ausgeben
--system Einstellungen aus allen Systemkonfigurationsdateien laden
  • /run/sysctl.d/*.conf
  • /etc/sysctl.d/*.conf
  • /usr/local/lib/sysctl.d/*.conf
  • /usr/lib/sysctl.d/*.conf
  • /lib/sysctl.d/*.conf
  • /etc/sysctl.conf
-r --pattern pattern Nur Parameter anwenden bzw. anzeigen, deren Name zum Muster passt (erweiterte reguläre Ausdrücke)
-A Alias für -a
-d Alias für -h
-f Alias für -p
-X Alias für -a
-o Ohne Funktion, nur aus BSD-Kompatibilitätsgründen vorhanden
-x Ohne Funktion, nur aus BSD-Kompatibilitätsgründen vorhanden
-h --help Hilfetext anzeigen und beenden
-V --version Versionsinformation anzeigen und beenden

Anwendung

Alle verfügbaren Kernel-Parameter anzeigen:

/sbin/sysctl -a

Nur den aktuellen Hostnamen ausgeben:

/sbin/sysctl -n kernel.hostname

Den Domainnamen zur Laufzeit setzen:

/sbin/sysctl -w kernel.domainname="example.com"

Einstellungen aus der Konfigurationsdatei neu einlesen:

/sbin/sysctl -p/etc/sysctl.conf

Nur Parameter auflisten, deren Name forward enthält:

/sbin/sysctl -a --pattern forward

Nur Parameter auflisten, deren Name auf forward endet:

/sbin/sysctl -a --pattern forward$

Mit regulärem Ausdruck nur ARP-Parameter für eth0/wlan0 anzeigen:

/sbin/sysctl -a --pattern 'net.ipv4.conf.(eth|wlan)0.arp'

Systemweit alle Konfigurationsdateien einlesen und nur IPv6-Parameter anzeigen:

/sbin/sysctl --system --pattern '^net.ipv6'

Konfiguration

Dateien

Datei Beschreibung
/proc/sys Virtuelles Verzeichnis mit Kernel-Parametern. Laufzeit-Interface, auf das sysctl lesend und schreibend zugreift
/etc/sysctl.conf Klassische globale Konfigurationsdatei für persistente Kernel-Parameter. Wird nach den Dateien aus sysctl.d eingelesen
/run/sysctl.d/*.conf Temporäre, zur Laufzeit erzeugte Konfigurationsfragmente mit höchster Priorität
/etc/sysctl.d/*.conf Vom Administrator verwaltete persistente Konfigurationsfragmente. Überschreiben Einträge aus /usr/lib/sysctl.d und /lib/sysctl.d
/usr/local/lib/sysctl.d/*.conf Konfigurationsfragmente für lokal installierte Software außerhalb der Distribution
/usr.lib/sysctl.d/*.conf Von der Distribution bereitgestellte Standardkonfiguration für Kernel-Parameter
/lib/sysctl.d/*.conf Zusätzlicher Pfad für distributionsseitige Konfiguration auf bestimmten Systemen


Lade-Reihenfolge und Priorität

Lade-Reihenfolge und Priorität

Die Konfigurationsdateien werden je nach System unterschiedlich eingelesen:

  • Auf klassischen Systemen mit sysctl lädt der Aufruf
  • sysctl --system standardmäßig:
  1. /run/sysctl.d/*.conf,
  2. /etc/sysctl.d/*.conf,
  3. /usr/local/lib/sysctl.d/*.conf,
  4. /usr/lib/sysctl.d/*.conf,
  5. /lib/sysctl.d/*.conf
  6. und zuletzt /etc/sysctl.conf
  • Spätere Einträge überschreiben frühere mit demselben Schlüssel


  • Auf systemd-basierten Systemen werden Kernel-Parameter beim Booten von systemd-sysctl anhand der Dateien in sysctl.d gesetzt
  • Je nach Distribution wird /etc/sysctl.conf dabei möglicherweise nicht mehr ausgewertet


  • Für lokale Anpassungen wird empfohlen, eine eigene Datei wie /etc/sysctl.d/99-local.conf anzulegen, statt /etc/sysctl.conf direkt zu bearbeiten



Anhang

Siehe auch

Dokumentation

Man-Page

Links

Projekt

  1. https://github.com/klaver/sysctl

Weblinks