国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Linux > 正文

Linux rpmbuild命令

2024-06-28 13:19:09
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
linux rpmbuild命令

一、簡(jiǎn)介

rpmbuild命令用于創(chuàng)建軟件的二進(jìn)制包和源代碼包。

二、選項(xiàng)

參考:http://blog.sina.com.cn/s/blog_4ba5b45e0102e5r2.html     http://www.jinbuguo.com/redhat/rpmbuild.html

三、實(shí)例

1 準(zhǔn)備打包環(huán)境

執(zhí)行如下命令安裝rpmbuild和rpmdevtools

#yum install rpmbuild
#yum install rpmdevtools 

執(zhí)行如下命令來(lái)生成rpmbuild的工作目錄

#rpmdev-setuptree

工作目錄結(jié)構(gòu)如下,

~/rpmbuild~/rpmbuild/SOURCES              #放置打包資源,包括源碼打包文件和補(bǔ)丁文件等~/rpmbuild/SPECS                #放置SPEC文檔~/rpmbuild/BUILD                #打包過(guò)程中的工作目錄~/rpmbuild/RPMS                 #存放生成的二進(jìn)制包~/rpmbuild/RPMS/i386            #存放生成的i386結(jié)構(gòu)包~/rpmbuild/SRPMS                #存放生成的源碼包
提示:rpmdev-setuptree命令默認(rèn)將再當(dāng)前用戶主目錄下創(chuàng)建一個(gè)RPM構(gòu)建根目錄結(jié)構(gòu),如果需要改變次默認(rèn)位置,可以修改配置文件:~/.rpmmacros中變量_topdir對(duì)應(yīng)的值即可。

image_thumb

2、載源碼包到SOURCES目錄,不需要解壓

cd SOURCES/wget http://nginx.org/download/nginx-1.2.1.tar.gz

image5_thumb

3、撰寫Spec文件

SPEC撰寫是打包RPM的核心,也算是最難的一步,好在我們可以從參照一個(gè)簡(jiǎn)單的模板文件開(kāi)始,在可以實(shí)現(xiàn)基本功能的基礎(chǔ)上再一步一步的擴(kuò)充文檔內(nèi)容,直至完全達(dá)到要求。下面是一個(gè)簡(jiǎn)單的SPEC文檔,其中包括了一些說(shuō)明信息(注:#后面的內(nèi)容為說(shuō)明信息),該SPEC文檔是對(duì)一個(gè)測(cè)試的軟件項(xiàng)目hellorpm寫的,hellorpm軟件包編譯后僅有一個(gè)執(zhí)行文件、一個(gè)手冊(cè)文件和一個(gè)項(xiàng)目說(shuō)文件。

nginx.spec文檔的內(nèi)容如下:

## Example spec file for nginx##軟件包簡(jiǎn)要介紹Summary: high performance web server#軟件包的名字Name: nginx#軟件包的主版本號(hào)Version: 1.2.1#軟件包的次版本號(hào)Release: 1.el5.ngx#授權(quán)協(xié)議License: 2-clause BSD-like license#軟件分類Group: applications/ServerSource: http://nginx.org/download/nginx-1.2.1.tar.gzURL: http://nginx.org/Distribution: LinuxPackager: zhumaohai <admin@www.centos.bz> #軟件包的內(nèi)容介紹%descriptionnginx [engine x] is a HTTP and reverse PRoxy server, as well asa mail proxy server#表示預(yù)操作字段,后面的命令將在源碼代碼BUILD前執(zhí)行%preprm -rf $RPM_BUILD_DIR/nginx-1.2.1zcat $RPM_SOURCE_DIR/nginx-1.2.1.tar.gz | tar -xvf -#BUILD字段,將通過(guò)直接調(diào)用源碼目錄中自動(dòng)構(gòu)建工具完成源碼編譯操作  %buildcd nginx-1.2.1#調(diào)用源碼目錄中的configure命令 ./configure --prefix=/usr/local/nginx#在源碼目錄中執(zhí)行自動(dòng)構(gòu)建命令makemake#安裝字段%installcd nginx-1.2.1#調(diào)用源碼中安裝執(zhí)行腳本  make install%preunif [ -z "`ps aux | grep nginx | grep -v grep`" ];thenkillall nginx >/dev/nullexit 0fi#文件說(shuō)明字段,聲明多余或者缺少都將可能出錯(cuò)%files#聲明/usr/local/nginx將出現(xiàn)在軟件包中
/usr/local/nginx

4、構(gòu)建RPM包

開(kāi)始構(gòu)建操作,首先進(jìn)入到當(dāng)前用戶的rpmbuild根目錄

#cd ~/rpmbuild/#rpmbuild -ba SPECS/nginx.spec

提示:-ba表示build all,即生成包括二進(jìn)制包和源代碼包的所有RPM包,如果正常的話,rpmbuild將正常退出,同時(shí)在RPMS目錄和SRPMS目錄中將生成對(duì)應(yīng)的RPM包。

image_thumb1

參考:http://blog.sina.com.cn/s/blog_5d867af101019b7i.html     http://hlee.CUOxin.com/blog/343499
     https://www.centos.bz/2012/06/make-rpm-package-methods/

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 永靖县| 德庆县| 温宿县| 神木县| 巴中市| 德化县| 房产| 格尔木市| 台北市| 格尔木市| 南阳市| 塔河县| 闽侯县| 吐鲁番市| 长兴县| 烟台市| 北流市| 越西县| 时尚| 祁连县| 图木舒克市| 永嘉县| 宁陵县| 青田县| 鄂伦春自治旗| 梅州市| 门头沟区| 怀安县| 罗江县| 新邵县| 泰来县| 金阳县| 宜丰县| 广河县| 瑞丽市| 通渭县| 大新县| 岑溪市| 泗阳县| 石景山区| 思茅市|