甜咖啡

          我的IT空間

          linux服務器RPM包制作

          1、查看操作系統版本和內核版本

          #uname –a

          #more /etc/redhat-release


          2、創建相關目錄

          /usr/src/redhat/SOURCES //存放源代碼,補丁,圖標等文件。


          /usr/src/redhat/SPECS //存放用于管理rpm制作進程的spec文件。


          /usr/src/redhat/BUILD //解壓后的文件存放在這里。


          /usr/src/redhat/RPMS //存放由rpmbuild制作好的二進制包。


          /usr/src/redhat/SRPMS //存放由rpmbuild制作好的源碼包。


          #mkdir -p /usr/src/redhat/

          #cd /usr/src/redhat/

          #mkdir SOURCES SPECS BUILD RPMS SRPMS


          3、下載Nginx源碼包

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


          #wget http://nginx.org/download/nginx-1.3.9.tar.gz


          4、手工創建SPEC文件

          由于spec文件是由spec語言編寫的,請注意spec語言的語法。

          #cd /usr/src/redhat/SPECS/

          #cat < nginx.spec > EOC

            

          Summary:  High Performance Web Server

            

          Name:  nginx

            

          Version:  1.3.9

            

          Release:  el5

            

          License:  GPL

            

          Group:  Applications/Server

            

          Source:  http://nginx.org/download/nginx-1.3.9.tar.gz

            

          URL:  http://nginx.org/

            

          Distribution:  Linux

            

          Packager:  JingSheng <jingsheng1@staff.sina.com.cn>

            
            

          %description

            

          nginx  [engine x] is a HTTP and reverse proxy server

            

          %prep

            

          useradd  nginx -s /sbin/nologin

            

          rm -rf  $RPM_BUILD_DIR/nginx-1.3.9

            

          zcat  $RPM_SOURCE_DIR/nginx-1.3.9.tar.gz | tar -xvf -

            

          %build

            

          cd  $RPM_BUILD_DIR/nginx-1.3.9

            

          ./configure  --user=nginx --group=nginx --prefix=/usr/local/nginx/ --with-http_stub_status_module  --with-http_ssl_module

            

          make

            

          %install

            

          cd  $RPM_BUILD_DIR/nginx-1.3.9

            

          make  install

            

          %preun

            

          if [ -z  "`ps aux | grep nginx | grep -v grep`" ];then

            

          killall  nginx >/dev/null

            

          exit 0

            

          fi

            

          %files

            

          /usr/local/nginx

            

          #:以#開頭是注釋,rpm會忽略它。
          Summary:簡單描述軟件。
          Name :定義rpm的名稱。
          Version: 定義軟件版本
          Release: 發行版本
          License: 定義許可證
          Group: 軟件分類
          Source: 源碼下載地址
          URL: 源碼相關網站
          Distribution: 發行版系列
          Packager: 打包人的信息

          scription:軟件詳細描述,可多行
          %prep :軟件編譯之前的處理,如解壓。
          %build :開始編譯軟件,如make
          %install :開始安裝軟件,如make install
          %files :指定哪些文件需要被打包,如/usr/local/nginx
          %preun :定義卸載之前的動作,如殺掉進程。


          5、開始RPM制作

          在制作RPM包之前,需要安裝必要的編譯工具

          #yum install -y gcc rpm-build pcre-devel

          開始編譯生成rpm包

          # rpmbuild-bb nginx.spec


          注意:如果安裝生成報錯,請將安裝過的東東全部去除,再重新打包


          # rpm –qpl *.rpm 查看rpm包含哪些

          posted on 2013-03-22 09:59 甜咖啡 閱讀(638) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          <2013年3月>
          242526272812
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          統計

          常用鏈接

          留言簿(1)

          我參與的團隊

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 安义县| 密云县| 泌阳县| 随州市| 确山县| 郧西县| 五常市| 英山县| 庄河市| 长汀县| 乃东县| 哈尔滨市| 泸西县| 东乌珠穆沁旗| 西乌珠穆沁旗| 惠东县| 射洪县| 临夏市| 聂荣县| 枣强县| 察哈| 兴隆县| 观塘区| 青铜峡市| 伊宁县| 罗甸县| 商水县| 东海县| 哈巴河县| 黎平县| 珲春市| 呼图壁县| 泌阳县| 阳原县| 阳西县| 峨眉山市| 金华市| 大悟县| 永和县| 民县| 耒阳市|