使用YUM在本地安装.rpms


50

我要谨慎地问这个问题,因为我不想弄错。

我的服务器(CentOS 6.5)本地保存了一个program_name.rpm文件。

我以前只是通过导航到它并使用yum install program_name.rpm来安装它,它工作正常,但没有提供任何选项来指定安装位置。

是否可以将此rpm安装到/ opt / some_directory而不是其默认安装位置?

Answers:


34

使用rpm

rpm -ivh package.rpm

如果要将其安装在其他地方,请使用:

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

但是请注意,在新的根目录下将从包中重新创建目录结构


2
这很好用,我不认为有一个YUM等效项吗?
TheLovelySausage'2

4
需要说明的是:yum是rpm的包装。rpm是管理RHEL,SuSE,CentOS和其他发行版中打包的主要程序
Romeo Ninov

4
噢,我一直认为yum是基于rpm的,但从未意识到它是包装器,感谢您的所有帮助
TheLovelySausage 2015年

您必须是root用户才能运行此命令吗?
Alexej Magura

正确,您必须是root用户才能运行命令
Romeo Ninov

96

太糟糕了,您接受了rpm答案。这将导致随后执行yum的警告,例如 Warning: RPMDB altered outside of yum

相反,您应该使用CentOS Wiki yum localinstallYum and RPM Tricks页面的第13节=> https://wiki.centos.org/TipsAndTricks/YumAndRPM#head-3c061f4a180e5bc90b7f599c4e0aebdb2d5fc7f6

您可以使用该--installroot选项指定其他安装根目录。


3
我确实喜欢根据最佳实践来做事,这个答案包括了我所希望的百胜等效。不幸的是,我已经使用rpm -ivh方法安装了一堆软件包。我希望可以接受两个正确的答案,因为我认为已接受的答案是正确的,但来此问题的人会从这个答案中受益更多
TheLovelySausage 2016年

最好使用yum代替rpm,但要解决“警告:在yum之外更改RPMDB”,则可以使用“ yum history sync”
elbarna

1
这可行。当我尝试仅运行rpm时,并没有获取依赖项。它只是因“失败的依赖项”而出错。
Christian Shay

“百胜--nogpgcheck localinstall packagename.arch.rpm”
HMZ
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.