Dependencies YUM/RPM-如何指定未随RPM安装的要求

Dependencies YUM/RPM-如何指定未随RPM安装的要求,dependencies,rpm,yum,Dependencies,Rpm,Yum,我有一个依赖于软件Y的软件包X。Y通常由用户手动编译和安装,但并不总是这样 如果我在我的spec文件中放置了一个需求,例如“requires:Y”,那么包Y将由YUM下载并安装。如果Y是由用户安装的,它只是被覆盖,这是不正常的 如果我不提出要求,那些没有Y的人最终会缺少运行X所需的软件 有一种方法可以通过检查某个位置是否存在二进制文件或检查环境变量来确定是否安装了Y 如何处理这种情况 可以设置RPM.spec文件的%pre部分,以检查二进制文件是否存在 %pre #检查二进制文件是否存在。如果不

我有一个依赖于软件Y的软件包X。Y通常由用户手动编译和安装,但并不总是这样

如果我在我的spec文件中放置了一个需求,例如“requires:Y”,那么包Y将由YUM下载并安装。如果Y是由用户安装的,它只是被覆盖,这是不正常的

如果我不提出要求,那些没有Y的人最终会缺少运行X所需的软件

有一种方法可以通过检查某个位置是否存在二进制文件或检查环境变量来确定是否安装了Y


如何处理这种情况

可以设置RPM
.spec
文件的
%pre
部分,以检查二进制文件是否存在

%pre
#检查二进制文件是否存在。如果不是,则退出并显示错误。
如果[-f/path/to/binary/file];然后
echo“信息:先决条件存在:/path/to/binary/file”
其他的
echo“错误:先决条件未安装。正在退出…”
出口1
fi

问题在于,在不使用包管理器的情况下安装到由包管理工具管理的文件系统树中。如果用户这样做,他们没有理由期望软件包管理器不会覆盖他们错误安装的软件。