How to Install RPM Packages in CentOS/RHEL Linux?

Published July 4, 2024

Problem: Installing RPM Packages on CentOS/RHEL

CentOS and RHEL Linux users often need to install new software or update programs. RPM (Red Hat Package Manager) packages are a common format for software on these systems. However, installing RPM packages can be difficult for new users, which can cause errors or incomplete installations.

Installing RPM Packages Using YUM/DNF

Using YUM to Install Packages from Repositories

YUM is a package manager for CentOS and RHEL systems. It makes it easier to install, update, and remove software packages.

To install a package using YUM, open a terminal and type:

sudo yum install package_name

Replace "package_name" with the name of the software you want to install.

To search for packages in YUM repositories, use this command:

yum search keyword

This will show a list of packages that match your search term.

YUM handles dependencies, which are other packages needed for the software to work. When you install a package, YUM will install any needed dependencies.

Installing RPM Packages with DNF

DNF is the next-generation package manager, built to improve YUM's features. It's the default package manager in newer versions of CentOS and RHEL.

To install a package using DNF, the command is similar to YUM:

sudo dnf install package_name

DNF has some benefits over YUM:

  • Faster performance
  • Better memory use
  • More consistent behavior

To manage software repositories with DNF, you can use commands like:

dnf repolist

This lists all enabled repositories.

dnf config-manager --add-repo repository_url

This adds a new repository to your system.

DNF also has better dependency resolution, which means fewer conflicts when installing packages.

Manual Installation of RPM Files

Downloading RPM Files

You can download RPM packages from:

  • Official project websites
  • CentOS/RHEL repositories
  • Third-party repositories

To verify the file's integrity, check its SHA256 checksum:

sha256sum filename.rpm

Compare the output with the checksum on the source website.

Installing RPM Files Using the rpm Command

To install an RPM file, use this command:

sudo rpm -ivh package_name.rpm

Options:

  • i: install
  • v: verbose
  • h: print hash marks

When installing RPM files, you need to handle dependencies. If there are missing dependencies, the rpm command will show error messages. Install these dependencies before retrying.

To check if a package is installed:

rpm -q package_name

This displays the package version if installed, or an error message if not.

To verify an installed package:

rpm -V package_name

This checks the installed files against the package database to ensure nothing has changed.

Alternative Methods for Package Installation

Using Graphical Package Managers

Graphical package managers offer a visual interface for software installation on CentOS/RHEL systems. Tools like PackageKit and GNOME Software let you browse, install, and manage packages visually.

Benefits of GUI-based installation:

  • Easy to use
  • Visual display of packages
  • Simple interface for updates and removals

Limitations of GUI-based installation:

  • May not include all packages
  • Less control over options
  • Can be slower than command-line tools

Third-Party Repository Management

Adding third-party repositories increases the software available for your CentOS/RHEL system. These repositories often have software not in the default repositories.

To add a third-party repository:

  1. Download the repository file:

    sudo yum install repository_url
  2. Enable the repository:

    sudo yum-config-manager --enable repository_name

Installing packages from non-default sources:

  • Use YUM or DNF commands after adding the repository
  • Be careful with third-party repositories, as they may affect system stability
  • Check the repository's reputation before adding it to your system

Update your package list after adding new repositories:

sudo yum update

or

sudo dnf update

This keeps your system aware of new packages from all enabled repositories.

Troubleshooting RPM Package Installation

Common Installation Issues

When installing RPM packages, you might face these issues:

Dependency conflicts occur when a package needs specific versions of other software. To fix these:

  1. Use YUM or DNF to install the package, as they handle dependencies automatically.
  2. If using the rpm command, install missing dependencies manually.
  3. Use the --nodeps option with rpm, but be careful as it can make installations unstable.

Package compatibility problems can happen when installing software not made for your system version. To fix this:

  1. Check the package's system needs before installation.
  2. Find alternative versions that work with your system.
  3. Try compiling from source if no compatible package exists.

Repository connectivity issues can stop package installation. To fix:

  1. Check your internet connection.
  2. Check the repository URL in your configuration files.
  3. Use the 'ping' command to test connectivity to the repository server.
  4. Try a different mirror if available.

Updating and Upgrading Packages

Keeping your system up-to-date is good for security and stability. With YUM/DNF:

To update all packages:

sudo yum update

or

sudo dnf update

To upgrade a specific package:

sudo yum upgrade package_name

or

sudo dnf upgrade package_name

For system-wide upgrades:

  1. Back up important data before you start.
  2. Use this command:
    sudo yum upgrade

    or

    sudo dnf upgrade
  3. Restart your system after a major upgrade.

Regular updates help keep your system secure and stable. Set up automatic updates or make a schedule for manual updates to keep your system in good shape.