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

Similarly to hostname that can be changed in different ways:

  • temporarily using the hostname command
  • permanently using /etc/hostname (or /etc/sysconfig/network or /etc/HOSTNAME, these files are used by the init scripts)

I want to change my domain name. I can use the domainname command, but is there a way to make it permanent across reboots? I think it can be configured in /etc/resolv.conf but this file is generally generated and I don't know exactly the difference between search and domain directives. And at what time exactly the information there is passed to the domainname program to set the domain name?

Do you have any ideas on that?

I'd like to be mostly compatible across distributions. So if if anyone has pointers on the different distributions flavours, I'd gladly accept them.

share|improve this question
    
Every distribution does this differently. Which ones are you interested in? And did you read their documentation? –  Michael Hampton Mar 23 '13 at 21:30
    
Mostly RedHat and Debian flavours. And I couldn't find relevant information in the documentation. But perhaps I haven't looked hard enough, I admit I don't know exactly where in the documentation it could be (or even if it is in the docs). –  Mildred Mar 23 '13 at 22:21
1  
That's fair. In Red Hat's documentation, it's buried in an appendix. While in Debian's it's not buried in an appendix, but it is confusing... –  Michael Hampton Mar 23 '13 at 22:28
1  
@Michael This link on the debian mailing list is mostly useful, especially So to finally answer your question, you configure your FQDN wherever you want names resovled. If you want it in files on the box itself, then it goes in /etc/hosts. If you run your own name server like I do (I run dnsmasq for simplicity) then you only have to record the information in –  Mildred Mar 25 '13 at 9:16

2 Answers 2

Set FQDN

I'm using Debian 7 and this is what worked for me; thanks to Fernando Ribeiro.

sudo vim /etc/hostname

server # here's where you put the server's host name

activate hostname

sudo hostname -F /etc/hostname

add domain name and address to the server

sudo vim /etc/hosts

192.168.1.2   server.domain server

VERIFY

> hostname --short
server

> hostname --domain
domain

> hostname --fqdn
server.domain

> hostname --ip-address
192.168.1.2
share|improve this answer

When you use redhat-base systems, linux uses /etc/sysconfig/network file and you should set variable HOSTNAME to FQDN,when you use FQDN, linux itself determine domain name. for example:

HOSTNAME=web.mydomain.com

But when you use debian-base systesm, you should fill /etc/hostname file with FQDN:

web.mydomain.com

NOTE: if you want to set domain name be sure set FQDN (Fully Qualyfied Domain Name)

When you set, hostname -d show you domain name.

share|improve this answer
    
Thank you, but I was under the impression that these files should only contain the hostname without the domain part. If I do what you suggest, hostname will return the fqdn directly (no difference between hostname and hostname -f). –  Mildred Mar 23 '13 at 22:22
    
oh by the way, i forget to say you should set hostname by hand hostname web.mydomain.com after configure your files. because when you configure your file memory can't apply changes.(if it was useful, don't forget useful flag) –  Mohsen Pahlevanzadeh Mar 23 '13 at 23:29

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.