Sysctl: Unterschied zwischen den Versionen
Erscheinungsbild
Keine Bearbeitungszusammenfassung |
|||
| Zeile 158: | Zeile 158: | ||
:# ''/'''usr/lib'''/sysctl.d/*.conf'', | :# ''/'''usr/lib'''/sysctl.d/*.conf'', | ||
:# ''/'''lib'''/sysctl.d/*.conf'' | :# ''/'''lib'''/sysctl.d/*.conf'' | ||
:# | :# ''/'''etc'''/sysctl.conf'' | ||
* Spätere Einträge überschreiben frühere mit demselben Schlüssel | * Spätere Einträge überschreiben frühere mit demselben Schlüssel | ||
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
- /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