#! /bin/sh ### BEGIN INIT INFO # Provides: hostname # Required-Start: # Required-Stop: # Should-Start: glibc # Default-Start: S # Default-Stop: # Short-Description: Set hostname based on /etc/hostname # Description: Read the machines hostname from /etc/hostname, and # update the kernel value with this value. If # /etc/hostname is empty, the current kernel value # for hostname is used. If the kernel value is # empty, the value 'localhost' is used. ### END INIT INFO setvar PATH = "/sbin:/bin" source /lib/init/vars.sh source /lib/lsb/init-functions proc do_start { test -f /etc/hostname && setvar HOSTNAME = "$(cat /etc/hostname)" # Keep current name if /etc/hostname is missing. test -z $HOSTNAME && setvar HOSTNAME = "$(hostname)" # And set it to 'localhost' if no setting was found test -z $HOSTNAME && setvar HOSTNAME = 'localhost' test $VERBOSE != no && log_action_begin_msg "Setting hostname to '$HOSTNAME'" hostname $HOSTNAME setvar ES = ""$? test $VERBOSE != no && log_action_end_msg $ES exit $ES } proc do_status { setvar HOSTNAME = $(hostname) if test $HOSTNAME { return 0 } else { return 4 } } case (1) { start|"" { do_start } restart|reload|force-reload { echo "Error: argument '$1' not supported" >&2 exit 3 } stop { # No-op } status { do_status exit $? } * { echo "Usage: hostname.sh [start|stop]" >&2 exit 3 } } :