如何让一个 RPM 安装另一个 RPM

How to make one RPM install another RPM

我创建了一个运行良好的 RPM 文件。我想向它添加一个依赖项,这意味着当我尝试安装 RPM 时,它会强制我安装另一个 RPM 作为先决条件。

Google 告诉我的不多。

我的规格文件看起来像 ::

[root@vm1-msdp SPECS]# cat iamcac.spec 
# Don't try fancy stuff like debuginfo, which is useless on binary-only
# packages. Don't strip binary too
# Be sure buildpolicy set to do nothing
%define        __spec_install_post %{nil}
%define          debug_package %{nil}
%define        __os_install_post %{_dbpath}/brp-compress
%define _unpackaged_files_terminate_build 0

Summary: A very simple toy bin rpm package
Name: iam_cac
Version: 1.0
Release: 1

SOURCE0 : /root/rpmbuild/SOURCES/iam_cac-1.0.tar.gz

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root

License: OtherLicense

%description
%{summary}

%prep
%setup -q

%build
# Empty section.

%install
rm -rf %{buildroot}
mkdir -p  %{buildroot}

# in builddir
cp -a * %{buildroot}

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
/opt/msdp/ca/iam_cac/

我希望它先安装 java-1。0.rpm,然后再自行安装。

分为两部分:

  • 您可以向规范文件添加依赖项(Requires 标记),但是
  • rpm 程序一次只执行一个 install/uninstall 操作。将 yum(或 dnf)与存储库一起使用以获得该行为。