diff options
Diffstat (limited to 'init.d.BSD')
-rw-r--r-- | init.d.BSD/hostid | 17 | ||||
-rw-r--r-- | init.d.BSD/sysctl | 2 |
2 files changed, 11 insertions, 8 deletions
diff --git a/init.d.BSD/hostid b/init.d.BSD/hostid index 9df83550..5f8bfb04 100644 --- a/init.d.BSD/hostid +++ b/init.d.BSD/hostid @@ -34,18 +34,21 @@ depend() { _set() { local id=0 - [ -n "$1" ] && id=$1 - ebegin "Setting Host UUID: ${id}" - sysctl kern.hostuuid="${id}" >/dev/null - eend $? || return 1 - if [ -n "$1" ]; then id=$(echo "$1" | md5) id="0x${id%????????????????????????}" fi ebegin "Setting Host ID: ${id}" - sysctl kern.hostid="${id}" >/dev/null - eend $? + sysctl -w kern.hostid="${id}" >/dev/null + eend $? || return 1 + + if sysctl -n kern.hostuuid >/dev/null 2>&1; then + [ -n "$1" ] && id=$1 + ebegin "Setting Host UUID: ${id}" + sysctl kern.hostuuid="${id}" >/dev/null + eend $? || return 1 + fi + } # First we check to see if there is a system UUID diff --git a/init.d.BSD/sysctl b/init.d.BSD/sysctl index d4c27ee5..fa13751d 100644 --- a/init.d.BSD/sysctl +++ b/init.d.BSD/sysctl @@ -37,7 +37,7 @@ start() { case "${var}" in ""|"#"*) continue;; esac - sysctl "${var}" >/dev/null || retval=1 + sysctl -w "${var}" >/dev/null || retval=1 done < /etc/sysctl.conf eend ${retval} "Some errors were encountered" eend $? |