前言
在centos下執行rpmbuild -ba package.spec
的時候,通常會要求系統也安裝對應的依賴包,這樣就會導致系統裝上許多沒用的軟件包,占用空間。于是搜索了一下,發現可以通過mock
命令來解決這個問題。
構建方法
首先是安裝mock
,由于mock
是在epel
倉庫里的,所以還需要先裝epel
倉庫
yum -y install epel-releaseyum -y install mock
通常情況下使用rpmbuild
會新開一個用戶,比如builder
,這樣就不會污染系統環境。我們需要把builder
用戶加入mock
用戶組
usermod -a -G mock builder
mock
下使用rebuild
需要src.rpm文件,所以如果只有.spec文件的話,需要先生成src.rpm文件
rpmbuild -bs package.spec
這樣在SRPM目錄下就會生成一個src.rpm文件了,然后就可以通過mock
命令來rebuild rpm
文件
首先需要初始化mock
環境,在/etc/mock文件夾下有各個環境的配置文件,比如centos 6就是epel-6-x86_64,初始化命令就是:
mock -r epel-6-x86_64 --init
初始化完畢之后就可以開始構建了
mock -r epel-6-x86_64 rebuild package-1.1-1.src.rpm
構建完畢,rpm
文件會存放在/var/lib/mock/epel-6-x86_64/result目錄下。當然我們可以通過
主站蜘蛛池模板:
南宁市|
凌云县|
农安县|
正蓝旗|
荣成市|
繁峙县|
弋阳县|
巴彦县|
宜黄县|
凤庆县|
旬邑县|
辛集市|
介休市|
古田县|
梁山县|
合肥市|
定襄县|
乐业县|
托克托县|
曲阳县|
称多县|
茌平县|
山东|
垣曲县|
济源市|
东丽区|
杭锦后旗|
平武县|
家居|
车致|
泸水县|
鹤庆县|
灵山县|
霞浦县|
隆德县|
南岸区|
兴安盟|
长白|
苗栗县|
鹿泉市|
疏勒县|