如何通过自动下载/安装其他依赖项来安装本地.rpm文件

时间:2019-05-29 20:05:43

标签: rpm yum rhel7

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

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

该问题是本地下载的特定问题,因此请不要建议运行yum-downloader以获取已知的程序包名称。一无所知。我发现了一个不错的.rpm,下载了它,现在想安装它。

详细示例:

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

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

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

1 个答案:

答案 0 :(得分:1)

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

Yum install /path/to/downloaded.rpm

如果yum无法找到所需的依赖项,则应告诉yum他可以在哪里找到它们:将存储库添加到他可以找到它们的地方。

编辑 关于安装外部下载的软件包的多条评论。

  • 如果可以的话;坚持使用官方存储库中可用的版本;或与相关的存储库中(例如epel用于centos或packman用于opensuse)。
  • 一旦您开始从互联网下载rpms,尽量保持与操作系统和操作系统版本的距离。您离os版本越远;您更有可能会遇到依赖性错误。您很有可能必须开始升级太多的软件包,以致您几乎无法进行手动发行版升级。这显然很冒险。
  • 如果您找到某人为您的操作系统和操作系统版本重新打包的软件包;您只需将他的存储库添加到您的yum中;即使只是在安装rpm时(您可以随后禁用或删除该存储库)。添加此存储库时要小心,不要不必要地开始升级太多软件包;因为如果这不是正式维护的存储库,那么您可能会再次遇到问题。
  • 如果找不到可以暂时添加到yum的存储库,剩下的唯一解决方案是手动将所有依赖项下载到本地目录中,然后运行yum install directory/*rpm。请注意,如果幸运的话,您可能会在要安装rpm的位置旁边找到所需的rpm。否则,http://rpm.pbone.net/index.php3是开始搜索的好地方。