Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

What is the Solaris equivalent of the Linux hostname -f command? On Solaris, when I type hostname, I receive the short name but I need to get the FQDN.

Typing hostname -f sets the short name to be "-f", and the manpage for hostname is pitiful.

share|improve this question
    
/etc/nodename just lists shortname for the server. The /etc/hostname.* files are all giving me an error when I try to cat them :( –  Matthew Nov 18 '11 at 18:48
    
What errors do you get with /etc/hostname.if? If those are corrupted then you have bigger problems. –  James O'Gorman Dec 6 '11 at 20:27
    
This question has also been asked before. Here's the previous answer: serverfault.com/questions/229706/… –  scottm32768 Mar 20 '13 at 2:02

3 Answers 3

This is likely to work:

perl -mNet::Domain -e 'print Net::Domain::hostfqdn(), "\n"'

but it's not guaranteed. You can view the module source:

perldoc -m Net::Domain

to see how it works (if you know Perl well enough).

share|improve this answer

If you are on a system that the DNS knows about, you could try this:

bash-3.00# nslookup `hostname` | grep 'Name:' | awk '{print $2}'
ep60.bar.foo.com

or, as suggested by a commenter, use "host" instead of nslookup:

host $(hostname) | cut -d" " -f1

I tested this successfully on Linux, Solaris, AIX, and HP-UX.

share|improve this answer
    
nslookup has been deprecated for a long time. host or dig are preferred and would involve fewer pipes: host $(hostname) | cut -d" " -f1 –  James O'Gorman Dec 6 '11 at 20:26
    
@JamesO'Gorman nslookup is part of the POSIX standard, only a hairbrain OS wouldn't include it these days. –  Chris S Mar 20 '13 at 4:04
    
@ChrisS True, and nslookup generally still comes with host and dig in the BIND utilities package (OS/distro dependent) but the output from dig is BIND zonefile-compatible and host is slightly easier to parse, therefore I'd say it's better to use host or dig if you can. –  James O'Gorman Mar 21 '13 at 9:03
check-hostname | awk '{ print $NF }'
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.