How to Install an RPM File On Popular Linux Distributions

RPM File On Linux OS CentOS

Linux offers several ways of getting software on your system.

RPM (Red Hat Package Manager) files are the standard way of distributing and installing apps on RHEL-based distributions, such as Red Hat, CentOS Stream, Fedora Linux, and Rocky Linux.

At its core, RPM is both a package management utility and a software package format. On RHEL-based distributions, this combination offers flexibility in getting new applications on the system and maintaining the current package index.

This detailed tutorial will cover how to install an RPM file on Linux distributions. We’ll show several methods of installing applications using RPM packages and then round off with essential tips for working with these package files.

Important: If you are on a Debian-based distribution (such as Ubuntu), we recommend avoiding RPM packages because of package compatibility and dependency issues.

What is an RPM File?

RPM is a package format and the utility used to manage packages on RHEL distributions.

A typical RPM package contains the compiled software codebase, related dependencies and libraries, metadata, and instructions for installing, upgrading, or uninstalling the software. The metadata included in an RPM package has critical information such as the package’s name, version, description, and dependencies.

RPM packages simplify the pipeline for distributing, managing, and updating applications on Linux distributions that support RPM packages.

Advantages of Using RPM Packages

Now that you know the basics about RPM packages, let’s go into the benefits these packages bring to RHEL distributions:

Consistency and Standardisation

RPM has a consistent structure that contains standard components such as a header and a payload. This consistency ensures a simple agreed-upon format for software distribution, making software management and installation predictable across RHEL distributions and systems.

Dependency Handling

RPM files include information on application dependencies, guaranteeing that all necessary apps and libraries required for the proper functioning of the software are installed alongside the package. During the installation process, the RPM manager fetches and installs the dependencies on the system.

Easy Upgrades and Downgrades

RPM greatly simplifies software versioning, enabling users to smoothly update to the newest version or roll back to an older version.

Verification Before Installation

Every file in an RPM package has an associated MD5 checksum in the official database. Users can examine a package’s validity and integrity by checking the MD5 checksum to ensure it hasn’t been modified after creation.

Easy Package Index Query

RPM offers tools to query the database of installed packages, providing details on the installed software versions, when they were installed, and required dependencies.

Atomic Transactions

RPM ensures that every activity succeeds when installing or updating a software package. In case of a problem during installation or upgrade, it ensures that the system remains in a consistent state by resolving dependency and related issues.

Scripting Hooks

Developers and power users can use RPM in pre-install, post-install, pre-uninstall, and post-uninstall scripts. Using this feature, they can introduce system-wide automation and account-level customization for package management activities.

Simple Rollbacks

RPM offers rollback functionality in some setups, enabling administrators to restore their systems to a previous state if a package update leads to problems.

A Highly Compressed Format

The files in the payload of an RPM package are saved in a compressed format (usually gzip). This reduces the overall size that facilitates distribution, especially through the Internet.

Integration with YUM/DNF

YUM (and its successor DNF) are package managers that manage the RPM Package Manager. These managers significantly simplify software management by automatically resolving and installing dependencies.

Digital Signatures

Developers can digitally sign their RPM packages to improve trust in their products. Users can verify package integrity by validating digital signatures.

Documentation and Licencing Options

RPM packages frequently include supplementary documentation and license information, ensuring that users know their rights and the conditions under which they may use the software.

Advantages of Using RPM Packages

How to Install an RPM File on Linux

Now that you have a clear understanding of RPM files and the benefits of using them for package management, let’s turn to the practical side of using these packages for installing apps on your Linux systems

Step #1: Download the RPM Installation File

The first step of the process of installing software via RPM packages is downloading them on the system.

The usual route is to search and find the .rpm files. Usually, you start by searching for the package name and going to a repository hosting the package. If you know the URL, you can download it without going to the repository’s web page with the wget utility.

If you don’t have wget on your system, you should first install it on the system with the following command on RHEL-based distributions:

# sudo yum install wget

On Debian-based distributions, use the following command:

#sudo apt-get install wget.

