If you’ve worked as a system admin for any length of time, you’ve probably run into a situation where you have to change the hostnames on your server to match some corporate naming convention, but you can’t have downtime either. So the question is how do you change the hostname without rebooting the server?

Luckily, for us changing the hostname of a Linux system is easy. It can be changed by using “hostname” command. 

Changing Hostname Using hostnamectl command in Ubuntu

Current Linux distros use systemd an init system used in Linux distributions to manage system processes and the user space.

Display the current hostname

Simply use this command :


Sample outputs:

   Static hostname: host_name
         Icon name: computer
        Machine ID: bd8978fcd141f40f56c5759700000d24
           Boot ID: 4ce02f818334497a85bc81c962d6bf4b
  Operating System: Ubuntu 16.04.4 LTS
            Kernel: Linux 4.4.0-124-generic
      Architecture: x86-64

Setting or Changing the hostname

You can change or set hostname of your Linux system by  running:

hostnamectl set-hostname 'new_host_name'

To verify it simply type:


You have just change your hostname using hostnamectl command.

Also read: How To Set Up mod_rewrite for Apache on Ubuntu

Setting or Changing Hostname in Linux Using hostname Command

Running hostname command without any parameters will display the current hostname of your Linux system like this:



You can change or set hostname of your Linux system, by running the command below:

hostname new_hostname

Replace “new_hostname” with the hostname you want to set. The problem with this approach is the system hostname will change immediately, but after restart the old hostname will be restored.

There is a solution to that effect, thus changing the hostname permanently.

Change or Set Permanent Hostname on Linux Distributions

The current versions of Linux distributions like lastest Ubuntu, Debian, CentOS, Fedora, RedHat …, comes with systemd which is a service manager that gives hostnamectl command to manage hostnames on the various Linux distributions.

Setting hostname on systemd based distributions, use hostnamectl command as shown:

$ sudo hostnamectl set-hostname new_hostname

Setting hostname on earlier Linux distributions, which uses SysVinit in short init, you can edit the hostname file located in:

# nano /etc/hostname

Then, add the record for the hostname in:

# nano /etc/hosts

For example: new_hostname

Then, restart the hostname by running the command below:

# /etc/init.d/hostname restart

For RHEL/CentOS Linux distributions that use init, the hostname can be changed by editing:

# nano /etc/sysconfig/network

Here is a sample of that file:


Changing the value next to "HOSTNAME" will make the hostname permanent.


I hope this article helped you in changing your hostname and you probably have learnt something new to add to your knowledge.


People reacted to this story.
Show comments Hide comments
Comments to: How to Set or Change System Hostname in Linux
Write a response

Your email address will not be published. Required fields are marked *

Attach images - Only PNG, JPG, JPEG and GIF are supported.

This site uses Akismet to reduce spam. Learn how your comment data is processed.


Welcome to Typer

Brief and amiable onboarding is the first thing a new user sees in the theme.
Join Typer
Registration is closed.
%d bloggers like this: