70

I tried adding

dns-domain domain.com

to /etc/network/interfaces with no luck. When I run

hostname -d

I get an empty string

Drew
  • 801

7 Answers7

106

Edit /etc/hostname and add your unqualified hostname:

boson

Edit /etc/hosts:

sudo vi /etc/hosts

Add an entry of your desired hostname by replacing boson.dev.local boson where boson.dev.local is the fully qualified hostname and boson is hostname.

127.0.1.1 boson.dev.local boson

Restart the hostname service:

sudo service hostname restart

Test your configuration by opening a terminal and enter the below commands:

  • hostname
    • This should output boson
  • hostname -f
    • This should output boson.dev.local

Hope this helps.

Kzqai
  • 553
Manjunath
  • 141
  • 20
    It's important to note that the first domain in /etc/hosts should be your FQDN. I was stuck for quite some time :) – Birla Nov 08 '13 at 20:35
  • Thanks @Birla, I was wondering why it wasn't working until I read your comment – Erin Drummond Feb 19 '14 at 20:36
  • 1
    Note that if its not working, try restarting the hostname service (I needed to on 14.04) sudo service hostname restart – 00500005 Jan 31 '15 at 17:29
  • 1
    I was not able to restart the hostname service (linux mint 18.2). It worked anyway. – Gordon Oct 18 '17 at 14:15
17

The hostname command can be used to set the fully qualified hostname as well. Run it with the name passed as the first argument for that :

hostname www.example.com

This is only effective till a reboot, though. You can edit /etc/hostname for permanent changes.

For changing domainnames, the man page recommends the following :

Note, that only the super-user can change the names.

It is not possible to set the FQDN or the DNS domain name with the dnsdomainname command (see THE FQDN below).

The host name is usually set once at system startup in /etc/init.d/hostname.sh (normally by reading the contents of a file which contains the host name, e.g. /etc/hostname).

Usually you can set it in /etc/hosts

Nemo
  • 9,460
11

Put it in /etc/hostname.

For example, my machine is called hubble, so in my /etc/hostname I have:

ashton@hubble:~$ cat /etc/hostname
hubble.mydomain.blah.blah

You might need to reboot to get it to show up when you run uname though.

Eliah Kagan
  • 117,780
NOP
  • 278
3

​I use domain names to bind my shared storage to my user group TIGERGROUP. This method allows for the domain name TIGERGROUP to be used as a CIFS share. Think of TIGERGROUP domain name as WORKGROUP domain in windows. If you have a server HOST name (myhost.com) then just add that to then end after the domain name.

example:

vi /etc/hosts
127.0.0.1       localhost
127.0.1.1       Aspire-Petra16.TIGERGROUP          #i.e. desktop running Petra Mint16
192.168.1.25    sharedstorage-1.local.TIGERGROUP.myhost-name.com   #shared storage media player

If I want Samba to also pickup the domain name then I also add it to the smb.conf I don't use samba at home so it is really unnecessary unless you want to be though.

example:

vi /etc/samba/smb.conf

#scrolling down the file for workgroup   

# workgroup = WORKGROUP              # pen out the old name with pound key
   **workgroup = TIGERGROUP**         # add the preferred domain name.

restart services (can be done from the GUI or use cmd line.)

sudo /etc/init.d/samba restart
sudo /etc/init.d/networking restart
guntbert
  • 13,134
lee
  • 51
  • 4
0

Fine! You may follow the instructions given below

sudo vim /etc/hostname

Then, tap on the I key and use the arrow keys on your keyboard to navigate the text area; Next, enter the hostname of your choice and to save & exit, tap the Esc key, on your keyboard, followed by these keystrokes: :, w, q, and, finally, Enter.

If it exists, edit the file /etc/default/dhcpcd and comment out the SET_HOSTNAME directive, by executing:

sudo vim /etc/default/dhcpcd

Then, insert the # symbol at the beginning of the line that begins with SET_HOSTNAME=, as shown, below:

#SET_HOSTNAME='yes'

Finally, execute:

sudo service hostname restart

You may also need other reliable source for the complete settings. After you finished the settings you can check the domain details at WhoisXY.com where i checked the whois informations.

αғsнιη
  • 35,660
0

This is what worked for me :

  • Added the hostname to /etc/hostname file. This set the hostname. but not the FQDN yet.
  • Edited the /etc/hosts file

    127.0.0.1 my.fqdn.com localhost everything-else

0

Suppose you want to configure the domain to be "beast.local" and hostname to be "davebeast" such that the fqdn is "davebeast.beast.local" for a server who's IP is 192.168.100.100, this is how i did on Ubuntu 14.04 LTS.

dokwii@davebeast ~/Videos/zik $ cat /etc/*release DISTRIB_ID=LinuxMint DISTRIB_RELEASE=17 DISTRIB_CODENAME=qiana DISTRIB_DESCRIPTION="Linux Mint 17 Qiana" NAME="Ubuntu" VERSION="14.04, Trusty Tahr"

1. dokwii@davebeast ~/Videos/zik $ sudo vi /etc/hosts

127.0.0.1   localhost
127.0.1.1   davebeast
192.168.100.100 davebeast.beast.local   davebeast

2. sudo vi /etc/hostname

davebeast.beast.local

3. dokwii@davebeast ~/Videos/zik $ sudo service hostname restart

dokwii@davebeast ~/Videos/zik $ hostname -d #domain

Beast.local

dokwii@davebeast ~/Videos/zik $ hostname -s #hostname

davebeast

dokwii@davebeast ~/Videos/zik $ hostname -f #fqdn

davebeast.beast.local