#! /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 setglobal PATH = '/sbin:/bin' source /lib/init/vars.sh source /lib/lsb/init-functions proc do_start { test -f /etc/hostname && setglobal HOSTNAME = $[cat /etc/hostname] # Keep current name if /etc/hostname is missing. test -z $HOSTNAME && setglobal HOSTNAME = $[hostname] # And set it to 'localhost' if no setting was found test -z $HOSTNAME && setglobal HOSTNAME = 'localhost' test $VERBOSE != no && log_action_begin_msg "Setting hostname to '$HOSTNAME'" hostname $HOSTNAME setglobal ES = $Status test $VERBOSE != no && log_action_end_msg $ES exit $ES } proc do_status { setglobal HOSTNAME = $[hostname] if test $HOSTNAME { return 0 } else { return 4 } } match $1 { with start|"" do_start with restart|reload|force-reload echo "Error: argument '$1' not supported" > !2 exit 3 with stop # No-op with status do_status exit $? with * echo "Usage: hostname.sh [start|stop]" > !2 exit 3 } :