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.

______________________

UK based freelance writer Michael Reed writes about technology, retro computing, geek culture and gender politics.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Single Pakage Standard for all Linux distributions?

Jock Stansfield's picture

There should be a single package standard for ALL Linux distributions.

Single Pakage Standard for all Linux distributions?

seeker5528's picture

There shouldn't be a single package standard for all distributions, but to the extent possible packages made available outside of a distribution's archives/repositories should be made available as LSB compliant packages.

Installing packages in your distribution that were packaged specifically for another distribution is asking for trouble, having a single package standard for distributions won't fix that, and even viewing that as if it were a problem runs counter to what a distribution and it's package management are intended to provide.

LSB packaging on the other hand is intended for packages that you go outside the distribution channels to get, where theoretically as long as you have installed the packages that provide the required level of LSB support dependencies are not an issue, and the native package management system will still have the information about the packages so removal is the same as for a native package.

Later, Seeker

Single format!

lefty.crupps's picture

> There should be a single package standard for ALL Linux distributions.
Yes, I agree, and it should be .deb packages. No, not the .deb packages used by Ubuntu*, but the .deb packages used by Debian. Unless we want to go with .rpm, but only the .rpm for Red Hat. OK, fine, .rpm for Suse, but not the .rpm for Fedora.

Yeah, even agreeing on one file type (or file extension) doesn't really solve the issue here.

Multiple package formats is fine IF distros would keep theirs unique. *Ubuntu I am looking at you, don't make .deb into the mess that .rpm has become. Change your file extension please to .ubu !! Keep the awesome goodness that is dpkg etc.

Actually there is such a

Anonymous's picture

Actually there is such a standard in LSB, that states that to be LSB compliant you need to support rpm. In Debina this support is provided for by alien.

Whats needed is not just a standard packaging format but also a standard for package naming so we know exactly what files and what upstream version a certain package contains.

I would also say that the .deb system have past its best before date. For one thing .deb packages often want some kind of user input when installed, e.g. if you install postfix you will get all sorts of questions on mail domains. This doesn't work well with graphical installers like packagekit that now is integrated into many GUI environments like e.g . Gnome.

Red Hat and Novell will never switch to .deb for the simple reason that both systems are so similar that it would only be a cost to their customers without any benefits. To get them to switch we need something that is significantly better, .deb is not.

Good Stuff brother!

Anonymous's picture

Good Stuff brother!

Awesome you've certainly

Anonymous's picture

Awesome you've certainly helped millions

Wonderful!

Barista Uno's picture

Thanks for the post. I will surely download it and use it when the need arises.

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState