|
|
| (7 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) |
| Zeile 2: |
Zeile 2: |
|
| |
|
| == Beschreibung == | | == Beschreibung == |
| '''''sysctl''''' stellt ein Benutzerraum-Frontend für Kernel-Parameter im virtuellen Dateisystem [[/proc/sys]] bereit
| | ; Benutzerspace-Frontend für Kernel-Parameter |
| * Der Zugriff auf diese Parameter erfolgt über das Pseudo-Dateisystem [[Procfs]], das auf ''/proc'' eingehängt sein muss | | * Zugriff erfolgt über das Pseudo-Dateisystem [[Procfs]] |
| * Schreibzugriffe über ''sysctl -w'' ändern Werte im laufenden Kernel, sind jedoch nicht dauerhaft und gehen nach einem Neustart verloren
| | * das auf ''/proc'' eingehängt sein muss |
| | |
| | ; Schreibzugriffe |
| | Schreibzugriffe über ''sysctl -w'' ändern Werte im laufenden Kernel |
| | * sind jedoch nicht dauerhaft und gehen nach einem Neustart verloren |
|
| |
|
| ; Einstellungen | | ; Einstellungen |
| Zeile 81: |
Zeile 85: |
| | -V || --version || || Versionsinformation anzeigen und beenden | | | -V || --version || || Versionsinformation anzeigen und beenden |
| |} | | |} |
|
| |
| == Anwendung ==
| |
|
| |
| Alle verfügbaren Kernel-Parameter anzeigen:
| |
| <syntaxhighlight lang="bash" highlight="1-8" line copy>
| |
| /sbin/sysctl -a
| |
| </syntaxhighlight>
| |
|
| |
| Nur den aktuellen Hostnamen ausgeben:
| |
| <syntaxhighlight lang="bash" highlight="1-8" line copy>
| |
| /sbin/sysctl -n kernel.hostname
| |
| </syntaxhighlight>
| |
|
| |
| Den Domainnamen zur Laufzeit setzen:
| |
| <syntaxhighlight lang="bash" highlight="1-8" line copy>
| |
| /sbin/sysctl -w kernel.domainname="example.com"
| |
| </syntaxhighlight>
| |
|
| |
| Einstellungen aus der Konfigurationsdatei neu einlesen:
| |
| <syntaxhighlight lang="bash" highlight="1-8" line copy>
| |
| /sbin/sysctl -p/etc/sysctl.conf
| |
| </syntaxhighlight>
| |
|
| |
| Nur Parameter auflisten, deren Name ''forward'' enthält:
| |
| <syntaxhighlight lang="bash" highlight="1-8" line copy>
| |
| /sbin/sysctl -a --pattern forward
| |
| </syntaxhighlight>
| |
|
| |
| Nur Parameter auflisten, deren Name auf ''forward'' endet:
| |
| <syntaxhighlight lang="bash" highlight="1-8" line copy>
| |
| /sbin/sysctl -a --pattern forward$
| |
| </syntaxhighlight>
| |
|
| |
| Mit regulärem Ausdruck nur ARP-Parameter für eth0/wlan0 anzeigen:
| |
| <syntaxhighlight lang="bash" highlight="1-8" line copy>
| |
| /sbin/sysctl -a --pattern 'net.ipv4.conf.(eth|wlan)0.arp'
| |
| </syntaxhighlight>
| |
|
| |
| Systemweit alle Konfigurationsdateien einlesen und nur IPv6-Parameter anzeigen:
| |
| <syntaxhighlight lang="bash" highlight="1-8" line copy>
| |
| /sbin/sysctl --system --pattern '^net.ipv6'
| |
| </syntaxhighlight>
| |
|
| |
| == Konfiguration ==
| |
| === Dateien ===
| |
| {| class="wikitable options big"
| |
| |-
| |
| ! 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
| |
|
| |
|
|
| |
|
sysctl - Kernel-Parameter zur Laufzeit konfigurieren
Beschreibung
- Benutzerspace-Frontend für Kernel-Parameter
- Zugriff erfolgt über das Pseudo-Dateisystem Procfs
- das auf /proc eingehängt sein muss
- Schreibzugriffe
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
|
Anhang
Siehe auch
Dokumentation
- Man-Page
Links
Projekt
- https://github.com/klaver/sysctl
Weblinks