How to Install CentOS 8 (Step by Step with Screenshots)

install centos 8

The CentOS project has provided the community with a free, enterprise-grade operating system through a recompilation of the Red Hat Enterprise Linux source which is popular among many Linux professional users. With the release of Red Hat Enterprise Linux 8 on 2019-05-07, it was natural for the CentOS users to also wait for the new release CentOs 8 which finally occurred on 2019-09-24.

The new CentOS 8 comes with many new features such as BaseOS providing packages for setting up a minimal operating system,  AppStream for the additional userspace applications that you can need, a new Container Tool using Podman which replaces Docker.

In this tutorial, we will go through the process which will help you to install the latest release CentOS 8 through a manual installation and a good understanding of the partitioning schemes that it offers.

Step 1: Download Centos 8

The latest release Centos 8 can be downloaded from the centos official site which offers direct download or torrent download. The new version size is around 7 GiB.

Centos 8 requires 2 GB of RAM for the installation but 4 GB is recommended. It supported the following architectures:

  • AMD and Intel 64-bit architectures
  • The 64-bit ARM architecture
  • IBM Power Systems, Little Endian

Step 2: Make a bootable device

In our case, to perform the installation, we will use a USB device to make it bootable. We will need a USB with at least 8 GiB size. To create the bootable device, we will use the dd command, if your usb device is sdb, use the command below

dd if=CentOS-8-x86_64-1905-dvd1.iso of=/dev/sdb

Make sure to replace the sdb which the one matching your usb device.

Step 3: Start with the installation process

We will need first to insert the USB device and then boot on it. In my case, the computer supports EFI installation which means that I will perform an EFI installation process. It's not really different from a Bios installation and we will see where it can be different during the next steps of our guide.

When you boot for an EFI installation, you have boot startup below

EFI startup installation on Centos 8

For a Bios installation, you will have the startup below

Bios startup installation for centos 8

In our case, will take the first option to directly start the installation without testing the media

Step 4: Choose the language for the installation process

You will have to choose the language that will be used during the process

choose the language for the centos 8 installation

Now that you have selected your language, you will see a summary page showing what to do next

the installation summary page of centos 8

It shows you the different steps that you will need to complete in order to install your new system

Step 6: Select the keyboard language for the installation process

Now that you have selected the language for the installation, you should also select the language of the keyboard. In my case it's a french keyboard

Select the language for the keyboard

Step 7: Configure the network and hostname

You have to make sure that you are connected to the internet so that we will be able to install some features later during the process. We will need to activate the work interface and it's also a good idea to change the hostname during the installation

configure the centos 8 hostname and active the network interface

Step 8: Configure the location and the timezone

It's important to well configure your location and your timezone so that during the future updates and packages installation, centos will look the nearest repositories

configure the location and timezone

Step 9: Select the destination for the installation

Select the destination for the installation

Now choose the hard drive and make sure to take the custom configuration for a manual partitioning

Select the hard disk and the custom configuration

After validating your choice, you will be asked to select the partitioning scheme

Step 10: Choose the partitioning scheme

In this step, you will need to choose the type of installation that you want to perform

Select the type of partition to create

Centos offers 3 types of partitioning scheme for a manual partitioning:

  • Standard partition which can contain a file system or swap space or provide a container for software RAID or an LVM physical volume.
  • Logical Volume (LVM) partition which generates an LVM logical volume which is helpful because it improves the performance when using physical disks. It's practical because when using it, you can easily resize your partitions by adding a new hard drive.
  • LVM thin provisioning which help to manage a storage pool of free space usually known as a thin pool. The thin pool is helpful because it can be expanded dynamically when needed for cost-effective allocation of storage space

In our case, we will use the standard partitioning scheme to create the different mount points that we will need

Step 11: Create the mount points

For a new installation, it's recommended to create 4 mount points which are

  • /boot: This partition contains the kernel allowing our centos 8 to boot.
  • /: It is the root partition containing all the filesystem necessary to run Centos
  • /home: This is the partition containing your personal data
  • swap: this partition is useful it comes as compensation when there is not enough memory. You can put 4 GB for the swap

We will add one more partition just as an example but you can skip the creation of this one

  • /var: which contains variable data like system logging files, mail, printer spool directories, temporary files and more
Create a mount point

You will see a list of mount point that you can create

Select a mount point

We will create first the /boot partition. In our case, it is the EFI partition that we will choose

Create the boot EFI partition

During a Bios installation, you will only have the /bootbios instead of the one with the EFI mention like below

Create the bios boot partition for a BIOS system

Now that it's created, let's have a look at the details of our EFI boot partition. We need to check if the proper filesystem has been selected

choose the filesystem for the efi boot partition created

For the BIOS system, the result of the boot partition will be different

It's important to notice that when choosing a mount point, you also need to choose the appropriate filesystem depending on what you need. Regarding the filesystems available during the installation, you have:

  • BIOS Boot which is required for booting a device on a BIOS system
  • EFI System Partition required for booting a device on a UEFI system
  • vfat which is a Linux file system that is compatible with Microsoft Windows long file names on the FAT file system
  • xfs this filesystem supports metadata journaling which facilitates quicker crash recovery. It supports file systems up to 16 EiB and offers the possibility to be defragmented and resized while mounted and active
  • ext4 this filesystem allows the support for larger file systems and larger files. It's faster and more efficient for the allocation of disk space with a faster file system checking and robust journaling. It's an evolution of the ext3
  • ext3 This one offers the main advantage which is the journaling filesystem. It reduces time spent recovering a file system after a crash
  • ext2 supports standard Unix file types, including regular files, etc and provides the ability to assign long file names up to 255 characters.

We will follow the same process to create the others partitions. Now create the root partition

create the root partition

After the creation, check the information of the created partition. In our case, we will use the xfs filesystem

choose the xfs filesystem for the root partition

We will follow the same process to create the /home partition

create the home partition

Now check if the filesystem information of the partition is also xfs

assign xfs filesystem for home partition

Now we can create the swap partition

create the swap partition

For the swap the filesystem will be not xfs but swapYou can have a look

check the swap filesystem

Now you can create the /var partition

create the var partition

and make sure also to use the xfs filesystem

assign the xfs filesystem for the var partition

When you have finished, select done. You will see a windows with a summary of what has been done during the partitioning process

summary of the partitioning applied

You will have to apply the changes.

Step 12: Select the server environment and the features to install

Now you will have to configure the software selection

Configure the software selection

You will choose if you want a GUI server or a minimal one without the graphic environment or another one. You can also stick which features you directly want to install

Install the GUI environment with the feature

You can install for example the Development Tools which will install all the tools you can need for compilation, etc.

Install the features for the centos server

You can also install the guest agents if you are running under a hypervisor. Select everything that can be helpful for you but keep in mind that the more you select, the more the installation will take time because it will need to download all the packages.

Step 13: Begin the installation

After choosing the environment and the feature, you can start the installation process

Begin the centos 8 installation

Now the downloading and the installation of the different packages will start

Step 14: Create your user account

During the installation process, you can create your user account

create the user account

I recommend creating your user account with administrative privileges

create administrative user account

Step 15: Configure the root password

You will have to configure the root password. It's recommended to use a stronger one which should be different from the password of your user account for some security

Set the root password

Now the installation process can continue. It will ask you to reboot when the process will finish

end of the installation process-reboot

Step 16: Reboot and accept the licence agreement

Now you can restart. You will see your new grub

centos 8 grub

It will present you the license agreement of centos 8

Centos 8 Licence agreement review

you just need to accept the conditions

Accept the centos 8 licence agreement

Now you can finish your configuration

Finish the centos 8 configuration

Step 17: Log in your new system

Now you can log in your new CentOS 8

Log in your centos 8

You can see the welcome page. You will have to confirm some system configuration

Centos 8 welcome page

You have to confirm the keyboard language

confirm the keyboard configuration

confirm the privacy setting

Validate the privacy setting

Configure the online accounts if need

configure the online account if need

Now you can start using your centos 8

Start using centos 8

Now you will see the gnome startup page

gnome startup page for centos 8

Now you can enjoy your CentOS 8

Explore centos 8


Centos 8 brings a lot of new features compared to centos 7. There are some functionalities which are deprecated and have been removed, you can have full details by checking the official release note from Centos. Take the time to explore CentOS 8 documentation for more information.

7 Comments... add one

  1. Very helpful for a Windows admin tasked with delivering a Centos VM for a customer; merci bien.
    A couple of things would be very much appreciated to a total Centos beginner:
    1) A sugggestion of partition sizes. The VMware default disk for a Centos VM is 60 Gb. I made a couple of attempts but in the end selected "automatic".
    2) Some idea of how to install VMtools (although I realise that may be out of scope for this article)
    3) Some idea of how to connect to the VM after install - does Centos accept RDP connections? Do I have to start learning Putty?
    But again thanks a lot. Very helpful.

    • I think VMTools installation happens automatically, did on my install, but i suspect enabling 'Guest Agents' in the software selection section helps with this. Rdesktop doesn't seem to be installed by default but SSH (Putty) is a pretty essential service to use and will take you no time at all to learn the basics to get started. Its certainly a more appropriate service to use if you are accessing over a public network, although it will need to be hardened from its default state. either way, its set up and ready to go after installation.


Leave a Comment