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
sudofor 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:
| Flag | Output Format | Use Case |
|---|---|---|
-d (default) | Debian .deb | Standard conversion for installation on Debian |
-r | Red Hat .rpm | Convert DEB back to RPM for testing |
-t | Slackware .tgz | Convert for Slackware systems |
-c | Include scripts | Preserve pre/post-install scripts (use with caution) |
-k | Keep version | Prevent 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
-cflag: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:
| Limitation | Impact | Workaround |
|---|---|---|
| No automatic updates | APT does not track converted packages for updates | Manually download and convert new RPM versions as they release |
| Dependency mismatches | RPM packages may depend on libraries named differently on Debian | Use ldd to identify missing libraries and install Debian equivalents |
| Script incompatibilities | RPM pre/post-install scripts may reference paths or services absent on Debian | Convert without scripts (default) or review scripts before using -c flag |
| Architecture issues | Packages with hardcoded paths may cause runtime failures | Check 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 removedeletes the program files but preserves configuration files. Useapt purgeto 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
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.
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.
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.
Formatting tips for your comment
You can use basic HTML to format your comment. Useful tags:
<code>command</code>command<pre>block of code</pre><strong>bold</strong><em>italic</em><a href="URL">link</a><blockquote>quote</blockquote>