56

I'm asking this question cautiously because I don't want to get this wrong.

I have a program_name.rpm file saved locally on my server (CentOS 6.5).

I have installed it previously just by navigating to it and using yum install program_name.rpm which worked fine but it didn't give me any option to specify where it is installed.

Is it possible to install this rpm to /opt/some_directory instead of it's default install location?

2 Answers 2

108

Too bad you accepted that rpm answer. That will lead to warnings from subsequent executions of yum, such as Warning: RPMDB altered outside of yum

Instead you should use yum localinstall, per section 13 of the Yum and RPM Tricks page of the CentOS wiki => https://wiki.centos.org/TipsAndTricks/YumAndRPM#head-3c061f4a180e5bc90b7f599c4e0aebdb2d5fc7f6

You can use the --installroot option to specify a different installation root.

4
  • 3
    I do like doing things according to best practices and this answer includes the yum equivalent that I was hoping for. Unfortunately I've installed a whole bunch of packages using the rpm -ivh method already. I wish it were possible to accept two correct answers because I feel the accepted answer is correct but people coming to view this question would benefit more from this answer Jun 21, 2016 at 7:34
  • Is better to use yum instead of rpm,but to solve the "warning: RPMDB altered outside of yum" is possible to use "yum history sync"
    – elbarna
    Oct 3, 2018 at 15:48
  • 1
    This works. When I tried just running rpm it didn't go get the dependencies. It just errored with "Failed dependencies". Oct 4, 2018 at 21:52
  • "yum --nogpgcheck localinstall packagename.arch.rpm"
    – hmz
    Mar 26, 2019 at 7:02
36

Use rpm

rpm -ivh package.rpm

If you want to install it on different place use:

rpm -ivh -r /new/path package.rpm

but be aware under new root will be recreated the directory structure from package

5
  • 2
    this worked great, I don't suppose there is a YUM equivalent? Feb 5, 2015 at 8:40
  • 4
    To clarify: yum is wrapper around rpm. rpm is the main program to manage packaged in RHEL, SuSE, CentOS and other distributions Feb 5, 2015 at 8:42
  • 4
    Oh I always thought yum was based on rpm, never realized it was a wrapper, thanks for all your help Feb 5, 2015 at 9:09
  • Do you have to be root to run this command? Oct 14, 2017 at 1:25
  • Correct, you must be root to run the command Oct 14, 2017 at 3:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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