yum:安装本地 RPM 和所有本地依赖项

yum:安装本地 RPM 和所有本地依赖项

我的主目录中有本地生成的rpm包(主包及其依赖项)。该spec文件定义了依赖项。我想使用单个yumdnf命令安装它,并让它在我的目录中找到依赖项并相应地安装它们。我试过yum

% yum -y localinstall ~/rpms/mypackage-2.1.1-2.1.x86_64.rpm

然而它抱怨道:

Error:
 Problem: conflicting requests
  - nothing provides mypackage-libs(x86-64) = 2.1.1-2.1 needed by mypackage-2.1.1-2.1.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

我是不是做错了什么,或者这说明我的spec文件中有一个错误?

答案1

mypackageyum 的错误与需要子包mypackage-libs(完全相同的版本)一致。这是一种可以用于包的模式。

但是您需要libs先安装,或者同时安装两者。对于松散的 rpm,请提供两个文件。由于文件名按照惯例非常相似,因此这里有用的 shell 技巧是括号扩展

yum localinstall ~/rpms/mypackage{,-libs}-2.1.1-2.1.x86_64.rpm

我想使用单个 yum 或 dnf 命令来安装它,并让它在我的目录中找到依赖项并相应地安装它们。

yum 需要一个 repo 来使用依赖项解决中的软件包目录(或远程服务器)。这将启用只需yum install mypackage 考虑创建自定义镜像,使用createrepo(又名createrepo_c)或更高级别的软件内容管理解决方案。

相关内容