How To Install .deb Packages on Fedora (and Other Distros)
Have you ever needed to convert a deb package to rpm or other format? What about convert a package to deb? This article has some tips on how to convert packages between Linux distros.

Alien allows you to convert packages between different Linux package formats. Here's the video if you prefer videos:
The Problem
You found a package you want to install. It's not in your repository nor is it available as a flatpak, snap, etc.
In my situation, I'm on Nobara and want to install a package that is only available as a .deb
package.
I found two different ways to do this. The first is using an application named Alien, the second is using a tool called dpkg.
About Alien
To solve this, we will install a package called Alien and convert the package using that.
Installing Alien
Fedora and Norbara, Ubuntu based distros all seem to have Alien in the base repos. Arch, you'll need to use the AUR.
#Install on Fedora or Nobara
sudo dnf install alien
#Install on Ubuntu based distros
sudo apt install alien
#Install via the AUR in Arch, depending on your AUR helper
yay -S alien
#or
paru -S alien
Converting packages with Alien
There are several flags that can be used while converting a package. They are:
-d
or --to-deb
Make debian packages. This is the default.
-r
or --to-rpm
Make rpm packages.
-t
or --to-tgz
Make tgz packages.
--to-slp
Make slp packages.
-p
or --to-pkg
Make Solaris pkg packages.
-i
or --install
Automatically install each generated package, and remove the package file after it has been installed.
The basic command is:
alien [options] filename
So in my case, I'll be running:
alien -r mixing-station-pc_1.8.1-1_amd64.deb
Alternately, you could run the command below to install the rpm after conversion
sudo alien -r -i mixing-station-pc.1.8.1-1_amd64.deb
Since I didn't use the -i
flag I then ran this command to install the newly created rpm file:
sudo rpm -i mixing-station-pc-1.8.1-2.x86_64.rpm
You can also simply run sudo [package manager] [package name]
in most cases a well. Ex. If I was installing on a distro with apt, sudo apt install [package name]
The confusing part
It was not really obvious where this file installed so while looking for it, I found an alternate method to extract a .deb package. With this method, you could then put the extracted bin file in your /apps folder or whatever directory you like.
Ultimately though, my install showed up in /opt/mixing-station/bin
and I was able to run the application from there.
Extracting a .deb with dpkg
First, you need to install dpkg. I checked for this by running:
sudo dnf install dpkg
This revealed that dpkg was already installed for me. You will need to check your distro's packages to see if it's available in the repositories for your distro.
I then ran the following commands.
#cd to the directory with the .deb file
#in my case
cd ~/Downloads
#make a directory to extract the .deb to
#in my case
mkdir mixing-dir
#finally run the command below, format is:
#dpkg-deb -xv deb-file extraction-folder
#for me, it was this:
dpkg-deb -xv mixing-station-pc_1.8.1-1_amd64.deb mixing-dirre
Creating a .desktop File
If you need to create a .desktop file for your new app. You can do so by adding application-name.desktop
to the following directory:
~/.local/share/applications
A template for the .desktop file is below. You may be able to remove Terminal=False
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=False
Categories=Multimedia
Exec=/path/to/executable
Icon=/path/to/icon
Name=Application Name
Comment=Application Comment
If the .desktop file is saved in the folder above, it should just appear in your application menu, though if not, a reboot or reloading of your desktop environment isn't a bad idea.
Alternately, you could also add the directory to your path depending on use case and requirements. This would allow you to run the app from your terminal. Another alternative would be to create an alias that would enter the full path for you easily. This could be added to your .bashrc
, etc.
Wrapping up
Obviously, this is not the best option in most situations, now it's much more common to be able to install a flatpak or another universal package type or add an external repository. But there are some situations where this is a great option.
Questions? Feel free to comment below or in the Youtube video's comments.