我可以从我自己的 rpm 包中安装不同的包吗?
Can I install different packages from my own rpm-package?
我可以在 CentOS 7 上安装我自己的 rpm 包中的不同包吗(这是我的任务,其他变体,如 shell-script 被拒绝)?我试图理解 rpmbuild 的规范文件格式,所以我使用了这个文件的一些最小配置。我正在创建一个 rpm 包(我们称它为 test.rpm),使用 "rpm -i test.rpm" 启动它并看到来自 %post 的 "yum install" 已启动,但卡在 "Running transaction" 安装级别。 SELINUX 被禁用。
这是我的 test.spec:
Name: test_script_name
Summary: It's just a test_script_summary
Version: 0.1
Release: 1
Group: Applications/Internet
License: GPL
BuildArch: noarch
%description
A test_script_description.
%prep
%build
%install
%clean
%post
yum install -y lynx
%files
%defattr(-,root,root)
%changelog
* Tue Dec 08 2015 test test <test@test.com>
- test_script_changelog!
我正在构建我的 test.rpm:
rpmbuild --bb test.spec
启动它:
rpm -i test.rpm
这是在安装过程中显示的部分 yum 输出:
Total download size: 1.5 M
Installed size: 5.4 M
Downloading packages:
(1/2): centos-indexhtml-7-9.el7.centos.noarch.rpm | 92 kB 00:00:00
(2/2): lynx-2.8.8-0.3.dev15.el7.x86_64.rpm | 1.4 MB 00:00:00
-----------------------------------------------------------------------------------------------------------------------
Total 2.4 MB/s | 1.5 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
这就是所有的输出。没有安装包。请帮我。谢谢。
如果您将此包定义为需求:
Requires: lynx
然后它会在以下命令后作为依赖安装:
yum localinstall test.rpm
解决 OP 的问题:不,您不能从另一个 rpm 安装一个 rpm。要执行您想要的操作,您可以使用 Requires
标签将其他包列为 dependencies。
进一步阅读:
此处讨论 RPM 依赖项:
通常,您应该使用 yum
安装(即使是本地构建的软件包)以保持其数据库最新。
我可以在 CentOS 7 上安装我自己的 rpm 包中的不同包吗(这是我的任务,其他变体,如 shell-script 被拒绝)?我试图理解 rpmbuild 的规范文件格式,所以我使用了这个文件的一些最小配置。我正在创建一个 rpm 包(我们称它为 test.rpm),使用 "rpm -i test.rpm" 启动它并看到来自 %post 的 "yum install" 已启动,但卡在 "Running transaction" 安装级别。 SELINUX 被禁用。
这是我的 test.spec:
Name: test_script_name
Summary: It's just a test_script_summary
Version: 0.1
Release: 1
Group: Applications/Internet
License: GPL
BuildArch: noarch
%description
A test_script_description.
%prep
%build
%install
%clean
%post
yum install -y lynx
%files
%defattr(-,root,root)
%changelog
* Tue Dec 08 2015 test test <test@test.com>
- test_script_changelog!
我正在构建我的 test.rpm:
rpmbuild --bb test.spec
启动它:
rpm -i test.rpm
这是在安装过程中显示的部分 yum 输出:
Total download size: 1.5 M
Installed size: 5.4 M
Downloading packages:
(1/2): centos-indexhtml-7-9.el7.centos.noarch.rpm | 92 kB 00:00:00
(2/2): lynx-2.8.8-0.3.dev15.el7.x86_64.rpm | 1.4 MB 00:00:00
-----------------------------------------------------------------------------------------------------------------------
Total 2.4 MB/s | 1.5 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
这就是所有的输出。没有安装包。请帮我。谢谢。
如果您将此包定义为需求:
Requires: lynx
然后它会在以下命令后作为依赖安装:
yum localinstall test.rpm
解决 OP 的问题:不,您不能从另一个 rpm 安装一个 rpm。要执行您想要的操作,您可以使用 Requires
标签将其他包列为 dependencies。
进一步阅读:
此处讨论 RPM 依赖项:
通常,您应该使用 yum
安装(即使是本地构建的软件包)以保持其数据库最新。