diff options
Diffstat (limited to 'init.d.BSD/hostid')
-rw-r--r-- | init.d.BSD/hostid | 17 |
1 files changed, 10 insertions, 7 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 |