How to Install an RPM File on Linux

Once the process finishes, you can download the .rpm file using the wget command. The syntax of the command is:

# wget http://some_website/sample_file.rpm.

When executed, the wget utility connects to the URL you mentioned and downloads appropriate files to the directory where you are currently working.

You Can Download rpm packages Without Installing Them

The YUM package manager has a fantastic feature that lets you download.rpm files straight from a repository. This useful option allows you to download the RPM packages without installing them.

This could be useful if you have a limited data plan or wish to transfer a single downloaded configuration file between systems. This is a useful option if you don’t want to waste time waiting for your installer to finish.

Enter the following information to download an. rpm file from the repositories:

sudo yumdownloader packagename

For instance, replace packagename in the above command with httpd if you wish to get the files for Apache.

Step #2: Install RPM File on Linux

Now that you have downloaded the package, you can install it on the system. Linux offers two options for this step:

Install RPM Files via the rpm Command

Enter the following command to install rpm packages (named test_file.rpm) using the RPM Package Manager in Ubuntu:

#sudo rpm -i test_file.rpm

The -i flag instructs the package manager to install the configuration file of the package.

The official RPM documentation provides more details about the RPM command options.

Install RPM Files with YUM

If you have YUM on your Linux system, run the following command to install test_file.rpm:

#sudo yum localinstall test_file.rpm

The localinstall option instructs YUM to look for the installation configuration file in the current working directory.

Example: Install RPM Files on Fedora

We’ll now demonstrate how to install an RPM file on Linux by following the process on a demo Fedora machine.

Launch the terminal and run the following to install a .rpm package on Fedora core Linux:

# sudo rpm -i test_file.rpm

The -i switch instructs b to install the program, much like in Ubuntu.

You can also try the dnf utility (an upgraded version of the YUM utility) as an alternative to the rpm utility. The command in this case will be:

# sudo dnf localinstall test_file.rpm

Remove RPM Packages

You can easily remove or uninstall an RPM package from your system. The appropriate command will be:

#sudo rpm -e test_file.rpm

The -e flag tells rpm to remove the package from the system.

Important: Always Verify RPM Dependencies

Almost all RPM packages have dependencies on external libraries and apps. This information is usually included in the package configuration file. To view this information, run the following command in the terminal:

# sudo rpm -qpR test_file.rpm

Here, the -q flag instructs rpm to examine the file, the -p flag allows you to choose the target package, and the -R flag lists the requirements for the package.

If you find any missing dependencies, install them from the default repositories with apt-get, yum, or dnf. The installation instructions will frequently make note of any additional non-standard software that your package requires for proper operations.

Tips for Resolving rpm Installation Issues

While installing packages via rpm is straightforward in most cases, you might occasionally run into issues. We recommend trying out the following fixes and tips to resolve these issues.

Check Dependencies

Most RPM packages have dependencies on other packages and libraries. If you miss out on just one, you will see errors when you try to use the app. We recommend running the following dnf command (remember to replace it with rpm, if you are using that on your system) to ensure all dependencies are installed:

# sudo dnf install your-package.rpm

Check for Existing Installation

Before installing a package, always check whether the package is already installed on your system. For this, run the following command:

# rpm -q package-name

Check for Existing Installation

Before installing a package, always check whether the package is already installed on your system. For this, run the following command:

# rpm -q package-name

Check for Conflicts

When considering a package, always check for potential conflicts with the installed packages. The following command will save you time and effort:

# sudo rpm -ivh package.rpm

Verify the RPM File

Always verify that the RPM file is not incomplete or corrupted with the following command:

# rpm -K package.rpm

Check for Disk Space

Make sure your disc has enough space to install the package. To check the available disc space, use the df -h command.

Check for Disk Space

Check Permissions

Make sure you have the right permissions before beginning the RPM installation. Usually, you require superuser or root user rights. We recommend adding sudo to the rpm commands to avoid permission-related errors.

#sudo rpm -qlp package.rpm

Check the RPM Database

Over time, the RPM database on the system can get damaged. We recommend running the following command to rebuild it:

