RPM 가방 만 드 는 법
RPM RedHat Package Manager(RedHat ) , , Linux 。 .RPM 。 rpm 。 rpm , rpm 。
nginx rpm 。 centos-5 32 。
nginx rpm
1、
/usr/src/redhat/SOURCES — , , 。
/usr/src/redhat/SPECS — rpm spec 。
/usr/src/redhat/BUILD — 。
/usr/src/redhat/RPMS — rpmbuild 。
/usr/src/redhat/SRPMS — rpmbuild 。
1.mkdir -p /usr/src/redhat
2.cd /usr/src/redhat
3.mkdir SOURCES SPECS BUILD RPMS SRPMS
2、
SOURCES , 。
1.cd /usr/src/redhat/SOURCES
2.wget http://nginx.org/download/nginx-1.2.1.tar.gz
3、 Spec
1.cd /usr/src/redhat/SPECS
2.vi nginx.spec
:
1.#
2.# Example spec file for nginx
3.#
4.Summary: high performance web server
5.Name: nginx
6.Version: 1.2.1
7.Release: 1.el5.ngx
8.License: 2-clause BSD-like license
9.Group: Applications/Server
10.Source: http://nginx.org/download/nginx-1.2.1.tar.gz
11.URL: http://nginx.org/
12.Distribution: Linux
13.Packager: zhumaohai
14.
15.%description
16.nginx [engine x] is a HTTP and reverse proxy server, as well as
17.a mail proxy server
18.%prep
19.rm -rf $RPM_BUILD_DIR/nginx-1.2.1
20.zcat $RPM_SOURCE_DIR/nginx-1.2.1.tar.gz | tar -xvf -
21.%build
22.cd nginx-1.2.1
23../configure --prefix=/usr/local/nginx
24.make
25.%install
26.cd nginx-1.2.1
27.make install
28.%preun
29.if [ -z "`ps aux | grep nginx | grep -v grep`" ];then
30.killall nginx >/dev/null
31.exit 0
32.fi
33.%files
34./usr/local/nginx
4、 RPM
RPM , rpmbuild,gcc 。
1.yum install gcc rpm-build pcre-devel
1.cd /usr/src/redhat/SPECS/
2.rpmbuild -bb nginx.spec
, nginx rpm ,/usr/src/redhat/RPMS/i386/nginx-1.2.1-1.el5.ngx.i386.rpm。
5、 rpm
1.rpm -ivh /usr/src/redhat/RPMS/i386/nginx-1.2.1-1.el5.ngx.i386.rpm
spec
, rpm spec , 。
#: # ,rpm 。
Summary: 。
Name : rpm 。
Version:
Release:
License:
Group:
Source: ×××
URL:
Distribution:
Packager:
%description: ,
%prep : , 。
%build : , make
%install : , make install
%files : , /usr/local/nginx
%preun : , 。
tag, :http://www.rpm.org/max-rpm/ch-rpm-inside.html
계통 centos6.0 x86_64
centos 6.0 에 rpmbuild 를 사용 하여 rpm 가방 을 만 들 면 File 이 나타 납 니 다. not found: /root / rpmbuild / BUILDROOT /... 의 오 류 는 centos 입 니 다. 6 의 rpmbuild centos 를 호 환 하기 위해 서 topdir 가 바 뀌 었 습 니 다. 5 의 spec 파일, topdir 를 수정 해 야 합 니 다:
편집 / usr / lib / rpm / macros 파일:
%_topdir %{getenv:HOME}/rpmbuild
다음으로 변경:
%_topdir %{_usrsrc}/redhat
buildroot
spec 파일 에 있 는 make install 뒤에 DESTDIR =% {buildroot}, 즉:
make install DESTDIR=%{buildroot}