There might come a time when you want to know if you have already installed a certain package on your RHEL 8 / CentOS 8. An application to be manually installed might require certain dependencies to work so you'll have to check beforehand if these are satisfied. Or you might want to compile something and want to make sure you have all the right header libraries on your system.

In this tutorial you will learn:
  • How to use yum and dnf in RHEL 8 / CentOS 8 to list all packages
  • How to use the repoquery command to accomplish the same task
  • How to use the rpm command to list all packages installed on RHEL 8 / CentOS 8
  • How to filter the output of each command to seek certain packages
Use the repoquery command to list all available packages in RHEL 8 / CentOS 8
Use the repoquery command to list all available packages in RHEL 8 / CentOS 8

The objective of this guide is to install GCC the C compiler on RHEL 8 / CentOS 8 and perform compilation of a basic C "Hello World" program. The GCC compiler can be installed in RHEL 8 by simply using the dnf install command.

In this tutorial you will learn:
  • How to install GCC compiler on RHEL 8 / CentOS 8.
  • How to install Development Tools installation group.
  • How to write C program.
  • How to compile and execute C program.

The syslog functionality is one of the main tools for a sysadmin. While writing logfiles with events of interest is a common feature of any application, having a system-wide logging functionality means all logs can be handled as one on the system. But syslog does not stop there. With these tool, a sysadmin can centralize log processing in the datacenter by forwarding the incoming events from applications to central logservers, where they can be processed at a large scale.

Centralized logging is an overkill on a home system with a few computers, but already have it's benefits around a dozen machine. For example, a dozen desktops sending all their logfiles to a central logserver mean they don't need to store them on the long run, the logs will occupy disk space in the logserver. The admin can check for problems in only one place (possibly by means of automated reports), the logs can be preserved in a safe way by the means of backups, stored more effective by means of heavy compressing, and will not be lost on a client's failure or user error.

In this tutorial you will learn:
  • How to install rsyslog package on RHEL 8 / CentOS 8.
  • How to verify successful install.
  • How to start, stop and autostart rsyslog service.
  • How to test syslog functionality with logger.

Postfix is a common mail server, many large distributions are shipped with Postfix installed by default. The default configuration allows local mailing only, but that in itself is very useful on a machine used by many users, and even if there is no such traffic, many services dump their reports and messages into e-mails, which is delivered to the root user locally, so the sysadmin will be noticed on any events of interest when he/she logs in and switches to root user.

A simple example would be scheduled cron jobs: any output not redirected from the output of a script running from cron will be wrapped to an e-mail and will be delivered to root's mailbox, so the administrator does not even have to make any effort to have the reports of the nightly backup jobs at hand.

While this standalone mode is certainly a nice service as it is, postfix is a full-fledged mail server, capable of receiving, forwarding, relaying, filtering of e-mails, it basically have every feature we need for a mail server.

In this tutorial you will learn:
  • How to install postfix on RHEL 8 / CentOS 8
  • How to verify the working service with standalone functionality.

As interconnected computer networks enter more and more fields of everyday life, cybersecurity is getting louder and louder. We protect our websites, the traffic on our websites, the computers we initiate the traffic from, maybe (part of) the disks our operating system run from, our connection to work, the computers we attach to at work, and so on.

openssl is an essential tool on any recent GNU/Linux distribution if one have to work with various certificates.

In this tutorial we will install (and reinstall) the openssl package, and test it's functionality by checking a website's certificate chain with it's help.

In this tutorial you will learn:
  • How to install openssl
  • How to reinstall openssl
  • How to check a website's SSL certificate chain with openssl

The default relational SQL database on RHEL 8 / CentOS 8 Linux has been chnaged from MySQL to MariaDB. MariaDB is a community-developed fork of the MySQL relational database and in-place substitute for MySQL.

In this tutorial you will learn:
  • How to install MariaDB/MySQL server
  • How to start and enable MariaDB to start automatically after reboot
  • How to secure MariaDB database and set root password
  • How to create database for a remote access
  • How to open MySQL/MariaDB firewall ports for incoming traffic
  • How to login to MySQL/MariaDB from a remote host

There are a few different ways that you can install an RPM package on RHEL 8 / CentOS 8 as oppose to package installation from a systems repository. They each have their own merits, but DNF should probably be your first choice in most situations. It's also good to remember that, for stability's sake, it's a good idea to limit your external RPM installs as much as possible.

In this tutorial you will learn:
  • How to Install an RPM with DNF
  • How to Install an RPM with Yum
  • How to Install an RPM with RPM

Java is incredibly popular on servers, and if you plan on using RHEL 8 / CentOS 8, you'll need to install it. There are a couple of ways to install Java on RHEL, both from the open source OpenJDK packages and directly from Oracle.

