Alien - Use Any Package On Any Distribution

Sometimes, a utility or an application that you want to install is impossible to find in the format of your distribution. Alien is a utility that can convert one package type into another. It can get you out of a fix when you can't find a package for your distribution, and it is also useful for package maintainers who want to distribute packages for distributions that they don't run. It can work with Slackware, Debian and RPM packages as input and output types.

It's surprising how much stuff you tend to come across that is stuck in a single package format. Printer drivers are an example of software that is often abandoned without sourcecode. Occasionally, developers of special interest software only create packages for their own system and there is no one else willing to build for other systems. If you can get the source code, and it compiles, you might be better off using that to install it via the package manager by making use of Checkinstall (see our quick guide) rather than using Alien.

First a word of caution, Alien isn't guaranteed to work with everything that you throw at it. As good as it is, think of Alien as a last resort rather than a preferred installation routine. There is sometimes a significant difference between the different package formats and the organisational layout of source and target distributions that means that it won't work properly. When you're using Alien, you're generally travelling in uncharted waters, and the Alien website advises against the use of Alien to install system level components.

Alien is in the package repository of most of distributions, and once you have it installed, it's simple to use. The format for the command is

alien [options] file

Note that Alien needs root privileges to run. The most important options, for most users, are -r, -d and -t for .rpm (Red Hat), .deb (Debian) and .tgz (Slackware) package output format respectively. Alien can figure out the input package format on its own. So, to take the .deb of wxCam and convert it into an RPM use:

sudo alien -r wxcam_1.0.6_i386.deb

You then apply the standard package installation tools of your distribution and hope for the best.

The Alien package converter website.

Load Disqus comments