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
For a Bios installation, you will have the startup below
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
Now that you have selected your language, you will see a summary page showing what to do next
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
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
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
Step 9: Select the destination for the installation
Now choose the hard drive and make sure to take the custom configuration for a manual partitioning
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
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 dataswap
: 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
You will see a list of mount point that you can create
We will create first the /boot
partition. In our case, it is the EFI partition that we will choose
During a Bios installation, you will only have the /bootbios
instead of the one with the EFI mention like below
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
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 systemEFI System Partition
required for booting a device on a UEFI systemvfat
which is a Linux file system that is compatible with Microsoft Windows long file names on the FAT file systemxfs
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 activeext4
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 ext3ext3
This one offers the main advantage which is the journaling filesystem. It reduces time spent recovering a file system after a crashext2
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
After the creation, check the information of the created partition. In our case, we will use the xfs filesystem
We will follow the same process to create the /home
partition
Now check if the filesystem information of the partition is also xfs
Now we can create the swap partition
For the swap the filesystem will be not xfs but swap. You can have a look
Now you can create the /var
partition
and make sure also to use the xfs filesystem
When you have finished, select done. You will see a windows with a summary of what has been done during the partitioning process
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
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
You can install for example the Development Tools which will install all the tools you can need for compilation, etc.
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
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
I recommend creating your user account with administrative privileges
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
Now the installation process can continue. It will ask you to reboot when the process will finish
Step 16: Reboot and accept the licence agreement
Now you can restart. You will see your new grub
It will present you the license agreement of centos 8
you just need to accept the conditions
Now you can finish your configuration
Step 17: Log in your new system
Now you can log in your new CentOS 8
You can see the welcome page. You will have to confirm some system configuration
You have to confirm the keyboard language
confirm the privacy setting
Configure the online accounts if need
Now you can start using your centos 8
Now you will see the gnome startup page
Now you can enjoy your CentOS 8
Conclusion
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.
Have you not forgotten to transfer the downloaded iso image to the thumb drive?
Hi Dave,
I think the step 2 is the answer to your question where there is the process to make a bootable drive
your awesome, thank you!
thanks, very useful guide for newbie...
Glad to know centos 8 install guide helped you
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.