When I recently installed and setup FreeBSD 5.1 on my box here at home,
I noticed that it didn't dynamically set the hostname for me. When I
used RedHat Linux 9 before it did.

I was puzzled by this at first, since RedHat and FreeBSD both use
dhclient (AFAIK), and I spent a few hours looking around for settings
for dhclient and found some information about require-hostname, and a
few other things. But, no matter what I tried, it didn't seem to work. I
continued to look for various articles about dynamic hostname
configuration and I am fairly certain I covered the relevant portions of
the handbook. Everything I've read seemed to indicate it should "just
work", but it wasn't.

Finally, after I couldn't find an answer anywhere, I devised my own
little hack. I modified /etc/rc.d/hostname like so:

hostname_start()
{
        ip=`ifconfig xl0 | grep 'inet ' | awk '{print $2}'`
        # Set the host name if it is not already set
        #
        if [ -z "`hostname -s`" ]; then
                if [ $ip ]; then
                        hostname=`host $ip | awk '{print $5}'`
                        hostname ${hostname}
                        echo "Setting hostname: `hostname`."
                fi
        fi
}

I then symlinked /etc/rc.d/hostname to
/usr/local/etc/rc.d/001.hostname.sh so that after the network interface
and everything had been brought up it would set my hostname correctly.
I'm sure this is probably an ugly and unnecessary hack, but I could find
no other way to get my hostname to be set properly :]

I'm quite willing to go debug or rip apart dhclient to figure out why it
isn't grabbing the hostname if someone points me in the right direction.
Any suggestions?

-- 
Shawn <[EMAIL PROTECTED]>
http://drevil.warpcore.org/

_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to