Centos系統(tǒng)中用mock構(gòu)建rpm的方法
前言
在centos下執(zhí)行rpmbuild -ba package.spec
的時(shí)候,通常會(huì)要求系統(tǒng)也安裝對(duì)應(yīng)的依賴包,這樣就會(huì)導(dǎo)致系統(tǒng)裝上許多沒用的軟件包,占用空間。于是搜索了一下,發(fā)現(xiàn)可以通過mock
命令來解決這個(gè)問題。
構(gòu)建方法
首先是安裝mock
,由于mock
是在epel
倉庫里的,所以還需要先裝epel
倉庫
yum -y install epel-release yum -y install mock
通常情況下使用rpmbuild
會(huì)新開一個(gè)用戶,比如builder
,這樣就不會(huì)污染系統(tǒng)環(huán)境。我們需要把builder
用戶加入mock
用戶組
usermod -a -G mock builder
mock
下使用rebuild
需要src.rpm文件,所以如果只有.spec文件的話,需要先生成src.rpm文件
rpmbuild -bs package.spec
這樣在SRPM目錄下就會(huì)生成一個(gè)src.rpm文件了,然后就可以通過mock
命令來rebuild rpm
文件
首先需要初始化mock
環(huán)境,在/etc/mock文件夾下有各個(gè)環(huán)境的配置文件,比如centos 6就是epel-6-x86_64,初始化命令就是:
mock -r epel-6-x86_64 --init
初始化完畢之后就可以開始構(gòu)建了
mock -r epel-6-x86_64 rebuild package-1.1-1.src.rpm
構(gòu)建完畢,rpm
文件會(huì)存放在/var/lib/mock/epel-6-x86_64/result目錄下。當(dāng)然我們可以通過–resultdir
參數(shù)來指定rpm
文件的生成目錄
mock -r epel-6-x86_64 rebuild package-1.1-1.src.rpm --resultdir=/home/builder/rpms
最后執(zhí)行clean
命令清理環(huán)境
mock -r epel-6-x86_64 --clean
總結(jié)
以上就是關(guān)于Centos下使用mock構(gòu)建rpm的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
linux中使用boost.python調(diào)用c++動(dòng)態(tài)庫的方法
這篇文章主要給大家介紹了關(guān)于linux中使用boost.python調(diào)用c++動(dòng)態(tài)庫的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧2018-11-11Centos7.2安裝Nginx實(shí)現(xiàn)負(fù)載平衡的方法
這篇文章主要介紹了Centos7.2安裝Nginx實(shí)現(xiàn)負(fù)載平衡的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01CentOS虛擬機(jī)克隆后無法上網(wǎng)(網(wǎng)卡信息不一致)問題的解決方法
這篇文章主要為大家詳細(xì)介紹了CentOS虛擬機(jī)克隆后無法上網(wǎng),即網(wǎng)卡信息不一致問題的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04Linux上虛擬機(jī)顯示網(wǎng)絡(luò)不可用的解決方法
這篇文章主要介紹了Linux上虛擬機(jī)顯示網(wǎng)絡(luò)不可用的解決方法,文中通過圖文結(jié)合的方式講解的非常詳細(xì),對(duì)大家解決問題有一定的幫助,需要的朋友可以參考下2024-12-12