當前位置:編程學習大全網 - 編程語言 - 如何用Nginx源碼制作RPM包的詳解

如何用Nginx源碼制作RPM包的詳解

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

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制作好的源碼包。

3、下載Nginx源碼包

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

4、手工創建SPEC文件,由於spec文件是由spec語言編寫的,請註意spec語言的語法。

SPEC文件內容如下:

#############################?

# Example Spec File For Nginx?

# Edited By LaoXu 7.Mar.2013?

#############################?

Summary: High Performance Web Server?

Name: nginx?

Version: 1.3.9?

Release: el5?

License: GPL?

Group: Applications/Server?

Source:?

URL:?

Distribution: Linux?

Packager: XuYuanzhen <absolutey.>?

%description?

nginx [engine x] is a HTTP and reverse proxy server, as well as a mail proxy server?

%prep?

rm -rf $RPM_BUILD_DIR/nginx-1.3.9?

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

%build?

cd nginx-1.3.9?

./configure --prefix=/usr/local/nginx?

make?

%install?

cd 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?5、開始RPM制作

在制作RPM包之前,需要安裝必要的編譯工具,如rpmbuild,gcc等。

開始編譯生成rpm包

cd /usr/src/RedHat/SPECS/

rpmbuild -bb nginx.spec //-ba 參數表示同時生成二進制包和源碼包 -bb 參數表示只生成二進制包

經過壹段時間的編譯後最終生成了rpm包文件

如圖所示,在/usr/src/redhat/RPMS/x86_64/該目錄下生成了我們需要的rpm包,由於我編譯的操作系統平臺是64bit的,所以生成的rpm包也是64位的文件。在指定的目錄下生成RPM,通常用%_topdir變量,需要在宏配置文件中指定,配置文件稱為macrofiles,它們通常為 /usr/lib/rpm/macros:/usr/lib/rpm/macros.*:~/.rpmmacros,這個在rhel 5.8中可以通過rpmbuild --showrc | grep macrofiles 查看,我們這裏在.rpmmacros文件中定義了生產rpm包的路徑為/usr/src/redhat

最後安裝生成的rpm包

至此Nginx源碼制作並安裝成功!

  • 上一篇:單片機問題。msp430g2和51單片機有什麽區別?請具體壹點。
  • 下一篇:怎樣在 Markdown 中使程序代碼帶上行號
  • copyright 2024編程學習大全網