I haven't been following this email chain, but I see that you asked:

Is there any way to tell that the hostname has been set via

 hostname some.random.address

rather via some init script reading /etc/sysconfig/network?

To satisfy my own curiosity I looked on an SL6.7 computer for how hostname gets set.
    In /etc/init.d/network, which brings networking up and down, are lines

 cd /etc/sysconfig/network-scripts
 . ./network-functions
 and calls to ifup.

The ifup script can invoke ifup-eth (in network-scripts), which can invoke ifup-post, which can do 'set_hostname $HOSTNAME', where set_hostname is one of the functions in the above mentioned network-functions. That function does 'hostname $1'. So ultimately the scripts that bring the network up apparently do the same thing as you would do by hand to set the hostname. With your current scripts I don't see how you can tell whether the init scripts set the hostname or a human did it. But you could save the current ifup-post just in case you want to restore it, and replace it with a version that calls net_log, also in network-functions, whenever ifup-post invokes set_hostname. For example, on SL6 I think it would work if just before the ifup-post line calling set_hostname you add a line

 net_log "Call set_hostname with hostname ${HOSTNAME}." info

Later you can compare the resulting line in /var/log/messages to what the hostname currently is.

Steven Yellin

On Thu, 17 Mar 2016, Loris Bennett wrote:

Brandon Vincent <[email protected]> writes:

On Mar 16, 2016 7:56 AM, "Loris Bennett"
<[email protected]> wrote:

Brandon Vincent <[email protected]> writes:

On Mar 15, 2016 3:44 AM, "Loris Bennett"
<[email protected]> wrote:
What other files could have an influence on what 'hostname' returns?

Could you post the output of

getent hosts [hostname] and getent hosts [ip] for both systems?

Also please post the hosts line from nsswitch.conf from both machines.

Brandon Vincent


[root@tadmin01 ~]# getent hosts tadmin01
10.141.235.254 tadmin01.test.cluster tadmin01
[root@tadmin01 ~]# getent hosts 10.141.235.254
10.141.235.254 tadmin01.test.cluster tadmin01

[root@tadmin02 ~]# getent hosts tadmin02
10.141.235.253 tadmin02.test.cluster tadmin02
[root@tadmin02 ~]# getent hosts 10.141.235.253
10.141.235.253 tadmin02.test.cluster tadmin02

[root@tadmin01 ~]# grep hosts /etc/nsswitch.conf
#hosts: db files nisplus nis dns
hosts: files dns

[root@tadmin02 ~]# grep hosts /etc/nsswitch.conf
#hosts: db files nisplus nis dns
hosts: files dns

Cheers,

Loris

--
Dr. Loris Bennett (Mr.)
ZEDAT, Freie Universität Berlin Email [email protected]

Looks good. Verify there is no /etc/hostname on the system (or if there is,
ensure the contents are correct.

Are you using NetworkManager or the traditional network service?

These IPs are static, right? Not assigned by DHCP but entered manually.

Brandon Vincent

OK, sorry for wasting everyone's time.  I rebooted tadmin02 and now I
get

 [root@tadmin02 ~]# hostname
 tadmin02

as expected.  I assume I must have done

 hostname tadmin.test.cluster

at some point.  Which begs the question:

Is there any way to tell that the hostname has been set via

 hostname some.random.address

rather via some init script reading /etc/sysconfig/network?

Thanks for all the help,

Loris

--
This signature is currently under construction.

Reply via email to