I noticed that, instead of the usual "localhost", the computer was
designated, out of the blue, a name called "dhcp-146-41". It was
subsequently concluded that this was the source of all the problems
(including inability to install printer driver, etc.)
Not sure why it's causing so many problems, but I can explain a little
bit about how the process works on
redhat.
First, the computer requests an ip from the dhcp server (called DHCP
request), then
dhcp server returns the computer's ip address and other network
information, including the dns server
(called DHCP ACK [ACK is for acknowledgment]). Some time during this
process the file
/etc/sysconfig/network gets sourced and certain environment variables
are set.
If HOSTNAME is one of the environment variables to get set and it is set
to something other than
"" or "localhost", then the hostname of the system is set to $HOSTNAME.
If HOSTNAME is not set, or it is set to "" or "localhost" then the
computer performs a reverse lookup on the ip
it was just given (by asking the dns server it was just told about).
Whatever results from this reverse lookup is the
hostname assigned to the system. If the reverse lookup fails, then the
hostname is set to localhost.
--Ray