How to Install RPM Packages on Debian (13, 12, 11)

Last updated February 9, 2026 1:08 pm Joshua James 8 min read

Alien lets you install RPM packages on Debian by converting them into the native DEB format. RPM (Red Hat Package Manager) is the package format used by Fedora, CentOS, and RHEL, but Debian uses DEB packages instead, so RPM files cannot install directly. Alien bridges this gap by handling the conversion automatically. Common use cases include installing vendor-specific tools not packaged for Debian, testing software across distributions, and accessing niche applications only available as RPMs. By the end of this guide, you will have Alien installed, understand how to convert and install RPM packages, and know the limitations and best practices for this approach on Debian.

Before converting an RPM package, always search Debian’s repositories first using apt search package-name. Native DEB packages receive security updates automatically and integrate properly with your system. Only use Alien when no native package exists.

Install Alien on Debian

Open a terminal by searching for “Terminal” in Activities. Since Debian does not include Alien by default, you need to install it from the official repositories.

Update Debian Before Installation

Update your package lists and upgrade installed packages to prevent conflicts:

sudo apt update && sudo apt upgrade

This guide uses sudo for commands that need root privileges. If your user is not in the sudoers file yet, see the guide on how to add and manage sudo users on Debian.

Install the Alien Package

Alien is available in Debian’s default repositories, so installation is straightforward:

sudo apt install alien

APT automatically pulls in Alien’s dependencies, including the rpm package for reading RPM files and debhelper for building DEB packages.

Verify Alien Installation

Confirm the installation by checking Alien’s version:

alien --version

Expected output on Debian 13:

alien version 8.95.8

Version numbers vary by Debian release: 8.95.8 on Debian 13, 8.95.6 on Debian 12, and 8.95.4 on Debian 11. Any output confirms a successful installation.

Convert and Install RPM Packages on Debian

With Alien installed, you can convert RPM packages to DEB format through three steps: downloading the RPM, converting it with Alien, and installing the resulting DEB package.

Obtain the RPM Package

Start by downloading the RPM file from the software vendor’s official website or a trusted repository. Make sure to match the architecture to your system. Most modern systems use 64-bit (x86_64 or amd64) packages. To verify your architecture, run:

dpkg --print-architecture
amd64

When downloading RPMs, note that x86_64 in RPM naming is equivalent to amd64 on Debian. Both refer to 64-bit Intel/AMD processors.

Convert RPM to DEB Format

Once downloaded, navigate to the directory containing your RPM package:

cd ~/Downloads

Convert the RPM package to DEB format using Alien. Replace your-package.rpm with the actual filename:

sudo alien -d your-package.rpm

The -d flag explicitly specifies DEB output format (this is the default, but being explicit improves clarity). After conversion, Alien creates a new .deb file in the current directory with a modified version number.

Alien supports several conversion flags depending on what you need:

FlagOutput FormatUse Case
-d (default)Debian .debStandard conversion for installation on Debian
-rRed Hat .rpmConvert DEB back to RPM for testing
-tSlackware .tgzConvert for Slackware systems
-cInclude scriptsPreserve pre/post-install scripts (use with caution)
-kKeep versionPrevent Alien from incrementing the version number

By default, Alien does not include scripts from the original RPM package. If the software requires pre/post-installation scripts to function correctly, add the -c flag: sudo alien -d -c your-package.rpm. However, be cautious with this option as RPM scripts may contain commands incompatible with Debian.

Install the Converted DEB Package

Install the converted DEB package using APT, which automatically resolves dependencies from Debian’s repositories. Replace your-package.deb with the generated filename:

sudo apt install ./your-package.deb

The ./ prefix is required so APT recognizes the local file. Without it, APT searches the repositories instead of installing your local package. If installation fails with dependency errors, see the Troubleshooting section below.

Verify the Installation

After installation, confirm the package installed correctly by querying dpkg. Replace package-name with the software’s package name:

dpkg -l | grep package-name

Expected output format:

ii  package-name    1.0.0    amd64    Package description

In this output, the ii status indicates that dpkg installed the package correctly. At this point, run the software to confirm it functions as expected.

Practical Example: Converting an RPM Package

To demonstrate the complete workflow, here is an example converting a simple RPM package. This example uses a generic pattern you can adapt to any RPM file:

cd ~/Downloads
wget https://example.com/package-1.0.0-1.x86_64.rpm
sudo alien -d package-1.0.0-1.x86_64.rpm

Alien outputs the conversion progress and creates the DEB file:

package-1.0.0-2_amd64.deb generated

Notice that Alien increments the version number (from 1 to 2 in this example) to distinguish converted packages from native ones. Install the converted package:

sudo apt install ./package-1.0.0-2_amd64.deb

Verify the installation succeeded:

dpkg -l | grep package

Expected output format:

ii  package    1.0.0-2    amd64    Package description

Alien Conversion Limitations on Debian

Before relying on Alien for production use, review these limitations that commonly affect converted packages on Debian:

LimitationImpactWorkaround
No automatic updatesAPT does not track converted packages for updatesManually download and convert new RPM versions as they release
Dependency mismatchesRPM packages may depend on libraries named differently on DebianUse ldd to identify missing libraries and install Debian equivalents
Script incompatibilitiesRPM pre/post-install scripts may reference paths or services absent on DebianConvert without scripts (default) or review scripts before using -c flag
Architecture issuesPackages with hardcoded paths may cause runtime failuresCheck binary paths with dpkg -L package-name after installation

Given these constraints, for production systems consider alternatives like Flatpak on Debian or Snap packages on Debian for cross-distribution software. You can also check whether the vendor provides native DEB packages or a third-party repository for Debian. Additionally, tools like Nala on Debian can make package management more user-friendly.

Troubleshoot RPM Conversion Issues on Debian

Resolve Broken Package States

If installation fails or leaves your system in an inconsistent state, run:

sudo apt --fix-broken install

Expected output when the system is healthy:

0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

This command attempts to download missing dependencies and complete any interrupted installations. If it cannot resolve the issue, remove the problematic package to restore your system:

sudo apt remove package-name

Conversion Fails with “Unknown file type”

When Alien reports an unknown file type, the RPM file may be corrupted or incomplete. Verify the file type with:

file your-package.rpm

For a valid RPM, you should see:

your-package.rpm: RPM v3.0 bin i386/x86_64 your-package-1.0.0

However, when the download failed or was corrupted, you may instead see:

your-package.rpm: HTML document, ASCII text

This output indicates you downloaded an error page instead of the actual file. To resolve this, re-download the RPM from the vendor’s website.

Package Installs but Software Won’t Run

First, check for missing shared libraries:

ldd /path/to/binary | grep "not found"

Example output showing missing libraries:

libexample.so.3 => not found
libcrypto.so.1.1 => not found

For each missing library, search for Debian equivalents:

apt search libexample

Install the matching Debian package. Library package names often differ between RPM-based and Debian systems, so search results help identify the correct name:

sudo apt install libexample3

After installing the libraries, verify no dependencies remain missing:

ldd /path/to/binary | grep "not found"

When no output appears, all dependencies are satisfied. Test the software to confirm it runs correctly. If some libraries have no Debian equivalent, the converted package may not be usable on your system.

Dependency Errors During Installation

Sometimes apt --fix-broken install cannot resolve dependencies because the RPM package requires libraries not available on Debian. Check the error messages for specific package names:

dpkg: dependency problems prevent configuration of package-name:
 package-name depends on libexample; however:
  Package libexample is not installed.

Search for the library or a Debian alternative:

apt search libexample

If a matching package exists, install it and retry the original installation. If Debian lacks the required library, abort the broken installation to restore your system:

sudo apt remove package-name

Verify your package database is clean:

sudo apt --fix-broken install

When this command reports “0 upgraded, 0 newly installed,” your system is in a consistent state.

Remove Alien and Converted Packages from Debian

Removing a package with apt remove deletes the program files but preserves configuration files. Use apt purge to also remove configuration files. Note that user data in home directories is never removed automatically.

Remove a Converted Package

You can remove packages that you installed via Alien the same way you remove any DEB package:

sudo apt remove package-name

Alternatively, to also remove configuration files:

sudo apt purge package-name

Remove Alien

When you no longer need to convert RPM packages, you can remove Alien itself:

sudo apt remove alien

Clean up any dependencies that your system no longer needs:

sudo apt autoremove

Verify Removal

Confirm Alien is no longer installed:

alien --version

Expected output when removal succeeded:

bash: alien: command not found
Can Alien convert any RPM package to DEB format?

Alien can convert most RPM packages, but the resulting DEB may not work correctly. Packages with complex dependencies, distribution-specific scripts, or hardcoded paths for RPM-based systems often fail at runtime despite converting successfully. Always test converted packages before relying on them.

Do converted RPM packages receive automatic updates on Debian?

No. APT does not track packages converted with Alien for updates. You must manually download newer RPM versions and convert them again. For software you need long-term, consider native alternatives like Flatpak on Debian, Snap on Debian, or checking whether the vendor offers a DEB package or APT repository.

Why does Alien increment the version number during conversion?

Alien increments the version number (for example, from 1.0.0-1 to 1.0.0-2) to distinguish converted packages from native ones. This prevents APT from confusing a converted package with an official Debian package of the same name and version. Use the -k flag to keep the original version number if needed.

Conclusion

You can now install RPM packages on Debian using Alien, convert them to DEB format, and resolve dependency issues that arise from cross-distribution packaging differences. For ongoing software needs, prefer native DEB packages from Debian’s contrib and non-free repositories, Flatpak on Debian, or Snap packages on Debian over repeated RPM conversions.

Found this guide useful?

Support LinuxCapable to keep tutorials free and up to date.

Buy me a coffee Buy me a coffee

Before commenting, please review our Comments Policy.
Formatting tips for your comment

You can use basic HTML to format your comment. Useful tags:

You type Result
<code>command</code> command
<pre>block of code</pre> code block
<strong>bold</strong> bold
<em>italic</em> italic
<a href="URL">link</a> link
<blockquote>quote</blockquote> quote block

Leave a Comment

We read and reply to every comment — let us know how we can help or improve this guide.

Let us know you are human: