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?

Jeff Schaller
  • 66,199
  • 35
  • 114
  • 250
TheLovelySausage
  • 4,183
  • 9
  • 30
  • 49

2 Answers2

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.

Jeff
  • 1,282
  • 2
  • 9
  • 9
  • 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 – TheLovelySausage Jun 21 '16 at 07: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 03 '18 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". – Christian Shay Oct 04 '18 at 21:52
  • "yum --nogpgcheck localinstall packagename.arch.rpm" – hmz Mar 26 '19 at 07: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

Romeo Ninov
  • 16,541
  • 5
  • 32
  • 44