SYSTEROID(8)

NAME
systeroid - configure kernel parameters at runtime

SYNOPSIS
systeroid [options] [variable[=value] ...] --load[=<file>]

DESCRIPTION
systeroid is used to modify kernel parameters at runtime. The parameters available are those listed under /proc/sys/. Procfs is required for systeroid support in Linux. You can use systeroid to both read and write sysctl data.

PARAMETERS

variable
    The name of a key to read from. An example is kernel.ostype. The '/' separator is also accepted in place of a '.'.

variable=value
    To set a key, use the form variable=value where variable is the key and value is the value to set it to. If the value contains quotes or characters which are parsed by the shell, you may need to enclose the value in double quotes.

-a, --all
    Display all variables currently available. (-A,-X)

-T, --tree
    Display the variables in a tree-like format.

-J, --json
    Display the variables in JSON format.

--deprecated
    Include deprecated parameters to --all values listing.

-e, --ignore
    Use this option to ignore errors about unknown keys.

-N, --names
    Use this option to only print the names. It may be useful with shells that have programmable completion.

-n, --values
    Use this option to disable printing of the key name when printing values.

-b, --binary
    Print only variable values without new line.

-p[FILE], --load[=FILE]
    Load in sysctl settings from the file specified or /etc/sysctl.conf if none given. Specifying - as filename means reading data from standard input.

-S, --system
    Load settings from all system configuration files. See the CONFIGURATION section below.

-r, --pattern <expr>
    Only apply settings that match pattern. The pattern uses extended regular expression syntax.

-q, --quiet
    Use this option to not display the values set to stdout.

-w, --write
    Use this option when all arguments prescribe a key to be set.

-E, --explain
    Use this option to print a detailed explanation of a variable.

-D, --docs <path>
    Use this option to set a custom path for the kernel documentation.

-P, --no-pager
    Use this option to disable piping output into a pager.

-v, --verbose
    Use this option to enable verbose logging.

--tui
    Use this option to show the terminal user interface. systeroid-tui binary should be present in $PATH. See systeroid-tui(8) for more information.

-h, --help
    Display help text and exit. (-d)

-V, --version
    Display version information and exit.

EXAMPLES
systeroid -a
systeroid -t
systeroid vm user
systeroid -n kernel.hostname
systeroid kernel.domainname="example.com"
systeroid dmesg_restrict=0
systeroid -p /etc/sysctl.conf
systeroid -r 'net.ipv4.conf.(eth|wlan)0.arp'
systeroid --names --tree --pattern 'kernel.*_max$'
systeroid --explain oom_dump_tasks
systeroid -E user.max_user_namespaces --docs /usr/share/doc/linux
systeroid --no-pager -E kernel.ctrl-alt-del
systeroid --tui

DEPRECATED PARAMETERS
The base_reachable_time and retrans_time are deprecated. The systeroid command does not allow changing values of these parameters. Users who insist to use deprecated kernel interfaces should push values to /proc file system by other means. For example:

echo 256 > /proc/sys/net/ipv6/neigh/eth0/base_reachable_time

CONFIGURATION
sysctl.conf is a simple file containing sysctl values to be read in and set by systeroid. The syntax is simply as follows:

    # comment
    ; comment
    token = value

Note that blank lines are ignored, and whitespace before and after a token or value is ignored, although a value can contain whitespace within. Lines which begin with a # or ; are considered comments and ignored. If a line begins with a single -, any attempts to set the value that fail will be ignored.

  EXAMPLE

    # sysctl.conf sample
    #
      kernel.domainname = example.com
    ; this one has a space which will be written to the sysctl!
      kernel.modprobe = /sbin/mod probe

  FILES
When using the --system option, systeroid will read files from directories in the following list. /etc/sysctl.d/*.conf
/run/sysctl.d/*.conf
/usr/local/lib/sysctl.d/*.conf
/usr/lib/sysctl.d/*.conf
/lib/sysctl.d/*.conf
/etc/sysctl.conf

SEE ALSO
systeroid-tui(8)

AUTHOR
Orhun Parmaksız (orhunparmaksiz@gmail.com)

COPYRIGHT
Copyright © 2022-2024 Orhun Parmaksız
    Licensed under either of Apache License Version 2.0 or The MIT License at your option.

REPORTING BUGS
Report bugs at <https://github.com/orhun/systeroid/issues> or contact the author via email.
    See the project homepage at <https://github.com/orhun/systeroid> for full documentation.