Atlantic.Net Blog

How to Change Your Hostname in CentOS 7 Using the Hostnamectl Command

Atlantic.Net NOC
by Atlantic.Net (68posts) under HIPAA Compliant Cloud Storage
Hostname Illustration by Walker Cahall

Hostname Illustration by Walker Cahall

Verified and Tested 07/28/2015


This article discusses how to change the hostname using the hostnamectl command on a server running CentOS 7. A hostname is a label given to a device that is connected on a network.


A server with CentOS 7 installed.

Changing your Hostname in CentOS 7

If you are used to how CentOS 6 or earlier handles the hostname, you may notice that the same procedure doesn’t quite work the same way in CentOS 7. If you’re new to CentOS, in general, then you have no baggage to worry about having to leave behind!

In CentOS 7, hostname control is handled with the hostnamectl command. With this command, you can update three different hostnames–the static, transient, and pretty.

To see what your hostname currently is, issue the hostnamectl status command.

An example of the hostnamectl status command

An example of the hostnamectl status command

Here, we only have the static hostname listed, which in this case, is identical to the transient and pretty hostnames. The static hostname is the one currently stored in /etc/hostname:

An example of the cat /etc/hostname command

An example of the cat /etc/hostname command

The static hostname is the default hostname the kernel references during boot, and in most instances, will be the one you want to concern yourself with. (We’ll briefly cover transient and pretty hostnames in a bit.)

To change the hostname, issue the following command:

hostnamectl set-hostname "Your-Hostname"

In this case, we’ll be changing the current hostname of ‘bespin’ to ‘Endor’s Forest Moon’. Note what happens with the following comand:

hostnamectl status
An example of the hostnamectl set-hostname and hostnamectl command

An example of the hostnamectl set-hostname and hostnamectl command

A couple of things to note here. First, when specifying the hostname, I enclosed the full hostname in double-quotation marks. This syntax is only required when using a hostname that contains characters not ordinarily allowed in a standard FQDN, such as a space or an apostrophe. They can be omitted if your hostname will conform to FQDN standard formatting (see below for more information on FQDN formatting).

Next, also note how in the hostnamectl status output, we now have line entries for static and pretty hostnames. Hostnamectl automatically removes illegal hostname characters and also converts the name to all lowercase for the static (and transient) hostname. It also writes this information to the /etc/hostname file as well. You can see it by running the following command:

cat /etc/hostname
Sample /etc/hostname

Sample /etc/hostname

One thing the hostnamectl command doesn’t do is modify the /etc/hosts file, so we’ll still need to do that. Just open up that file with the text editor you prefer and change the current hostname entry (‘bespin’) to the new static hostname (‘endorsforestmoon’):

Using NANO

nano /etc/hosts

Using VIM

vim /etc/hosts
Sample /etc/hosts

Sample /etc/hosts

Sample /etc/hosts

Sample /etc/hosts

At this point, you are all set; your hostname is changed. If you are concerned that it’s not showing up in your command prompt, you will have to log out and log back in.

Now, to help demonstrate some of the differences between types of hostname, let’s set the transient hostname and take a look at the output from hostnamectl status.

It should be noted here that if you want to specify any particular hostname change, you would include which type of hostname (–static, –pretty, or –transient). This parameter can be included at nearly any point in the command, so long as it’s immediately preceded by the double hyphens. Any of the following would work:


sudo hostnamectl --transient set-hostname coruscant
sudo hostnamectl set-hostname --transient kashyyyk
sudo hostnamectl set-hostname tatooine --transient


An example of the sudo hostnamectl set-hostname tatooine --transient command

An example of the sudo hostnamectl set-hostname tatooine –transient command


Since we haven’t made any changes to the static hostname (or the contents of the /etc/hostname file), which remains the same, and should this server reboot, it will pick up this hostname.

The pretty hostname remains “Endor’s Forest Moon”, which can be called in certain instances when presenting the hostname to the user. This configuration is stored in /etc/machine-info.

The transient hostname changes the hostname in the running kernel, but unless that same change is also made to the static hostname, it won’t persist across reboots (or, if the transient hostname is assigned/maintained via something like DHCP, then also when network connectivity is lost).

This example is more illustrative than practical, of course.


Valid Hostname Restrictions

In each of these configurations, you’ll need to be sure your hostname conforms to the standards for FQDNs (Fully Qualified Domain Names). The ASCII letters a – z, the digits 0 – 9, and the hyphen (‘-‘) are the only characters acceptable (the first character, however, cannot be a hyphen). You may also find it necessary (or useful) to include the domain name as well, in which case you would then also use periods (dots) to separate the hostname and the domain name (and top-level domain). So the following would be examples of acceptable hostnames:



The whole hostname should be no more than 255 characters (see RFC1123).


What Next?

With that, you now have a server with a hostname. Thank you for following along and feel free to check back with us for further updates, or check out our CentOS 7 initial setup up guide.

Cloud hosting is just one of the many hosting services offered by Atlantic.Net – We also offer dedicated, managed and secure HIPAA cloud storage services. Contact us today for more information on any of our services!

Start Your HIPAA Project with a Free Fully Audited HIPAA Platform Trial!

HIPAA Compliant Compute & Storage, Encrypted VPN, Security Firewall, BAA, Offsite Backups, Disaster Recovery, & More!

Start My Free Trial

Looking for HIPAA Compliant Hosting?

We Can Help with a Free Assessment.

  • IT Architecture Design, Security, & Guidance.
  • Flexible Private, Public, & Hybrid Hosting.
  • 24x7x365 Security, Support, & Monitoring.
Contact Us Now!
Stevie Gold Award Med Tech Award

SOC Audit HIPAA Audit HITECH Audit

Case Studies

White Papers


HIPAA Partners

Recent Posts

Get started with 12 months of free cloud VPS hosting

Free Tier includes:
G2.1GB Cloud VPS Server Free to Use for One Year
50 GB of Block Storage Free to Use for One Year
50 GB of Snapshots Free to Use for One Year

New York, NY

100 Delawanna Ave, Suite 1

Clifton, NJ 07014

United States

San Francisco, CA

2820 Northwestern Pkwy,

Santa Clara, CA 95051

United States

Dallas, TX

2323 Bryan Street,

Dallas, Texas 75201

United States

Ashburn, VA

1807 Michael Faraday Ct,

Reston, VA 20190

United States

Orlando, FL

440 W Kennedy Blvd, Suite 3

Orlando, FL 32810

United States

Toronto, Canada

20 Pullman Ct, Scarborough,

Ontario M1X 1E4


London, UK

14 Liverpool Road, Slough,

Berkshire SL1 4QZ

United Kingdom