Sysctl: Unterschied zwischen den Versionen
Erscheinungsbild
Keine Bearbeitungszusammenfassung |
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
|
| -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
| ||
| -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:
- /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
Anhang
Siehe auch
Dokumentation
- Man-Page
- sysctl.conf(5)
- regex(7)
Links
Projekt
Weblinks