Linux setting hostname and domain name of my server

I would like to change hostname and domain name for my Linux server. Where can I set the local hostname and domain name of my server?

You can use hostname/hostnamectl command to show or set the system’s host name and dnsdomainname command to show the system’s DNS domain name. But the changes are temporary if you use these commands. Local hostname and the domain name of your server defined in text configuration file located in /etc directory.

ADVERTISEMENTS

How to use hostnamectl command

If you are using systemd based distro such as RHEL/CentOS 7.x, Fedora latest, Ubuntu Linux 16.04 LTS, Debian 9.x+, Arch Linux and more, use hostnamectl command. To see current hostname, run:
$ hostnamectl
To change hostname to foo, run:
$ hostnamectl set-hostname 'foo'
$ hostnamectl

A note about GUI tools

If you are using Red Hat or Fedora Linux (older version) use redhat-config-network GUI tool. Type following command and click on DNS tab > Setup hostname and domain name:
# redhat-config-network
On other hand you can edit a text file. Find out and set up the value for HOSTNAME in the file /etc/sysconfig/network:
# vi /etc/sysconfig/network
Setup/replace HOSTNAME
HOSTNAME=web.nixcraft.com
Where, web is hostname and nixcraft.com is your DNS domain name.

If you are using Debian Linux

You need to edit /etc/hostname file and put hostname.domain.com in this file:
# vi /etc/hostname
Set or replace hostname:
web.nixcraft.com

Debian, Suse and other Linux distro support GUI tool called network-admin. Type following command and click on DNS tab > Setup hostname and domain name:
$ network-admin

Please note that you must have properly configured DNS server to work FQDN based hostname. See how to configure Linux as a dns client.

See also:

This entry is 8 of 19 in the Linux/Unix Set hostname Tutorial series. Keep reading the rest of the series:
  1. Ubuntu Linux Change Hostname (computer name)
  2. Debian Linux: Change Hostname / Computer Name Permanently
  3. Linux change my hostname / computer system name
  4. Linux Change Hostname
  5. RHEL / Centos Linux 7: Change and Set Hostname Command
  6. OpenBSD Change Hostname
  7. CentOS Linux 5/6 Change Hostname Command
  8. Linux setting hostname and domain name of my server
  9. FreeBSD Change Hostname without reboot
  10. SuSe Linux Change Hostname without reboot
  11. How to set the hostname on Fedora Linux
  12. Ubuntu 18.04 LTS change hostname permanently
  13. Ubuntu set hostname permanently (computer name) command
  14. OpenSUSE Linux set hostname permanently (computer name) command
  15. RHEL 8 Linux set hostname permanently (computer name) command
  16. CentOS 8 Linux set hostname permanently (computer name) command
  17. Ubuntu 20.04 LTS set hostname permanently (computer name) command
  18. Set / Change FQDN on Ubuntu 20.04 LTS
  19. Alpine Linux - Setting system hostname
🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:
CategoryList of Unix and Linux commands
File Managementcat
FirewallCentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNCentOS 8 Debian 10 Firewall Ubuntu 20.04

ADVERTISEMENTS
10 comments… add one
  • shuvo009 Jan 19, 2009 @ 19:22

    thank you bro. it is really helpfull

  • sanjay Katiyar May 8, 2009 @ 13:53

    I think we have to restart the network service after making the changes.

    service network restart

  • Raj Feb 15, 2012 @ 22:40

    Thank you so much for this information. It was very useful for me!

  • sidharth May 2, 2012 @ 1:45

    Do you also want to tell in your artice about restarting services so the new changes can come to effect? At the moment the article is half baked.

  • ritesh jha May 17, 2012 @ 6:47

    thanks a lot.

  • jim Feb 5, 2013 @ 7:05

    Thanks a lot from a CentOS newbie.

  • sandeep yadav Jun 24, 2013 @ 9:37

    hi I want to learn linux .what step should i follow?

  • Nilesh Jul 23, 2013 @ 4:54

    Step1: Change the New Values in the Host file
    [root@erp ~]# cat /etc/hosts
    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    127.0.0.1 localhost.localdomain localhost
    192.168.0.1 erp.myappsdba.com erp
    [root@erp ~]#

    Step2: Change the New Values in the network file
    [root@erp ~]# cat /etc/sysconfig/network
    NETWORKING=yes
    NETWORKING_IPV6=no
    HOSTNAME=erp.myappsdba.com
    GATEWAY=192.168.0.3

    Step3: Change the New Values in the sysctl.conf and resolv.conf files
    [root@erp ~]## cat /etc/sysctl.conf
    kernel.hostname=erp.myappsdba.com
    kernel.domainname=myappsdba.com

    [root@erp etc]# cat /etc/resolv.conf
    search myappsdba.com
    nameserver 192.168.0.7
    nameserver 192.168.0.2
    option attemts : 5
    option timeout :15
    [root@erp etc]#

    Step4:Ping the Host Name or Changed IP Address.
    [root@erp etc]# ping myappsdba.com
    PING myappsdba.com (192.168.0.1) 56(84) bytes of data.
    64 bytes from fortedc.myappsdba.com (192.168.0.1): icmp_seq=1 ttl=128 time=1.06 ms

    Step5:Restart the Network or Reboot the system for effecting the changes
    [root@erp ~]# init 6 or

    [root@erp ~]# service network restart

  • Rupesh Dec 23, 2014 @ 7:49

    Thanks for the good article. @Nilesh Thanks dude

  • handy Nov 3, 2015 @ 13:33

    Please help me connect to server with a Linux netbook. There is a box for the name of the server… but I don’t know it.

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.