如何通过自动下载/安装其他依赖项来安装本地 .rpm 文件
Posted
技术标签:
【中文标题】如何通过自动下载/安装其他依赖项来安装本地 .rpm 文件【英文标题】:How to Install a local .rpm file by automatically downloading/installing other dependencies 【发布时间】:2019-10-15 11:46:34 【问题描述】:现在这个问题有多种变体,但没有一个适用于我。
我想自动安装本地下载的.rpm
文件和运行此安装时所需的任何其他依赖项。
这个问题是针对本地下载的,所以请不要建议为已知的包名运行 yum-downloader。什么都不知道。我发现了一个不错的.rpm
,下载了它,现在想安装它。
详细示例:
我的系统已经有polycoreutils-python-2.5-11
。如果我使用 yum 安装,这是我得到的最高版本。但是,我得到了一个本地下载的升级文件,它的版本更高polycoreutils-python-2.5-24 ... .rpm
当然,当我尝试安装它时,它会抱怨缺少新的部门,即polycore-utils
和setools-lib
。我也安装了它们,但版本较旧。所以我可以去下载所需的新.rpm
文件。
但是对于逐步发现的许多依赖项,我无法重复此过程。安装本地下载的包及其所需依赖项的最佳方式是什么。
【问题讨论】:
【参考方案1】:你必须使用yum
来安装你下载的那个包。然后yum
将为您管理依赖项:
Yum install /path/to/downloaded.rpm
如果yum
找不到您需要的依赖项,您应该告诉yum
他在哪里可以找到它们:添加他可以找到它们的存储库。
编辑 关于安装外部下载包的多处备注。
如果可以的话;坚持使用官方存储库中可用的版本;或在相关存储库中(如epel
用于centos 或packman
用于opensuse)。
一旦您开始从互联网上下载自己的rpms
;尽量靠近你的操作系统和你的操作系统版本。你离你的操作系统版本越远;你越有可能得到依赖错误。很有可能您将不得不开始升级如此多的软件包,以至于您即将进行手动分发升级;这显然是相当冒险的。
如果您发现有人为您的操作系统和操作系统版本重新打包的软件包;您可以简单地将他的存储库添加到您的yum
;即使只是为了安装 rpm(之后您可以禁用或删除该存储库)。添加此存储库时要小心,不要在不需要的情况下开始升级太多软件包;因为如果这不是官方维护的存储库,您可能会再次遇到问题。
如果找不到可以临时添加到yum
的存储库,唯一剩下的解决方案是将所有依赖项手动下载到本地目录,然后运行yum install directory/*rpm
。请注意 - 如果幸运的话 - 您可能会在下载要安装的 rpm 的位置旁边找到您依赖的 rpm。否则http://rpm.pbone.net/index.php3 是一个非常好的开始搜索的地方。
【讨论】:
不,它没有。它说:error: Failed dependencies: xyz > 1.2.3 needed by downloaded
@KingJulian 我用多条评论编辑了我的答案,这些评论可能会对您有所帮助。祝你好运。以上是关于如何通过自动下载/安装其他依赖项来安装本地 .rpm 文件的主要内容,如果未能解决你的问题,请参考以下文章