Precise Guide to Centos 7: Learn the Basics and Master the Skills in 12 Steps
Precise Guide to Centos 7: Beginners guide and quick 12
If you are looking for a reliable, stable and secure operating system for your server or desktop, you might want to consider Centos 7. Centos is a popular Linux distribution that is based on Red Hat Enterprise Linux (RHEL), but is available for free and with community support. In this article, we will give you a precise guide to Centos 7, covering its history, features, benefits, installation and usage. By the end of this article, you will have a good understanding of what Centos 7 is and how to get started with it.
Precise Guide to Centos 7: Beginners guide and quick 12
What is Centos 7?
Centos 7 is the latest version of Centos, which stands for Community Enterprise Operating System. It is a Linux distribution that aims to provide a consistent, manageable and secure platform for various deployments, such as web servers, database servers, cloud computing, virtualization and more. Centos 7 is derived from the source code of RHEL 7, which is a commercial Linux product developed by Red Hat. However, unlike RHEL, which requires a subscription fee and offers professional support, Centos is free to use and relies on the community for updates and assistance.
A brief history of Centos
Centos was first released in 2004 by a group of Linux enthusiasts who wanted to create a free alternative to RHEL. They used the source code of RHEL, which is available under the GNU General Public License (GPL), and removed any trademarks and logos that belonged to Red Hat. They also added some modifications and enhancements to make Centos more suitable for different use cases. Since then, Centos has become one of the most widely used Linux distributions in the world, especially for servers. According to W3Techs , as of December 2022, Centos powers about 17% of all web servers.
The main features of Centos 7
Centos 7 inherits most of the features of RHEL 7, which include:
A modern and modular kernel based on Linux 3.10
A new init system called systemd that replaces the traditional SysVinit
A new package manager called yum4 that replaces the old yum
A new default file system called XFS that supports larger files and volumes
A new network management tool called NetworkManager that simplifies network configuration
A new firewall system called firewalld that replaces iptables
A new graphical user interface called GNOME 3 that offers a sleek and intuitive desktop experience
A new installation program called Anaconda that offers a simplified and flexible installation process
A new security framework called SELinux that enforces mandatory access control policies
A new container platform called Podman that allows running and managing containers without a daemon
A new software delivery platform called CentOS Stream that tracks just ahead of RHEL development and offers a continuous stream of updates
The benefits of using Centos 7
Some of the benefits of using Centos 7 are:
It is free and open source, which means you can use it without paying any fees or worrying about license restrictions
It is compatible with RHEL, which means you can benefit from the stability, security and performance of RHEL without the cost
It is supported by a large and active community, which means you can get help and feedback from other users and developers
It is customizable and flexible, which means you can tailor it to your specific needs and preferences
It is versatile and scalable, which means you can use it for various purposes and environments, from personal desktops to enterprise servers
How to install Centos 7?
To install Centos 7 on your system, you will need to follow these steps:
Requirements for installation
Before you start the installation, you will need to make sure that your system meets the minimum requirements for Centos 7, which are:
A 64-bit processor with at least 1 GHz speed
At least 1 GB of RAM (2 GB recommended)
At least 10 GB of disk space (20 GB recommended)
A DVD drive or a USB port for the installation media
An internet connection for downloading updates and packages
Downloading the ISO image
The next step is to download the ISO image of Centos 7 from the official website: https://www.centos.org/download/. There are different versions of Centos 7 available, such as:
CentOS Linux: The standard version that includes the core components and a minimal set of packages
CentOS Stream: The cutting-edge version that tracks just ahead of RHEL development and offers a continuous stream of updates
CentOS Everything: The complete version that includes all the packages and software available for Centos 7
CentOS Minimal: The minimal version that includes only the essential packages and software for a basic system
CentOS Live: The live version that allows you to run Centos 7 from a DVD or a USB drive without installing it on your system
You can choose the version that suits your needs and preferences. For this guide, we will use CentOS Linux as an example. After downloading the ISO image, you will need to verify its integrity by checking its checksum. You can find the checksum file on the same page as the ISO image. You can use a tool like md5sum or sha256sum to compare the checksum of the ISO image with the one in the file. If they match, it means that the ISO image is valid and not corrupted.
Creating a bootable USB drive
The next step is to create a bootable USB drive from the ISO image. You can use a tool like Rufus or Etcher to do this. You will need a USB drive with at least 4 GB of capacity. You will also need to backup any data on the USB drive, as it will be erased during the process. To create a bootable USB drive, you will need to follow these steps:
Insert the USB drive into your system
Launch the tool of your choice (Rufus or Etcher)
Select the ISO image as the source file
Select the USB drive as the destination device
Click on Start or Flash to begin the process
Wait until the process is completed and then eject the USB drive safely
Running the installer
The next step is to run the installer from the bootable USB drive. You will need to restart your system and boot from the USB drive. You can do this by changing the boot order in your BIOS or UEFI settings, or by pressing a key (such as F12) during startup to access the boot menu. Once you boot from the USB drive, you will see a screen like this:
![CentOS Boot Menu](https://docs.centos.org/en-US/centos/install-guide/images/boot-menu.png) You can choose one of the options from the menu, such as:
Install CentOS Linux 7: This option will start the installation process in graphical mode
Test this media & install CentOS Linux 7: This option will test the integrity of the installation media before starting the installation process in graphical mode
Troubleshooting: Continuing the article: This option will show you some troubleshooting tools and options, such as:
Install CentOS Linux 7 in basic graphics mode: This option will start the installation process in graphical mode with a basic graphics driver
Rescue a CentOS Linux system: This option will boot into a rescue mode that allows you to repair your system
Run a memory test: This option will run a memory diagnostic test on your system
Boot from local drive: This option will boot from the first hard drive on your system
For this guide, we will choose the first option: Install CentOS Linux 7. This will start the graphical installation program.
Configuring the system
After running the installer, you will see a screen like this:
![CentOS Installation Summary](https://docs.centos.org/en-US/centos/install-guide/images/installation-summary.png) This is the installation summary screen, where you can configure various aspects of your system, such as:
Date & Time: This option allows you to set the date, time and time zone for your system
Language Support: This option allows you to select the languages that you want to use on your system
Keyboard Configuration: This option allows you to select the keyboard layout that matches your keyboard
Security Policy: This option allows you to apply a security profile to your system based on predefined policies
Installation Source: This option allows you to specify where the installation program will find the packages and software for Centos 7
Network & Hostname: This option allows you to configure the network settings and hostname for your system
Software Selection: This option allows you to choose the software and packages that you want to install on your system
Installation Destination: This option allows you to select the disk or partition where you want to install Centos 7
Kdump: This option allows you to enable or disable the kernel crash dumping mechanism
You can click on each option to access its configuration screen. You can also use the Done button in the top left corner to return to the installation summary screen. You can also use the Help button in the top right corner to access the online documentation for each option.
For this guide, we will use the default settings for most of the options, except for the following:
Installation Source
We will use the local media (the USB drive) as the installation source. To do this, we will click on Installation Source and then select Local media from the drop-down menu. We will also uncheck Verify media before installation to save some time.
Software Selection
We will choose a minimal installation for our system. To do this, we will click on Software Selection and then select Minimal Install from the list of base environments. We will also uncheck any additional add-ons that are selected by default.
Installation Destination
We will use automatic partitioning for our system. To do this, we will click on Installation Destination and then select Automatically configure partitioning from the drop-down menu. We will also check I would like to make additional space available if we want to reclaim some space from existing partitions.
Begin Installation
After configuring all the options, we will click on Begin Installation in the bottom right corner of the installation summary screen. This will start the actual installation process and show us a screen like this:
![CentOS Installation Progress](https://docs.centos.org/en-US/centos/install-guide/images/installation-progress.png) This is the installation progress screen, where we can see how much time is left until the installation is complete. We can also set up some additional settings while the installation is running, such as:
Set Root Password: This option allows us to create a password for the root user, which is the administrator of the system
Create User Account: This option allows us to create a regular user account for ourselves, which we can use to log in and perform everyday tasks
We can click on each option to access its configuration screen. We can also use the Help button in the top right corner to access the online documentation for each option.
For this guide, we will set up both the root password and the user account. To do this, we will click on Set Root Password and then enter a strong and secure password for the root user. We will also click on Create User Account and then enter our full name, username and password. We will also check Make this user administrator to give ourselves administrative privileges.
Installation Complete
After the installation is finished, we will see a screen like this:
![CentOS Installation Complete](https://docs.centos.org/en-US/centos/install-guide/images/installation-complete.png) This is the installation complete screen, where we can reboot our system and start using Centos 7. We can also access the installation log files by clicking on the link at the bottom of the screen.
We will click on Reboot in the bottom right corner of the screen. This will restart our system and boot into Centos 7. We will then see a screen like this:
![CentOS Login Screen](https://docs.centos.org/en-US/centos/install-guide/images/login-screen.png) This is the login screen, where we can enter our username and password to log in to our system. We can also choose between different sessions, such as GNOME, GNOME Classic or GNOME on Xorg, by clicking on the gear icon in the bottom right corner of the screen.
How to use Centos 7?
After logging in to our system, we will see a screen like this:
![CentOS Desktop](https://docs.centos.org/en-US/centos/install-guide/images/desktop.png) This is the desktop, where we can access various applications and settings for our system. We can also use the command-line interface (CLI) to perform various tasks and commands on our system. In this section, we will cover some of the basic commands, tools and features that we can use on Centos 7.
The basic commands
To use the CLI, we will need to open a terminal window. We can do this by clicking on Applications > Utilities > Terminal in the top left corner of the screen. This will open a terminal window like this:
![CentOS Terminal](https://docs.centos.org/en-US/centos/install-guide/images/terminal.png) This is the terminal window, where we can type commands and see their output. The prompt shows our username, hostname and current directory. For example, [user@localhost ]$ means that we are logged in as user on localhost (the default hostname) and we are in our home directory ().
Some of the basic commands that we can use on Centos 7 are:
pwd: This command prints the current working directory
ls: This command lists the files and directories in the current directory
cd: This command changes the current directory to another one
cp: This command copies files or directories from one location to another
mv: This command moves or renames files or directories
rm: This command removes or deletes files or directories
mkdir: This command creates a new directory
rmdir: This command removes an empty directory
cat: This command displays the contents of a file or concatenates multiple files
echo: This command prints a message or a variable value to the standard output
grep: This command searches for a pattern in a file or input
find: This command finds files or directories that match certain criteria
ping: This command tests the connectivity to another host by sending packets and measuring the response time
ssh: This command establishes a secure shell connection to another host
scp: This command securely copies files or directories between hosts using ssh
sftp: This command securely transfers files or directories between hosts using ssh
curl: This command transfers data from or to a server using various protocols
wget: This command downloads files from the web
tar: This command creates or extracts compressed archive files
zip: This command creates or extracts compressed zip files
unzip: This command extracts compressed zip files
man: This command displays the manual page for another command or topic
help: This command displays a brief help message for another command or topic
--help: This option displays a brief help message for another command or topic when appended to it
--version: This option displays the version information for another command or topic Continuing the article: when appended to it
For example, to display the manual page for the ls command, we can type:
```bash man ls ``` To display the help message for the curl command, we can type:
```bash curl --help ``` To display the version information for the wget command, we can type:
```bash wget --version ``` We can also use some special characters and operators to modify or combine commands, such as:
;: This character separates multiple commands on the same line
&: This character runs a command in the background
: This operator runs a command only if the previous command fails
&&: This operator runs a command only if the previous command succeeds
: This operator pipes the output of one command to the input of another command
>: This operator redirects the output of a command to a file
<: This operator redirects the input of a command from a file
>>: This operator appends the output of a command to a file
*: This character matches any number of characters in a file name or pattern
?: This character matches any single character in a file name or pattern
[]: These characters match any one of the characters inside the brackets in a file name or pattern
(): These characters group commands or arguments together
$: This character expands a variable or a parameter
\: This character escapes a special character or a whitespace
: This character represents the home directory of the current user
!: This character represents the previous command or argument
For example, to list all the files that start with a letter and end with .txt in the current directory, we can type:
```bash ls [a-zA-Z]*.txt ``` To run two commands on the same line, we can type:
```bash echo "Hello" ; echo "World" ``` To run a command in the background and return to the prompt immediately, we can type:
```bash ping google.com & ``` To run a command only if another command fails, we can type:
```bash ping google.com echo "Network error" ``` To run a command only if another command succeeds, we can type:
```bash ping google.com && echo "Network OK" ``` To pipe the output of one command to another command, we can type:
```bash ls grep txt ``` To redirect the output of a command to a file, we can type:
```bash echo "Hello World" > hello.txt ``` To redirect the input of a command from a file, we can type:
```bash cat To append the output of a command to a file, we can type:
```bash echo "Goodbye World" >> hello.txt ``` To match any number of characters in a file name or pattern, we can type:
```bash ls *.txt ``` To match any single character in a file name or pattern, we can type:
```bash ls ?.txt ``` To match any one of the characters inside the brackets in a file name or pattern, we can type:
```bash ls [ab].txt ``` To group commands or arguments together, we can type:
```bash (ls grep txt) > files.txt ``` To expand a variable or a parameter, we can type:
```bash echo $USER ``` To escape a special character or a whitespace, we can type:
```bash echo Hello\ World ``` To represent the home directory of the current user, we can type:
```bash cd ``` To represent the previous command or argument, we can type:
```bash !! ``` Continuing the article: The package manager
Centos 7 uses YUM as the default package manager, which can install, update, remove and manage software packages from various repositories. YUM can also resolve dependencies for t