Main Page | Report this Page
 
   
Linux Forum Index  »  Linux Networking  »  /bin/hostname...
Page 1 of 1    
Author Message
Vwaju...
Posted: Fri Aug 22, 2008 9:55 am
Guest
I am having trouble with my Debian Linux network configuration, and I
am trying to isolate the problem. The name of my host is "jupiter"
and the name of my domain is "obliqueuniverse.org".

jupiter:~# echo jupiter.obliqueuniverse.org > /etc/hostname

jupiter:~# cat /etc/hosts | sed –n 1p
127.0.0.1 localhost.localdomain localhost jupiter

jupiter:~# cat /etc/hosts | sed –n 4p
207.237.37.110 jupiter.obliqueuniverse.org jupiter

I believe that /bin/hostname without options should output the host
name "jupiter", but it doesn't. Here's what I get when I run /bin/
hostname:

jupiter:~# /bin/hostname -–domain
obliqueuniverse.org # AS EXPECTED

jupiter:~# hostname –-fqdn
jupiter.obliqueuniverse.org # # AS EXPECTED

jupiter:~# /bin/hostname –-ip-address
207.237.37.110 # AS EXPECTED

jupiter:~# /bin/hostname –short
jupiter # AS EXPECTED

jupiter:~# /bin/hostname –nis
(none) # ? ? ?

jupiter:~# /bin/hostname
jupiter.obliqueuniverse.org # EXPECTED "jupiter"

jupiter:~# /bin/hostname –F /etc/hostname
<NO OUTPUT> # EXPECTED "jupiter"

jupiter:~# /bin/hostname –-alias
jupiter # NOW HOSTNAME IS PRINTED!

Can anyone shed light on the last 4 results?

Thanks & Best Regards,

Vwaju
New York City
Bit Twister...
Posted: Fri Aug 22, 2008 10:16 am
Guest
On Fri, 22 Aug 2008 12:55:59 -0700 (PDT), Vwaju wrote:
Quote:
I am having trouble with my Debian Linux network configuration, and I
am trying to isolate the problem. The name of my host is "jupiter"
and the name of my domain is "obliqueuniverse.org".

jupiter:~# echo jupiter.obliqueuniverse.org > /etc/hostname

jupiter:~# cat /etc/hosts | sed –n 1p
127.0.0.1 localhost.localdomain localhost jupiter

jupiter:~# cat /etc/hosts | sed –n 4p
207.237.37.110 jupiter.obliqueuniverse.org jupiter

grep jupiter /etc/hosts
127.0.0.1 localhost.localdomain localhost jupiter
207.237.37.110 jupiter.obliqueuniverse.org jupiter

Why do you have jupiter on more than one line. Sad
Look at the ip address when you do a
ping -c1 jupiter


Quote:
I believe that /bin/hostname without options should output the host
name "jupiter", but it doesn't.

Quick look in man hostname, indicates gethostname is used.
man gethostname shows CONFORMING TO
POSIX.1-2001
so I am going to guess hostname default is FQDN.


Quote:
jupiter:~# /bin/hostname –nis
(none) # ? ? ?

Guessing your nis server is not running.


Quote:
jupiter:~# /bin/hostname
jupiter.obliqueuniverse.org # EXPECTED "jupiter"

I would expect that on a POSIX compliant system.


Quote:
jupiter:~# /bin/hostname –F /etc/hostname
NO OUTPUT> # EXPECTED "jupiter"

You told hostname to set hostname from /etc/hostname, not display it.


Quote:
jupiter:~# /bin/hostname –-alias
jupiter # NOW HOSTNAME IS PRINTED!

no surprise there because your earlier test showed
/bin/hostname –short
jupiter
Vwaju...
Posted: Fri Aug 22, 2008 11:49 am
Guest
On Aug 22, 4:16 pm, Bit Twister <BitTwis... at (no spam) mouse-potato.com> wrote:
Quote:
On Fri, 22 Aug 2008 12:55:59 -0700 (PDT), Vwaju wrote:
I am having trouble with my Debian Linux network configuration, and I
am trying to isolate the problem. The name of my host is "jupiter"
and the name of my domain is "obliqueuniverse.org".

jupiter:~# echo jupiter.obliqueuniverse.org > /etc/hostname

jupiter:~# cat /etc/hosts | sed –n 1p
127.0.0.1 localhost.localdomain localhost jupiter

jupiter:~# cat /etc/hosts | sed –n 4p
207.237.37.110 jupiter.obliqueuniverse.org jupiter

grep jupiter /etc/hosts
127.0.0.1 localhost.localdomain localhost jupiter
207.237.37.110 jupiter.obliqueuniverse.org jupiter

Why do you have jupiter on more than one line. Sad

I am working from Linux System Administration (LSA) Adelstein &
Lubanovic, O'Reilly, 2007 (p. 14). LSA is a detailed guide to building
an internet server on Debian Linux ("sarge"), which is what I am
running.

