5.5. RPM 빌드
rpmbuild 명령을 사용하여 RPM 패키지를 빌드할 수 있습니다. 이 명령을 사용하는 경우 rpmdev-setuptree 유틸리티에서 설정한 구조와 동일한 특정 디렉터리 및 파일 구조가 예상됩니다.
다양한 사용 사례와 원하는 결과에는 rpmbuild 명령에 서로 다른 인수 조합이 필요합니다. 다음은 주요 사용 사례입니다.
- 소스 RPM 빌드.
바이너리 RPM 빌드:
- 소스 RPM에서 바이너리 RPM 다시 빌드.
-
사양파일에서 바이너리 RPM 빌드.
5.5.1. 소스 RPM 빌드 링크 복사링크가 클립보드에 복사되었습니다!
SRPM(Source RPM)을 구축하면 다음과 같은 이점이 있습니다.
-
환경에 배포된 RPM 파일의 특정
Name-Version-Release의 정확한 소스를 유지할 수 있습니다. 여기에는 정확한사양파일, 소스 코드 및 모든 관련 패치가 포함됩니다. 이는 추적 및 디버깅 목적에 유용합니다. - 다른 하드웨어 플랫폼 또는 아키텍처에 바이너리 RPM을 빌드할 수 있습니다.
사전 요구 사항
시스템에
rpmbuild유틸리티를 설치했습니다.# dnf install rpm-build다음
Hello World!구현은~/rpmbuild/SOURCES/디렉터리에 배치되었습니다.-
패키징하려는 프로그램의
사양파일이 있습니다.
절차
생성된
사양파일이 포함된~/rpmbuild/SPECS/지시문으로 이동합니다.$ cd ~/rpmbuild/SPECS/지정된
사양파일을 사용하여rpmbuild명령을 입력하여 source RPM을 빌드합니다.$ rpmbuild -bs <specfile>-bs옵션은 빌드 소스를 나타냅니다.예를 들어 벨로 ,
pello및cello프로그램에 대한 소스 RPM을 빌드하려면 다음을 입력합니다.+
$ **rpmbuild -bs bello.spec**
Wrote: /home/admiller/rpmbuild/SRPMS/bello-0.1-1.el9.src.rpm
$ **rpmbuild -bs python-pello.spec**
Wrote: /home/admiller/rpmbuild/SRPMS/python-pello-1.0.2-1.el9.src.rpm
$ **rpmbuild -bs cello.spec**
Wrote: /home/admiller/rpmbuild/SRPMS/cello-1.0-1.el9.src.rpm
검증
-
rpmbuild/SRPMS디렉터리에 결과 소스 RPM이 포함되어 있는지 확인합니다. 디렉터리는rpmbuild에서 예상되는 구조의 일부입니다.