6.5.2. 소스 RPM에서 바이너리 RPM 다시 빌드
rpmbuild 유틸리티를 사용하여 소스 RPM(SRPM) 패키지에서 샘플 llo,pello, cello 프로그램을 위해 바이너리 RPM 패키지를 다시 빌드합니다. 그런 다음 여러 시스템에서 바이너리 패키지를 설치하고 실행할 수 있습니다.
바이너리 RPM을 생성할 때 생성되는 출력은 상세화되어 디버깅에 유용합니다. 출력은 다양한 예에 따라 다르며 사양 파일에 해당합니다.
생성된 바이너리 RPM은 다음 디렉토리 중 하나에 있습니다.
-
~/rpmbuild/RPMS/. 여기서ARCH는 아키텍처입니다.YOURARCH -
~/rpmbuild/RPMS/noarch/패키지가 아키텍처에 한정되지 않은 경우
사전 요구 사항
시스템에
rpmbuild유틸리티를 설치했습니다.# dnf install rpm-build
프로세스
SRPM이 포함된
~/rpmbuild/SRPMS/지시문으로 이동합니다.$ cd ~/rpmbuild/SRPMS/SRPM에서 바이너리 RPM을 다시 빌드합니다.
$ rpmbuild --rebuild <srpm>예를 들어 SRPM에서 p
ello,pello,cello를 다시 빌드하려면 다음 단계를 완료합니다.벨로 프로그램을 다시
빌드합니다.$ rpmbuild --rebuild bello-0.1-1.el8.src.rpmpello프로그램을 다시 빌드합니다.$ rpmbuild --rebuild pello-0.1.2-1.el8.src.rpmcello프로그램을 다시 빌드합니다.$ rpmbuild --rebuild cello-1.0-1.el8.src.rpm
참고rpmbuild --rebuild를 호출하려면 다음 프로세스가 포함됩니다.-
SRPM의 콘텐츠(
spec파일 및 소스 코드)를~/rpmbuild/디렉터리에 설치합니다. - 설치된 콘텐츠를 사용하여 RPM 빌드.
-
사양파일 및 소스 코드 제거
다음 방법 중 하나를 빌드한 후
사양파일 및 소스 코드를 유지할 수 있습니다.-
RPM을 빌드할 때
--rebuild옵션 대신--recompile옵션과 함께rpmbuild명령을 사용합니다. 벨로,
pello및cello프로그램에 대한 SRPM을 설치합니다.SRPM for
bello를 설치합니다.$ rpm -Uvh ~/rpmbuild/SRPMS/bello-0.1-1.el8.src.rpmUpdating / installing... 1:bello-0.1-1.el8 [100%]SRPM for
pello를 설치합니다.$ rpm -Uvh ~/rpmbuild/SRPMS/pello-0.1.2-1.el8.src.rpmUpdating / installing... ...1:pello-0.1.2-1.el8 [100%]SRPM for
cello를 설치합니다.$ rpm -Uvh ~/rpmbuild/SRPMS/cello-1.0-1.el8.src.rpmUpdating / installing... ...1:cello-1.0-1.el8 [100%]