aboutsummaryrefslogtreecommitdiff
path: root/init.d.BSD
diff options
context:
space:
mode:
Diffstat (limited to 'init.d.BSD')
-rw-r--r--init.d.BSD/hostid17
-rw-r--r--init.d.BSD/sysctl2
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 $?