I am trying to install fedora as a domU under a CentOS dom0 using the method outlined in The Book of Xen. I have asked another question regarding a consistent error message of cpio: Bad magic when I try to run the rpm command on a fedora-release-15.1 rpm. That tutorial actually goes through an install of CentOS 5.2 into the logical volume. If I run wget on a similar CentOS install rpm then run the rpm -i command (as outlined) it works fine.

So what is it about rpm and fedora under CentOS 5.6 that would cause an issue? running the --test option returns the following:

[root@localhost fedRoot]# rpm -ivh --test --root /mnt/fedRoot fedora-release-15-1.noarch.rpm 
warning: fedora-release-15-1.noarch.rpm: Header V3 RSA/SHA256 signature: NOKEY, key ID 069c8460
error: Failed dependencies:
        fedora-release-rawhide = 15-1 is needed by fedora-release-15-1.noarch
        rpmlib(FileDigests) <= 4.6.0-1 is needed by fedora-release-15-1.noarch
        rpmlib(PayloadIsXz) <= 5.2-1 is needed by fedora-release-15-1.noarch

What do these failed dependencies mean? Is it even possible to do what I am trying to do (install fedora on a separate LV in an active CentOS system)? Is it possible to update these dependencies in my system? or is it time to call it quits on this particular path...

  • Unless you have somehow mixed the systems (the error would suggest that), then there is absolutely no reason for it not to work. Unsatisfied dependencies are something that is normal, and I'm pretty sure that you definitely shouldn't install fedora-release-15-1 manually. Jun 15 '11 at 7:24
  • How do you mean "mix the systems"? Are you referring to the architecture? or the OS themselves? Jun 15 '11 at 10:35

Using the rpm tool manually, you will not be able to install an individual package like that to a new location. Every package will have dependencies on other packages, and rpm will refuse to procede until all those dependencies are met. With a blank directory like that, you will need at least a minimum set of packages that make up a complete system.

In order to procede, you will need to add enough packages to your command line to satisfy these dependencies. Instead of doing one package at a time, you will put together an RPM command with a whole series of packages on it.

This is where upper level package managers like yum come into play. They dig through the rpm meta data finding dependencies, download those files, and add them to the chain of rpm commands.

I don't know about yum, but the upper level rpm package manger I use is able to do a target install like this and take care of the dependencies behind the scenes. You might look for an "instll-dist" or "root" type argument to yum and use that instead of rpm directly.

  • That is actually the next step in the Book of Xen guide. It suggests using the release-rpm to get the basic yum repo's, and other basics into the skeleton directory then use yum --installroot to install the rest. I feel this is starting to get very circular... I will try the yum command next. If that doesnt work, maybe there is a more manual way of putting in the fedora files then running yum. Jun 15 '11 at 12:30
  • Apparently in CentOS that RPM is the base system with the most low level directories and other things and no dependencies. In Fedora that's not the package for that, or there may not be a single root package, you might need a few. Look through the rpms and find other things like "basesystem" or "FHS" and look at their dependencies to see if you fan figure out what the root package(s) should be in Fedora.
    – Caleb
    Jun 15 '11 at 12:34
  • Though Im not quite there yet, I am accepting this answer as it has pointed me in the right direction... thanks Caleb Jun 16 '11 at 10:10
  • You can always come back and ask much more specific questions when they arise.
    – Caleb
    Jun 16 '11 at 20:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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