Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 我可以从自己的rpm软件包安装不同的软件包吗?_Linux_Rpm_Rpmbuild - Fatal编程技术网

Linux 我可以从自己的rpm软件包安装不同的软件包吗?

Linux 我可以从自己的rpm软件包安装不同的软件包吗?,linux,rpm,rpmbuild,Linux,Rpm,Rpmbuild,我可以从我自己的rpm软件包中安装不同的软件包吗?这是我的任务,其他变体,如在CentOS 7上拒绝使用shell脚本?我试图理解rpmbuild的spec文件格式,所以我使用了这个文件的一些最小配置。我正在创建一个rpm包,我们将其命名为test.rpm,使用rpm-I test.rpm启动它,并查看从%post启动的yum install是否已启动,但仍停留在安装的事务级别。SELINUX已禁用 这是我的test.spec: Name: test_script_name Summary: I

我可以从我自己的rpm软件包中安装不同的软件包吗?这是我的任务,其他变体,如在CentOS 7上拒绝使用shell脚本?我试图理解rpmbuild的spec文件格式,所以我使用了这个文件的一些最小配置。我正在创建一个rpm包,我们将其命名为test.rpm,使用rpm-I test.rpm启动它,并查看从%post启动的yum install是否已启动,但仍停留在安装的事务级别。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!
通过以下方式启动:

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

如果您将此包定义为需求:

Requires: lynx
然后,它将在执行以下命令后作为依赖项安装:

yum localinstall test.rpm

解决OP的问题:不,您不能从另一个rpm中安装一个rpm。要执行所需操作,可以使用Requires标记将其他包列为依赖项

进一步阅读:

此处讨论了RPM依赖关系:


通常,您应该使用yum来安装本地构建的软件包,以使其数据库保持最新。

解决OP的问题:不,您不能从另一个rpm中安装一个rpm。要执行所需操作,可以使用Requires标记将其他包列为依赖项

进一步阅读:

此处讨论了RPM依赖关系:


通常,您应该使用yum来安装本地构建的软件包,以保持其数据库的最新状态。

您是否尝试使用yum install test.rpm而不是rpm-i test.rpm?这些情况也应该在spec-file的Requires部分声明。是的,只是忘记添加它了。这是yum install test.rpm输出的结束:下载包:运行事务检查运行事务测试事务测试成功运行事务安装:test\u script\u name-0.1-1.noarchlync包以这种方式未安装?您是否尝试使用yum install test.rpm而不是rpm-i test.rpm?这些情况也是如此应该在spec-file的Requires部分声明。是的,只是忘了添加它。这是yum install test.rpm输出的结束:下载软件包:运行事务检查运行事务测试事务测试成功运行事务安装:test\u script\u name-0.1-1.noarchlync软件包在此方式后未安装?真的,只需尝试在Requires部分中添加软件包,软件包已安装!现在对话是确定的[y/d/N]:,但它是确定的,我正在尝试处理它。谢谢。此时install的工作原理与localinstall相同。不再需要使用localinstall。实际上,只要尝试在Requires部分添加包,包就安装好了!现在对话是确定的[y/d/N]:,但它是确定的,我正在尝试处理它。谢谢。此时install的工作原理与localinstall相同。不再需要使用localinstall了。谢谢,它对我非常有用。谢谢,它对我非常有用。