Set hostname and FQDN in Ubuntu without reboot
I will first start with definition of FQDN because many people have confusion over it. Hostname and FQDN both are little bit different.It is best to give the reference from wikipedia so that there should be no dispute.
FQDN or Fully Qualified Domain Name: With reference form Wikipedia
A fully qualified domain name (FQDN), sometimes also referred as an absolute domain name,[1] is a domain name that specifies its exact location in the tree hierarchy of the Domain Name System (DNS). It specifies all domain levels, including the top-level domain and the root zone.[2] A fully qualified domain name is distinguished by its lack of ambiguity: it can only be interpreted one way. FQDNs first arose out of the need for uniformity as the Internet was quickly growing in size in the late 1980s
For example, given a device with a local hostname myhost and a parent domain name example.com, the fully qualified domain name is myhost.example.com. The FQDN therefore uniquely identifies the device —while there may be many hosts in the world called myhost, there can only be one myhost.example.com. In the Domain Name System, and most notably, in DNS zone files, a fully qualified domain name is specified with a trailing dot. For example,
somehost.example.com.
Hostname : With reference from Wikipedia
A hostname is a label that is assigned to a device connected to a computer network and that is used to identify the device in various forms of electronic communication such as the World Wide Web, e-mail or Usenet. Hostnames may be simple names consisting of a single word or phrase, or they may have appended a domain name, which is a name in a Domain Name System (DNS), separated from the host specific label by a period (dot). In the latter form, the hostname is also called a domain name. If the domain name is completely specified including a top-level domain of the Internet, then the hostname is said to be a fully qualified domain name (FQDN).
Example: ‘saturn’ and ‘jupiter’ could be the hostnames of a couple of devices connected to a network called Alpha. Within Alpha the devices are reached by their hostname. Alpha could be configured so that its domain name is ‘alpha’ (in lower case letters). In that case, the mentioned devices’ hostnames, including the domain-name, would be ‘saturn.alpha’ and ‘jupiter.alpha’, respectively. With these names they could be reached in a private network of networks, each with its own domain name. If alpha is registered and can be reached as alpha.net on the Internet, then the fully qualified domain names for the devices would be ‘saturn.alpha.net’ and ‘jupiter.alpha.net’
How to find hostname in linux by command
(1) To get the hostname of system use the below given command
hostname
See the output of command
root@mailubuntu:~# hostname
mailubuntu
root@mailubuntu:~#
How to find FQDN in linux by command
Use the below command in linux to find FQDN
hostname -f
See the below given output
root@mailubuntu:~# hostname -f
mailubuntu.example.com
root@mailubuntu:~#
How to set hostname and FQDN in Ubuntu without reboot
Step 1: Get the ip address of system by using the command ifconfig
Step 2: Edit the /etc/hosts file. And follow the given pattern
IP-Address-of-system hostname.domainname.TLD hostname
eg.
192.168.168.15 mailubuntu.example.com mailubuntu
Here,
Hostname = mailubuntu
Domainname = example
TLD = .com
Note: Read about TLD
FQDN = hostname+domainname+tld
Hence, FQDN = mailubuntu.example.com
While installating Ubuntu, system asked me for giving hostname at that time I gave hostname as mailubuntu. Hence , in /etc/hosts file you can see the line 127.0.1.1 mailubuntu, which is I commented by using # symbol.
So,uncomment the line “127.0.1.1 hostname”
Write new line with this pattern as I described short above
IP-Address-of-system hostname.domainname.TLD hostname
eg.
192.168.168.15 mailubuntu.example.com mailubuntu
See the reference of my system’s /etc/hosts file
root@mailubuntu:~# vi /etc/hosts 127.0.0.1 localhost #127.0.1.1 mailubuntu 192.168.168.15 mailubuntu.example.com mailubuntu # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters root@mailubuntu:~#
Step 3: Edit /etc/hostname file and give hostname. Here again hostname I am using is mailubuntu
root@mailubuntu:~# vi /etc/hostname mailubuntu
Step 4 : Now restart the hostname service.
/etc/init.d/hostname restart or /etc/init.d/hostname.sh restart
Step 5: Now check hostname and FQDN by using given below command
hostname (for hostname) hostname -f (for FQDN)
See the below help option of hostname command
root@mailubuntu:~# hostname -h
Usage: hostname [-v] [-b] {hostname|-F file} set host name (from file)
hostname [-v] [-d|-f|-s|-a|-i|-y|-A|-I] display formatted name
hostname [-v] display host name{yp,nis,}domainname [-v] {nisdomain|-F file} set NIS domain name (from file)
{yp,nis,}domainname [-v] display NIS domain namednsdomainname [-v] display dns domain name
hostname -V|–version|-h|–help print info and exit
Program name:
{yp,nis,}domainname=hostname -y
dnsdomainname=hostname -dProgram options:
-s, –short short host name
-a, –alias alias names
-i, –ip-address addresses for the host name
-I, –all-ip-addresses all addresses for the host
-f, –fqdn, –long long host name (FQDN)
-A, –all-fqdns all long host names (FQDNs)
-d, –domain DNS domain name
-y, –yp, –nis NIS/YP domain name
-b, –boot set default hostname if none available
-F, –file read host name or NIS domain name from given fileDescription:
This command can get or set the host name or the NIS domain name. You can
also get the DNS domain or the FQDN (fully qualified domain name).
Unless you are using bind or NIS for host lookups you can change the
FQDN (Fully Qualified Domain Name) and the DNS domain name (which is
part of the FQDN) in the /etc/hosts file.
root@mailubuntu:~#
In my system hostname or FQDN both are same, How should I change my FQDN.