RedHat Linux >> System Administration for Redhat Linux
|
[목차] |
제6장 RPM 패키지 관리
7. 간단한 rpm 패키지 만들기 rpm 패키지를 만드는 방법에 대해 간단히 소개한다. 프로그램 소스를 rpm 패키지로 만들기 위해서는 rpm 패키지를 만들기 위한 작업 공간이 필요하다. 또, rpm 패키지를 만들기 위한 spec도 필요하다. rpm을 만들기 위한 공간은 아래와 같은 구조의 디렉토리가 /usr/src 밑에 만들어진다. redhat ┬─ BUILD ├─ RPMS ─ ┬─ i386 │ ├─ i686 │ └─ noarch ├─ SOURCES ├─ SPECS └─ SRPMS BUILD는 빌드할 때 소스를 풀어 놓고 작업을 하는 곳이다. RPMS는 바이너리의 최종 결과가 아키텍처에 따라 해당 디렉토리에 만들어지게 한다. SOURCES는 rpm을 만들기 위한 프로그램 소스가 위치하는 곳이고, SPECS는 rpm 패키지를 정의한 spec 파일이 위치하는 곳이다. SRPMS 는 rpm 패키지 중 소스 패키지가 만들어지는 곳이다. [root@leelab rpm]# rpm -qa|grep xmms 많은 프로그램들이 소스 개발자에 의해 처음부터 spec 파일을 함께 제공하고 있다. 이 경우엔 손쉽게 SOURCES 디렉토리에 타르볼 프로그램 소스를 가져다 놓고, SPECS에 spec 파일을 가져다 놓으면 된다. 만약, spec 파일이 존재하지 않는다면, 직접 spec 파일을 만들어야 한다. 여기선 spec 파일을 직접 작성하는 방법에 대해서는 소개하지 않겠다. 여러분이 정말 패키징에 관심이 있다면 관련 하우투 문서를 참고 하여 spec 파일을 만드는 방법을 참고하기 바란다.
error: failed build dependencies: # rpm -qa |grep vorbis vorbis-1.0beta4-3 # vi xmms.spec ... 생략 Requires: libogg >= 1.0beta3 ... 생략 위와 같이 수정한다. # rpm -bb xmms.spec
-bb 옵션은 바이너리 패키지만을 만드는 것을 의미한다. 이렇게 하면, RPMS 디렉토리 밑에 해당하는 아키텍처에 패키지가 만들어진다. 인텔 호환 아키텍처인 경우 별도의 지정이 없으면, i386 아키텍처로 만들어진다. 만약 소스 rpm과 바이너리 rpm을 만들고 싶다면 다음과 같이 한다.
|
[목차] |