table of contents
| SYSTEMD-SYSCTL.SERVICE(8) | systemd-sysctl.service | SYSTEMD-SYSCTL.SERVICE(8) |
NAME¶
systemd-sysctl.service, systemd-sysctl - Configure kernel parameters at boot
SYNOPSIS¶
/usr/lib/systemd/systemd-sysctl [OPTIONS...] [CONFIGFILE...]
systemd-sysctl.service
DESCRIPTION¶
systemd-sysctl.service is an early boot service that configures sysctl(8) kernel parameters by invoking /usr/lib/systemd/systemd-sysctl.
When invoked with no arguments, /usr/lib/systemd/systemd-sysctl applies all directives from configuration files listed in sysctl.d(5). When invoked with positional arguments, the configuration specified by the command line arguments is executed. If the string "-" is specified instead of a filename, the configuration is read from standard input. If the argument is a file name (without any slashes), all configuration directories are searched for a matching file and the file found that has the highest priority is executed. If the argument is a path, that file is used directly without searching the configuration directories for any other matching file.
In addition, --prefix= option may be used to limit which sysctl settings are applied.
See sysctl.d(5) for information about the configuration of sysctl settings. After sysctl configuration is changed on disk, it must be written to the files in /proc/sys/ before it takes effect. It is possible to update specific settings, or simply to reload all configuration, see Examples below.
OPTIONS¶
--prefix=
Added in version 230.
--strict
Added in version 252.
--verify
Added in version 262.
--inline
Added in version 259.
--save=FILENAME
Added in version 262.
--revert=FILENAME
Added in version 262.
--cat-config
--tldr
--no-pager
-h, --help
--version
CREDENTIALS¶
systemd-sysctl supports the service credentials logic as implemented by ImportCredential=/LoadCredential=/SetCredential= (see systemd.exec(5) for details). The following credentials are used when passed in:
sysctl.extra
Added in version 252.
Note that by default the systemd-sysctl.service unit file is set up to inherit the "sysctl.extra" credential from the service manager.
EXAMPLES¶
Example 1. Reset all sysctl settings
systemctl restart systemd-sysctl
Example 2. View coredump handler configuration
# sysctl kernel.core_pattern kernel.core_pattern = |/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t %P %I
Example 3. Update and verify coredump handler configuration
# /usr/lib/systemd/systemd-sysctl --prefix kernel.core_pattern --strict --verify
This searches all the directories listed in sysctl.d(5) for configuration files and writes /proc/sys/kernel/core_pattern. The sysctl variable is read back and verified. If writing or verification fails, the command exits with a non-zero status, unless the corresponding setting is prefixed with "-".
Example 4. Update coredump handler configuration according to a specific file
# /usr/lib/systemd/systemd-sysctl 50-coredump.conf
This applies all the settings found in 50-coredump.conf. Either /etc/sysctl.d/50-coredump.conf, or /run/sysctl.d/50-coredump.conf, or /usr/lib/sysctl.d/50-coredump.conf will be used, in the order of preference.
Example 5. Disable IPv6 on an interface and save the specified setting
# /usr/lib/systemd/systemd-sysctl --save=99-disable-ipv6-foo - <<EOF net.ipv6.conf.foo.disable_ipv6=1 EOF
This disables IPv6 on the network interface foo, and creates /run/sysctl.d/99-disable-ipv6-foo.conf.
Example 6. Remove a runtime sysctl configuration file
# /usr/lib/systemd/systemd-sysctl --revert=99-disable-ipv6-foo --prefix=/net/ipv6/conf/foo
This removes /run/sysctl.d/99-disable-ipv6-foo.conf, and applies the remaining sysctl settings for the network interface foo.
See sysctl(8) for various ways to directly apply sysctl settings.
SEE ALSO¶
| systemd 262~rc2 |