I added the second line (following LSA) because I am building an
internet server with a static IP address, and there needs to be a line
in /etc/hosts that maps the host and the FQDN to the static IP
address.

Quote:
Look at the ip address when you do a
ping -c1 jupiter

jupiter:~# ping –c1 jupiter | sed –n 1p
PING localhost.localdomain (127.0.0.1) 56(84) bytes of data

Quote:
I believe that /bin/hostname without options should output the host
name "jupiter", but it doesn't.

According to LSA, if I execute
echo myserver.mydomain.org > /etc/hostname
and then
/bin/hostname –F /etc/hostname
then /bin/hostname should print "myserver" (the hostname w/o the
domain name)

What do you get on your system?

Thanks for helping a neophyte, Twister.

Best Regards,
Vwaju
New York City
Bit Twister...
Posted: Fri Aug 22, 2008 12:36 pm
Guest
On Fri, 22 Aug 2008 14:49:27 -0700 (PDT), Vwaju wrote:
Quote:
On Aug 22, 4:16 pm, Bit Twister <BitTwis... at (no spam) mouse-potato.com> wrote:

grep jupiter /etc/hosts
127.0.0.1 localhost.localdomain localhost jupiter
207.237.37.110 jupiter.obliqueuniverse.org jupiter

Why do you have jupiter on more than one line. :(


I added the second line (following LSA) because I am building an
internet server with a static IP address, and there needs to be a line
in /etc/hosts that maps the host and the FQDN to the static IP
address.

I would remove jupiter from the 127.0.0.1 line.
I know when I ping jupiter I would want 207.237.37.110, not 127.0.0.1

Quote:
then /bin/hostname should print "myserver" (the hostname w/o the
domain name)

What do you get on your system?

Mandrvia 2008.1 fqdn
fedora 9 fqdn
slack 12.1 short name
kubuntu 8.04 short name
Mandrvia 2009.0 fqdn
pc linux 2007 fqdn
suse 10.3 short name
suse 11.0 short name
Moe Trin...
Posted: Sat Aug 23, 2008 4:08 pm
Guest
On Fri, 22 Aug 2008, in the Usenet newsgroup comp.os.linux.networking, in
article <be279293-c8d6-4ea1-83db-4d5c3782cb37 at (no spam) j22g2000hsf.googlegroups.com>,
Vwaju wrote:

NOTE: Posting from groups.google.com (or some web-forums) dramatically
reduces the chance of your post being seen. Find a real news server.

Quote:
Bit Twister <BitTwis... at (no spam) mouse-potato.com> wrote:

grep jupiter /etc/hosts
127.0.0.1 localhost.localdomain localhost jupiter
207.237.37.110 jupiter.obliqueuniverse.org jupiter

Why do you have jupiter on more than one line. :(

I am working from Linux System Administration (LSA) Adelstein &
Lubanovic, O'Reilly, 2007 (p. 14). LSA is a detailed guide to building
an internet server on Debian Linux ("sarge"), which is what I am
running.

"sarge" (version 3.1) was superseded about a bit over a year ago by
"etch" (version 4.0). Use the command 'cat /etc/debian_version' to see
what you are using. (It's a common problem that printed books are
often dealing with old or even obsolete versions.) Please review the
section about updating the system before you offer an older system to
the bad d00ds on the Internet.

Quote:
I added the second line (following LSA) because I am building an
internet server with a static IP address, and there needs to be a line
in /etc/hosts that maps the host and the FQDN to the static IP
address.

That is correct, but why is it ALSO a nickname (alias) for localhost?

The concept is that a name appears on one, and only one line in the
/etc/hosts file. Likewise, an IP address should appear on one line
only. Many operating systems will _tolerate_ having the same name or
IP address on multiple lines, but it can give unexpected results.

The 'localhost' alias of 'jupiter' isn't needed. If _ON_ 'jupiter'
you want to send packets to 'jupiter' or 'jupiter.obliqueuniverse.org',
the kernel will look at /etc/host.conf (old applications) or
/etc/nsswitch.conf to see where/how to look up names.

[compton ~]$ grep host /etc/host.conf /etc/nsswitch.conf
/etc/host.conf:order hosts,bind
/etc/nsswitch.conf:hosts: files nis dns
[compton ~]$

Here, both files say to check the /etc/hosts file FIRST. Looking in
your /etc/hosts file, it would find the rcn.com address. But the
kernel is smart, and knows that this address is one of it's addresses
and rather than clutter up the wire with useless noise, it would use
the loopback address - it knows it is talking to itself, not some host
out on the Internet.

Quote:
then /bin/hostname should print "myserver" (the hostname w/o the
domain name)

What do you get on your system?

Linux distributions are supposed to follow Linux Standard Base standards,
and one of those is the Base Core Specification:

------------------
Linux Standard Base Core Specification 3.2

Section 15.2 Command Behavior

Name

hostname -- show or set the system's host name

Synopsis

hostname [name]

Description

hostname is used to either display or, with appropriate privileges, set
the current host name of the system. The host name is used by many
applications to identify the machine.

When called without any arguments, the program displays the name of the
system as returned by the gethostname() function.

When called with a name argument, and the user has appropriate
privilege, the command sets the host name.

Note: It is not specified if the hostname displayed will be a fully
qualified domain name. Applications requiring a particular format of
hostname should check the output and take appropriate action.

------------------

See that note on the end of the requirement? It always is a good idea
to look at the manual page for commands you are unfamiliar with. As Bit
shows in his response, you may get different results depending on which
distribution you are using. And by the way, my systems also return the
FQDN.

Old guy
Vwaju...
Posted: Mon Aug 25, 2008 9:56 am
Guest
On Aug 23, 5:08 pm, ibupro... at (no spam) painkiller.example.tld (Moe Trin) wrote:
Quote:
On Fri, 22 Aug 2008, in the Usenet newsgroup comp.os.linux.networking, in
article <be279293-c8d6-4ea1-83db-4d5c3782c... at (no spam) j22g2000hsf.googlegroups.com>,

Vwaju wrote:

NOTE: Posting from groups.google.com (or some web-forums) dramatically
reduces the chance of your post being seen. Find a real news server.

Bit Twister <BitTwis... at (no spam) mouse-potato.com> wrote:
grep jupiter /etc/hosts
127.0.0.1 localhost.localdomain localhost jupiter
207.237.37.110 jupiter.obliqueuniverse.org jupiter

Why do you have jupiter on more than one line. :(

I am working from Linux System Administration (LSA) Adelstein &
Lubanovic, O'Reilly, 2007 (p. 14). LSA is a detailed guide to building
an internet server on Debian Linux ("sarge"), which is what I am
running.

"sarge" (version 3.1) was superseded about a bit over a year ago by
"etch" (version 4.0). Use the command 'cat /etc/debian_version' to see
what you are using. (It's a common problem that printed books are
often dealing with old or even obsolete versions.) Please review the
section about updating the system before you offer an older system to
the bad d00ds on the Internet.

I added the second line (following LSA) because I am building an
internet server with a static IP address, and there needs to be a line
in /etc/hosts that maps the host and the FQDN to the static IP
address.

That is correct, but why is it ALSO a nickname (alias) for localhost?

The concept is that a name appears on one, and only one line in the
/etc/hosts file. Likewise, an IP address should appear on one line
only. Many operating systems will _tolerate_ having the same name or
IP address on multiple lines, but it can give unexpected results.

The 'localhost' alias of 'jupiter' isn't needed. If _ON_ 'jupiter'
you want to send packets to 'jupiter' or 'jupiter.obliqueuniverse.org',
the kernel will look at /etc/host.conf (old applications) or
/etc/nsswitch.conf to see where/how to look up names.

[compton ~]$ grep host /etc/host.conf /etc/nsswitch.conf
/etc/host.conf:order hosts,bind
/etc/nsswitch.conf:hosts: files nis dns
[compton ~]$

Here, both files say to check the /etc/hosts file FIRST. Looking in
your /etc/hosts file, it would find the rcn.com address. But the
kernel is smart, and knows that this address is one of it's addresses
and rather than clutter up the wire with useless noise, it would use
the loopback address - it knows it is talking to itself, not some host
out on the Internet.

then /bin/hostnameshould print "myserver" (the hostname w/o the
domain name)

What do you get on your system?

Linux distributions are supposed to follow Linux Standard Base standards,
and one of those is the Base Core Specification:

------------------
Linux Standard Base Core Specification 3.2

Section 15.2 Command Behavior

Name

hostname -- show or set the system's host name

Synopsis

hostname [name]

Description

hostname is used to either display or, with appropriate privileges, set
the current host name of the system. The host name is used by many
applications to identify the machine.

When called without any arguments, the program displays the name of the
system as returned by the gethostname() function.

When called with a name argument, and the user has appropriate
privilege, the command sets the host name.

Note: It is not specified if the hostname displayed will be a fully
qualified domain name. Applications requiring a particular format of
hostname should check the output and take appropriate action.

------------------

See that note on the end of the requirement? It always is a good idea
to look at the manual page for commands you are unfamiliar with. As Bit
shows in his response, you may get different results depending on which
distribution you are using. And by the way, my systems also return the
FQDN.

Old guy

Thank you for the helpful pointers, Old Guy. I had read the man page
for hostname, but was not aware of the Linux Standard Base Core
Specification 3.2)

Best Regards,
Vwaju
NYC
 
Page 1 of 1       All times are GMT - 5 Hours
The time now is Thu Dec 04, 2008 4:40 pm