Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have a burning desire to install RPMs onto my Ubuntu installation - is this possible? Can I use Yum - or another RPM Package Management tool?

share|improve this question
    
Why? What kind of software are you missing that you can't find in Ubuntu or the PPAs? Converting rpms with alien works, but it's really not the best option. –  ℝaphink Aug 24 '10 at 7:08
    
In my day job I'm a linux System Administrator and I administer mainly Redhat machines. I love Ubuntu in that I don't have to take my job home with me, but some things that Debian uses for configuration (mainly Apache) really drive me nuts. I much rather prefer the way RH maintains the apache software. So maintaining two package management solutions (yum and aptitude) seems like a more ideal solution (if it's possible) –  Marco Ceppi Sep 2 '10 at 1:00
    
Related information: rpm and yum tag wikis. –  Eliah Kagan Dec 27 '12 at 13:15

10 Answers 10

up vote 33 down vote accepted

Can I use Yum

I wouldn't recommend it. You probably could compile it but you wouldn't have any Ubuntu-compatible package repositories for it to handle.

You can convert single RPM files into DEBs with Alien:

sudo apt-get install alien
sudo alien my_package.rpm
sudo dpkg -i my_package.deb

Note: It might change the filename a little more than just the extension.

This won't work for everything as packages link to other packages to fulfil dependencies. Obviously Red Hat/Fedora/CentOS use different package names to Ubuntu so you're likely going to run into a whole load of pain.

Chances are if a DEB doesn't exist, you'll be better off just getting the source and compiling it.

share|improve this answer
    
An answer quite more complete than mine :) –  Xuacu Aug 23 '10 at 22:44
3  
if alien doesn't work and you do end up using the source code directly, you can turn that into a .deb using checkinstall (which is in the universe repository, not installed by default). –  ImaginaryRobots Aug 23 '10 at 22:52
    
Checkinstall is used in place of make install and is very handy to have around. Being able to remove packages is definitely a plus! –  aperson Aug 24 '10 at 10:49
    
checkinstall is great for maintaining a self-build in a packaged environment but it does have some quirks that sometimes mean something that will install through make install won't install. I use it when I can. –  Oli Aug 24 '10 at 11:00
2  
you can do alien --install my_package.rpm. –  Tshepang Oct 29 '10 at 19:11

You will need alien to do that.

sudo apt-get install alien

This will install all the required packages.Now you can start converting your .rpm files to .deb packages.

Available Options for alien:

Convert the package.rpm into a package.deb

sudo alien -d package-name.rpm

Convert the package.rpm into a package.deb, and install the generated package.

alien -i package-name.rpm

If you want to keep alien from changing the version number use the following command

alien -k rpm-package-file.rpm
share|improve this answer

Theres a GUI package manager named SmartPM on the Repos, created by Canonical, it handles .deb AND .RPM

share|improve this answer

The short answer is, Don't!

If you got a RPM that is so important that you need to have it there is properly a Ubuntu package as well, and if not it is properly worth going through the trouble of compiling it from source in to the Debian package format (that Ubuntu uses as well). Now there are certain times when you can't just recompile the software (if it's not opensource it's impossible) and in that case you can use the alien program. But installing from RPM's is a little like putting gasoline on a diesel car, it might work, but you wont benefit from it in the long run!

To build a package from source there is a guide on the Ubuntu Wiki, there are also a program called checkinstall that can do some tricks with a default source-tree without setting up build instructions for the package. If you think that someone else can benefit from the programs that you compile you can setup a repository on launchpad and share the package goodness!

share|improve this answer

If you really need to install RPMs on your system you should indeed try to convert them using 'alien'.

Please keep in mind that by default 'alien' will meddle with the version number of the package. If you want the version number to stay the same, pass the option '-k' when converting.

You should not try to use Yum or any other way of installing the RPMs, such as apt-rpm, themselves next to the existing DEB packages. The DEB and RPM systems manage the list of installed software separately and therefore don't know what packages were installed previously by the other system. If, e.g., you'd try to install a GUI-bearing application with an RPM-based package management system, it'll try to install vital system components itself, because it thinks they are not installed yet. This will either cause the installation to fail horribly, or overwrite vital system files.

share|improve this answer

Alien is a tool that convert from one format(.deb or .rpm) to another (.deb, .rpm or tarball)

Alien is not advised to use in converting from .deb to .rpm its perfect to use in converting .deb to tarballs

Althought Alien attempts to preserve meta-data when converting but it will still have Metadata & dependency problems make package less reliable and thus will conflicts ehen adding or removing distirbution packages in the future.

share|improve this answer

use alien which converts the rpm to deb and subsequently installs the deb.

share|improve this answer

Actually shortest option is

sudo alien -i -k packagename.rpm

Don't have an alien? Get one!

sudo apt-get install alien

Alien will convert rpm package into deb package, the -i option means install the converted package after is converted and the -k option ensure version is not +1 after conversion.

share|improve this answer

With alien I can just convert the .rpm file to a .deb file and simply install that one.

Alien is available in the normal Debian repositories, so we can install it like this:

sudo apt-get install alien

To convert it into a .deb package, we simply run

alien *.rpm
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.