Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I'm a little confused about RPM's in Red Hat and/or Fedora (and/or other distros?). I can certainly accept that 64-bit RPM's are needed for 64-bit OS'es and 32-bit for 32-bit OS'es but... If I have an RPM for ... OpenOffice.org, is that RPM valid for any of my RPM-accepting OS'es or do I need to seek out an RPM specifically tailored to the OS that I'm working with?

share|improve this question
add comment

2 Answers

up vote 7 down vote accepted

As usual: The answer depends. RPMs (or basically any given binary package container) contain runnable code. Most of the time that code depends on certain libraries or programs, the package specifies that it does for example depend on library libA in a version >= 1.0.

Now take two different distributions with both using the RPM packaging format. let's say one calls the package libA-1.0 so the RPM you have specifies that it depends on libA. The second binary distribution has a different naimg scheme and prefixes the package with a language so it's named language-libA. Even if the contents of both these libA packages are identical, the package manager cannot know that. You could of course force RPM to just install the package anyways without looking at the dependencies but that's usually just asking for punishment.

The problem is less bad if both distributions are related or even based upon one another: Ubuntu for example is based on debian and therefore shares many of the naming conventions and packages so you can othen transfer a package build for debian to a Ubuntu box.

It also depends a lot on what language the package is written in: If you have something interpreted like Python where the package is basically just a bunch of text files taking a package for a different distribution usually is easy to handle, but if it's written in C++ and depends and both distributions use different versions of core libraries or compilers you're basically out of luck.

share|improve this answer
add comment

in addition tante's answer. It basically depends on whether or not the binary contents of what is essentially a zip file with metadata, are linked properly, if they aren't linked properly they will have to be relinked or otherwise won't work. Some RPMS may only contain things like perl modules which don't require linking, so as long as they are in the right spot they'll work. However, IIRC, there is more than one RPM format, I believe OpenSuse's RPM format differ's slightly from Red Hats, and thus wouldn't work on Fedora. Obviously though a Fedora package is unlikely to work on Red Hat because the library versions are so different, and the linking would be off.

In short, no, it won't work, don't bother trying. Only Generic RPM's like those provided for flash, oracle (you'll note oracle requires relinking), avg, etc might work elsewhere.

share|improve this answer
add comment

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.