Categorygithub.com/lorenzosaino/go-sysctl
modulepackage
0.3.1
Repository: https://github.com/lorenzosaino/go-sysctl.git
Documentation: pkg.go.dev

# README

Go Sysctl

GoDoc Build Go Report Card License

Go wrapper around the sysctl interface.

Documentation

See Go doc.

Usage

import sysctl "github.com/lorenzosaino/go-sysctl"

var (
    val string
    vals map[string]string
    err error
)

// Get value of a single sysctl
// This is equivalent to running "sysctl <key>"
val, err = sysctl.Get("net.ipv4.ip_forward")

// Get the values of all sysctls matching a given pattern
// This is equivalent to running "sysctl -a -r <pattern>"
vals, err = sysctl.GetPattern("net.ipv4.ipfrag")

// Get the values of all sysctls
// This is equivalent to running "sysctl -a"
vals, err = sysctl.GetAll()

// Set the value of a sysctl
// This is equivalent to running "sysctl -w <key>=<value>"
err = sysctl.Set("net.ipv4.ip_forward", "1")

// Set sysctl values from configuration file
// This is equivalent to running "sysctl -p <config-file>"
err = sysctl.LoadConfigAndApply("/etc/sysctl.conf")

License

BSD 3-clause

# Functions

Get returns a sysctl from a given key.
GetAll returns all sysctls.
GetPattern returns a map of sysctls matching a given pattern The pattern uses a POSIX extended regular expression syntax.
LoadConfig gets sysctl values from a list of sysctl configuration files.
LoadConfigAndApply sets sysctl values from a list of sysctl configuration files.
NewClient returns a new Client.
Set updates the value of a sysctl.

# Constants

DefaultPath is the default path to the sysctl virtual files.

# Structs

Client is a client for reading and writing sysctls.