Sysctl: Unterschied zwischen den Versionen
Erscheinungsbild
Keine Bearbeitungszusammenfassung |
|||
| Zeile 83: | Zeile 83: | ||
== Anwendung == | == Anwendung == | ||
Alle verfügbaren Kernel-Parameter anzeigen: | |||
<syntaxhighlight lang="bash" highlight="1-8" line copy> | <syntaxhighlight lang="bash" highlight="1-8" line copy> | ||
/sbin/sysctl -a | /sbin/sysctl -a | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Nur den aktuellen Hostnamen ausgeben: | |||
<syntaxhighlight lang="bash" highlight="1-8" line copy> | <syntaxhighlight lang="bash" highlight="1-8" line copy> | ||
/sbin/sysctl -n kernel.hostname | /sbin/sysctl -n kernel.hostname | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Den Domainnamen zur Laufzeit setzen: | |||
<syntaxhighlight lang="bash" highlight="1-8" line copy> | <syntaxhighlight lang="bash" highlight="1-8" line copy> | ||
/sbin/sysctl -w kernel.domainname="example.com" | /sbin/sysctl -w kernel.domainname="example.com" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Einstellungen aus der Konfigurationsdatei neu einlesen: | |||
<syntaxhighlight lang="bash" highlight="1-8" line copy> | <syntaxhighlight lang="bash" highlight="1-8" line copy> | ||
/sbin/sysctl -p/etc/sysctl.conf | /sbin/sysctl -p/etc/sysctl.conf | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Nur Parameter auflisten, deren Name ''forward'' enthält: | |||
<syntaxhighlight lang="bash" highlight="1-8" line copy> | <syntaxhighlight lang="bash" highlight="1-8" line copy> | ||
/sbin/sysctl -a --pattern forward | /sbin/sysctl -a --pattern forward | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Nur Parameter auflisten, deren Name auf ''forward'' endet: | |||
<syntaxhighlight lang="bash" highlight="1-8" line copy> | <syntaxhighlight lang="bash" highlight="1-8" line copy> | ||
/sbin/sysctl -a --pattern forward$ | /sbin/sysctl -a --pattern forward$ | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Mit regulärem Ausdruck nur ARP-Parameter für eth0/wlan0 anzeigen: | |||
<syntaxhighlight lang="bash" highlight="1-8" line copy> | <syntaxhighlight lang="bash" highlight="1-8" line copy> | ||
/sbin/sysctl -a --pattern 'net.ipv4.conf.(eth|wlan)0.arp' | /sbin/sysctl -a --pattern 'net.ipv4.conf.(eth|wlan)0.arp' | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Systemweit alle Konfigurationsdateien einlesen und nur IPv6-Parameter anzeigen: | |||
<syntaxhighlight lang="bash" highlight="1-8" line copy> | <syntaxhighlight lang="bash" highlight="1-8" line copy> | ||
/sbin/sysctl --system --pattern '^net.ipv6' | /sbin/sysctl --system --pattern '^net.ipv6' | ||
Version vom 28. November 2025, 14:37 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 |
Anhang
Siehe auch
Dokumentation
- Man-Page
- sysctl.conf(5)
- regex(7)
Links
Projekt
Weblinks