我正在尝试构建一个RPM,它将在文件依赖项不存在的情况下安装它们。是否存在在RPM检查依赖项之前执行的RPM规范部分。(我指的是"Requires“头中列出的文件依赖项,而不是包依赖项)。
例如:如果我有一个perl文件,并且设置了执行权限位。RPM将检查perl是否安装在perl文件中"#!/bin/perl“指定的位置。(看起来它会检查RPM数据库以查看perl是否安装在该位置,而不是检查实际的文件位置)如果perl没有安装在/bin/perl位置,我希望在RPM错误地告诉我"/bin/perl is needed by MY_PACKAGE“之前安装它。
附带问题
我正在构建一个可引导的ISO,用于安装Linux映像(Oracle Linux,5.8)。这是使用anaconda和一个启动文件来选择要加载的包。其中一些包在其%post部分出现依赖问题时失败了。
在安装完成后,在/root/install.log中可以看到这一点:
Installing thirdparty-tools-1.00-09.noarch
/var/tmp/rpm-tmp.97891: line 1: ln: command not found
/var/tmp/rpm-tmp.97891: line 2: ln: command not found
/var/tmp/rpm-tm
最近,我读了这篇文章,并想尝试使用鞋匠。
因为我需要在我的Fedora上运行最新的鞋匠,我需要从源代码编译和安装,而不是使用yum install。我是linux编程的初学者,想知道更多。
我做了关于鞋匠的研究,它展示了一个非常简单的指南“源RPM为Fedora构建说明”。
Install python-setuptools and python-devel from yum
rpmbuild --rebuild cobbler*.src.rpm
install the RPM, which is now built in /usr/src/redhat/RPMS/noarch
satisfy