簡體   English   中英

我可以從自己的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”已啟動,但是卡在了“運行事務”級別安裝。 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標記將其他軟件包作為依賴項列出。

進一步閱讀:

RPM依賴關系在這里討論:

通常,您應該使用yum進行安裝(甚至是本地構建的軟件包),以使其數據庫保持最新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM