首页 > 解决方案 > 如何通过自动下载/安装其他依赖项来安装本地 .rpm 文件

问题描述

现在这个问题有多种变体,但没有一个适用于我。

我想自动安装本地下载的.rpm文件和运行此安装时所需的任何其他依赖项。

这个问题是针对本地下载的,所以请不要建议为已知的包名运行 yum-downloader。什么都不知道。我发现了一个不错的.rpm,下载了它,现在想安装它。

详细示例:

我的系统已经有了polycoreutils-python-2.5-11。如果我使用 yum 安装,这是我得到的最高版本。但是,我在本地下载了一个更高版本的升级文件polycoreutils-python-2.5-24 ... .rpm

当然,当我尝试安装它时,它会抱怨缺少新的部门,即polycore-utilssetools-lib. 我也安装了它们,但版本较旧。所以我可以去下载所需的新.rpm文件。

但是对于逐步发现的许多依赖项,我无法重复此过程。安装本地下载的包及其所需依赖项的最佳方法是什么。

标签: rpmyumrhel7

解决方案


您需要使用yum来安装您下载的软件包。yum然后将为您管理依赖项:

Yum install /path/to/downloaded.rpm

如果yum找不到您需要的依赖项,您应该告诉yum他在哪里可以找到它们:在他可以找到它们的地方添加存储库。

编辑 关于安装外部下载包的多个注释。

  • 如果你可以的话; 坚持使用官方存储库中可用的版本;或在相关存储库中(例如epelcentos 或packmanopensuse)。
  • 一旦您开始rpms从互联网下载自己;尽量靠近你的操作系统和你的操作系统版本。你离你的操作系统版本越远;你越有可能得到依赖错误。很有可能您将不得不开始升级如此多的软件包,以至于您即将进行手动分发升级;这显然是相当冒险的。
  • 如果您发现有人为您的 os 和 os-version 重新打包的包;您可以简单地将他的存储库添加到您的yum; 即使只是为了安装 rpm(之后您可以禁用或删除该存储库)。添加此存储库时要小心,不要在不需要的情况下开始升级太多软件包;因为如果这不是官方维护的存储库,您可能会再次遇到问题。
  • 如果您没有找到可以临时添加到的存储库,那么yum剩下的唯一解决方案是将所有依赖项手动下载到本地目录中,然后运行yum install directory/*rpm​​. 请注意 - 如果幸运的话 - 您可能会在下载要安装的 rpm 的位置旁边找到您依赖的 rpm。否则http://rpm.pbone.net/index.php3是一个非常好的开始搜索的地方。

推荐阅读