#!/bin/bash # # Copied from tripleo-image-element's sysctl element # # Validate and manage setting sysctl settings. # # The script is called with name/value pairs which are stored # in the system default sysctl.d directory. This script performs # no checking, just writing out the file. if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then set -x fi set -eu set -o pipefail NAME=${1:-} VALUE=${2:-} # Optional comment used to describe the setting COMMENT=${3:-"This file was created by diskimage-builder."} if [ -z "$NAME" -o -z "$VALUE" ]; then echo "Usage: sysctl-write-value [comment]" exit 1 fi FILENAME="/etc/sysctl.d/${NAME}.conf" if [ -f $FILENAME ]; then # check to make sure the settings match... otherwise fail if ! grep -q "^$NAME = $VALUE" $FILENAME; then echo "Conflicting sysctl.conf setting for $NAME == $VALUE. Found:" grep "^$NAME" $FILENAME exit 1 fi else cat > $FILENAME <