In this tutorial you will learn:
  • How to Install OpenJDK 8
  • How to Install OpenJDK 11
  • How to Install Oracle Java 8 JRE
  • How to Install Oracle Java 8 JDK
  • How to Switch Java Versions

In this part of RHCSA exam preparation you will learn how to manually change into a different boot targets. This article will also teach you how to set a default boot targets to automatically boot into graphical or multi-user target on Red Hat Enterprise Linux system.

In this tutorial you will learn:
  • How to check default boot target
  • How to manually switch between different targets
  • How to set default boot to multi-user target
  • How to set default boot to graphical target

In this part of RHCSA exam preparation we will turn our attention to links. There are two types of link, hard links and soft links. In this article we will talk about how to create and remove links and will also discuss some basic background behind both, the hard links and the soft links.

In this tutorial you will learn:
  • What are symbolic (soft) links
  • What are hard links
  • How to create a symbolic link
  • How to create a hard link
  • How to remove link

RHCSA is a must have certification for anyone serious about getting a Linux system administration job. This RHCSA Exam Preparation Guide is currently under construction but is regularly updated with new topics. Please check back later.

If you are a beginner or somewhat new to GNU/Linux do not waste time by waiting but get started with a GNU/Linux command line basics before you do anything else. Understanding the GNU/Linux command line is an absolute must and will take you a long way on your RHCSA exam.

Understand and use essential tools

Operate running systems

  • Boot, reboot, and shut down a system normally
  • Boot systems into different targets manually
  • Interrupt the boot process in order to gain access to a system
  • Identify CPU/memory intensive processes and kill processes
  • Adjust process scheduling
  • Locate and interpret system log files and journals
  • Preserve system journals
  • Start, stop, and check the status of network services
  • Securely transfer files between systems

Configure local storage

Create and configure file systems

  • Create, mount, unmount, and use vfat, ext4, and xfs file systems
  • Mount and unmount network file systems using NFS
  • Extend existing logical volumes
  • Create and configure set-GID directories for collaboration
  • Configure disk compression
  • Manage layered storage
  • Diagnose and correct file permission problems

Deploy, configure, and maintain systems

  • Schedule tasks using at and cron
  • Start and stop services and configure services to start automatically at boot
  • Configure systems to boot into a specific target automatically
  • Configure time service clients
  • Install and update software packages from Red Hat Network, a remote repository, or from the local file system
  • Work with package module streams
  • Modify the system bootloader

Manage basic networking

  • Configure IPv4 and IPv6 addresses
  • Configure hostname resolution
  • Configure network services to start automatically at boot
  • Restrict network access using firewall-cmd/firewall

Manage users and groups

  • Create, delete, and modify local user accounts
  • Change passwords and adjust password aging for local user accounts
  • Create, delete, and modify local groups and group memberships
  • Configure superuser access

Manage security

  • Configure firewall settings using firewall-cmd/firewalld
  • Configure key-based authentication for SSH
  • Set enforcing and permissive modes for SELinux
  • List and identify SELinux file and process context
  • Restore default file contexts
  • Use boolean settings to modify system SELinux settings
  • Diagnose and address routine SELinux policy violations
The hostname of your CentOS 7 Linux is defined by the file /etc/hostname thus setting a new hostname for your system is just a matter of editing this file and replace a current hostname definition line with new one. However, doing so will not update your system;s hostname immediately thus a preferred way of changing a hostname on CentOS 7 Linux is to use nmtui and more specifically its child nmtui-hostname. Using nmtui-hostname tool will make the process of changing your hostname rather simple as executing a single command. The following linux command will change the hostname to
# nmtui-hostname
hostname change centos 7 linux command
Hit the "OK" button on the pop-up dialog and you are done.

The sudo command allows regular users to execute commands with administrative/root privileges. By adding any user to predefined sudo group wheel will grant root privileges to execute any command as root user. Any attempt to use the sudo command for the non-sudo user will result in:
user is not in the sudoers file.  This incident will be reported.
In this tutorial you will learn:
  • How to create sudo user on RHEL 8 / CentOS 8 system.
  • How to add existing user to sudoers.

This article explains how to open FTP port 21 on RHEL 8 / CentOS 8 Linux system with the firewalld firewall. The FTP protocol is primarily used by file transfer services such as, but not limited to, vsftpd FTP server. For more information visit our introduction guide to firewalld syntax and usage guide.

In this tutorial you will learn:
  • How to open FTP port 21.
  • How to open FTP port 21 permanently.
  • How to list currently open ports/services.
  • How to close/remove open FTP port 21.

Submit your RESUME, create a JOB ALERT.
Subscribe to NEWSLETTER and receive latest news, jobs, career advice and tutorials.
Get extra help by visiting our LINUX FORUM or simply use comments below.

You may also be interested in: