甜咖啡

          我的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 甜咖啡 閱讀(643) 評論(0)  編輯  收藏


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


          網站導航:
           

          導航

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

          統計

          常用鏈接

          留言簿(1)

          我參與的團隊

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 赣榆县| 岑巩县| 雷山县| 滨海县| 靖边县| 建平县| 疏附县| 鸡东县| 苍溪县| 清镇市| 娱乐| 卢湾区| 舒城县| 孟州市| 商城县| 婺源县| 来安县| 汽车| 德江县| 霍邱县| 福海县| 香格里拉县| 忻州市| 安西县| 永川市| 平陆县| 中山市| 五常市| 信阳市| 康马县| 七台河市| 遵化市| 进贤县| 荃湾区| 武川县| 绥中县| 徐汇区| 沙河市| 阜平县| 阜新| 冕宁县|