#rpm --verifydb

Check Log Files

Look through log files for error messages explaining what went wrong. On RHEL-based systems, the primary RPM log file is usually found at /var/log/rpmpkgs.

Use YUM or DNF

If you are on a distribution that uses YUM or DNF, we recommend you install packages using these package managers. For instance, the typical command for installing packages using YUM is:

# sudo yum localinstall your-package.rpm

Check the SELinux Mode

SELinux can halt package installation for security reasons. If you suspect this to be the issue, we recommend checking the audit logs and SELinux status with the following command:

#sestatus

Check the SELinux Mode

Use the setenforce command to put SELinux in permissive mode with this command:

setenforce 0

Note that this is a temporary fix. To make it permanent, you need to edit the SELinux configuration file.

The location of this file depends upon your Linux distribution. For instance, in most RHEL systems, you can find this file at /etc/selinux/config.

Open the configuration file in a text editor. We’ll use vim for the demonstration:

# vi /etc/selinux/config

Check Permissions

 

Find the SELINUX parameter in the configuration file and set it from enforcing to permissive. Save the changes and exit the text editor.

Reinstall GPG Keys

You should consider importing or updating GPG keys, especially when installing signed RPM packages. This will also resolve most of the GPG key-related RPM issues on your system.

Run the following command in the terminal:

# rpm --import /path/to/keyfile

Check/Reinstall the RPM package

There is a chance that the core rpm package on the system is damaged. If you suspect this issue, a simple fix is to download it from a reliable upstream source. For this, run the following command:

rpm2cpio package.rpm | cpio -idmv

Conclusion

RPM packages are a convenient way of installing software on your Linux system without worrying about missing libraries and related issues. The RPM packages can be installed using the rpm utility or a similar package manager.

When working with these files, you need to make sure you have enough disc space. Also, you need to check the SELinux mode and GPG keys to resolve any issues with signed packages.

Are you looking for the most economical dedicated server pricing? Look no further than our instant dedicated servers, available in various configurations, including 10Gbps dedicated servers and bare metal servers. We’re your trusted hosting partner, providing the right dedicated server for your needs.

FAQs

Q What is an RPM file?

An RPM (Red Hat Package Manager) file is a package format used for software distribution and installation on Linux systems.

Q Can I install an RPM file on any Linux Kernel distribution?

RPM files are primarily used on Red Hat-based distributions (CentOS 7, RHEL, Fedora Linux). To install RPMs on Ubuntu, Fedora, or Debian, you may need to convert them to DEB format using tools like alien.

Q How do I check for RPM package dependencies?

You can check dependencies using rpm or the appropriate package manager (e.g., dnf, yum, or apt) by running commands like rpm -qpR package.rpm.

Q What should I do if I encounter dependency issues during installation?

Install missing dependencies using the package manager specific to your distribution. For example, use dnf or yum on RPM-based systems and apt package manager on Debian-based systems.

Q How can I verify the integrity of an RPM file?

Use the rpm -K package.rpm command to verify the RPM file’s integrity.

Q What if the RPM installation fails or conflicts with existing packages?

Check the RPM database for existing installations, conflicts, and potential issues. Resolve conflicts and consult log files for details.

Q How do I import GPG keys for RPM file verification?

Use the rpm –import command with the path to the GPG key file.

Q Can SELinux or security restrictions affect RPM installation?

Yes, SELinux or other security mechanisms may prevent installation. Consider changing SELinux mode.

Q Where can I find log files to troubleshoot installation issues?

Log files related to RPM installations are often in /var/log/rpmpkgs on Red Hat-based systems. Check this location for error messages and details.

Q How do I contact support for RPM installation issues?

If troubleshooting doesn’t resolve the problem, contact the package maintainer or the distribution’s support for assistance.

Narendra

At Redswitches, Narendra works as a DC engineer full-time. He is in charge of Redswitches Asia DC, which is based in India. His area of expertise is server hardware. Rack and DC Operation resolving all OS-related concerns.

Related articles

Latest articles