RPM 패키징하기
이번에는 이전까지 만들었던 프로그램을 rpm 형태로 만드는 방식에 대해서 설명하도록 하겠다.
이전 문서에서도 설명했지만, 여기서는 redhat 9 를 기준으로 한다.
redhat 을 사용한다면, 자동으로 빌드 디렉토리(/usr/src/redhat)가 이미 생성되어 있다.
현재 hello 프로그램은 /study 디렉토리에 있다. 우선 디렉토리 명을 프로그램이름-버전 으로 바꾼다.
#mv study fat81-0.0.1 #tar czvf fat81-0.0.1.tar.gz fat81-0.0.1
압축을 한 뒤에, rpm 빌드 디렉토리로 복사한다.
#cp -arf fat81-0.0.1.tar.gz /usr/src/redhat/SOURCES
그리고 나서, /usr/src/redhat/SPECS 디렉토리에 fat81-0.0.1.spec 파일을 다음과 같이 생성한다.
%define version 0.0.1 %define name fat81 Summary: i like you program Name: %{name} Version: %{version} Release: 1 Prefix: /usr Group: Utilities/Text Source: %{name}-%{version}.tar.gz BuildRoot: /usr/tmp/%{name}-%{version} License: GPL Url: http://192.168.80.128 %description 설명 : 아주 간단한 hello world 프로그램 %prep %setup q %build ./configure --prefix=%{prefix} make %install mkdir -p $RPM_BUILD_ROOT/usr/bin make prefix=$RPM_BUILD_ROOT/usr install %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %{_prefix}/bin/like
이제 마지막으로 rpm 빌드 명령만 남았다.
#cd /usr/src/redhat/SPECS #rpmbuild -ba fat81-0.0.1.spec
아무 에러없이 수행되었다면, /usr/src/redhat/RPMS/i386 디렉토리에 가보자! rpm 으로 빌드된 파일이 있을 것이다.
이제 직접 설치해보자!!
#rpm -ivh fat81-0.0.1-1.i386.rpm
설치 후에 확인해보자!!
#rpm -qi fat81 Name : fat Relocations: /usr Version : 0.0.1 Vendor: (none) Release : 1 Build Date: 2005년 04월 01일 (금) 오후 08시 51분 59초 Install Date: 2005년 04월 22일 (금) 오후 01시 46분 51초 Build Host: localhost.localdomain Group : Utilities/Text Source RPM: fat-0.0.1-1.src.rpm Size : 3292 License: GPL Signature : (none) URL : http://192.168.80.128 Summary : i like you program Description : 아주 간단한 hello world 프로그램
앞에서 만든 .spec 파일이 내용이다.