25

I would like to be able to install packages by using a package manager (Yum is available on my server), but I don't have root access. I don't technically need root access, I just want the packages to be installed in my home directory.

Is there any way I can do this?

2 Answers 2

10

As Ignacio points out, you can use yumdownloader.

But for the second step

rpm -ivh --relocate /usr=/home/username/usr --relocate /etc=/home/username/etc

or

rpm -ivh --relocate /=/home/username/progname

is probably easier.

If the RPM has any scripts that assume they are running as root, you might also need to add the --noscripts option.

Plus you can add the --aid option to resolve dependencies.

Yet another useful options in this case is --root to avoid rpm to write to /var path (since you're not root), so the command will be something like:

rpm -ivh --relocate /=/home/username/progname --root /home/username/progname
2
  • 2
    Please take note of the following guideline from Fedora: "The use of RPM's facility for generating relocatable packages is strongly discouraged. It is difficult to make work properly, impossible to use from the installer or from yum, and not generally necessary if other packaging guidelines are followed. However, in the unlikely event that you have a good reason to make a package relocatable, you MUST state this intent and reasoning in the request for package review.". Oct 21, 2013 at 20:07
  • 1
    Wel, well, well. First option with relocate did not work, because it needs access to /var as root. Second option did not work because it seems you need root access to do that. I get the following error message: error: Unable to change root directory: Operation not permitted
    – Sylvain
    Sep 22, 2015 at 10:12
14

Not using yum. You can use yumdownloader though, and then put the packages through rpm2cpio ... | cpio -id in order to extract their contents, and then place the files in the appropriate locations.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .