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 - # dnf install rpm-build- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 다음 - Hello World!구현은- ~/rpmbuild/SOURCES/디렉터리에 배치되었습니다.
- 
							패키징하려는 프로그램의 사양파일이 있습니다.
절차
- 생성된 - 사양파일이 포함된- ~/rpmbuild/SPECS/지시문으로 이동합니다.- cd ~/rpmbuild/SPECS/ - $ cd ~/rpmbuild/SPECS/- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 지정된 - 사양파일을 사용하여- rpmbuild명령을 입력하여 source RPM을 빌드합니다.- rpmbuild -bs <specfile> - $ rpmbuild -bs <specfile>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - -bs옵션은 빌드 소스를 나타냅니다.- 예를 들어 벨로 , - pello및- cello프로그램에 대한 소스 RPM을 빌드하려면 다음을 입력합니다.- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
검증
- 
							rpmbuild/SRPMS디렉터리에 결과 소스 RPM이 포함되어 있는지 확인합니다. 디렉터리는rpmbuild에서 예상되는 구조의 일부입니다.
5.5.2. 소스 RPM에서 바이너리 RPM 재빌드
					소스 RPM(SRPM)에서 바이너리 RPM을 다시 빌드하려면 --rebuild 옵션과 함께 rpmbuild 명령을 사용합니다.
				
					바이너리 RPM을 생성할 때 생성되는 출력은 상세화되어 디버깅에 유용합니다. 출력은 다양한 예에 따라 다르며 사양 파일에 해당합니다.
				
					생성된 바이너리 RPM은 ~/rpmbuild/RPMS/  디렉터리에 있습니다. 여기서ARCH는 아키텍처별이 아닌 경우 YOURARCH ~/rpmbuild/RPMS/noarch/ 디렉터리에 있습니다.
				
사전 요구 사항
- 시스템에 - rpmbuild유틸리티를 설치했습니다.- dnf install rpm-build - # dnf install rpm-build- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
절차
- 소스 RPM이 포함된 - ~/rpmbuild/SRPMS/지시문으로 이동합니다.- cd ~/rpmbuild/SRPMS/ - $ cd ~/rpmbuild/SRPMS/- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 소스 RPM에서 바이너리 RPM을 다시 빌드합니다. - rpmbuild --rebuild <srpm> - $ rpmbuild --rebuild <srpm>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 예를 들어 SRPM에서 p - ello,- pello,- cello를 다시 빌드하려면 다음을 입력합니다.- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
						rpmbuild --rebuild 를 호출하려면 다음 프로세스가 포함됩니다.
					
- 
								SRPM의 콘텐츠( spec파일 및 소스 코드)를~/rpmbuild/디렉터리에 설치합니다.
- 설치된 콘텐츠를 사용하여 RPM 빌드.
- 
								사양파일 및 소스 코드 제거
						다음 방법 중 하나를 빌드한 후 사양 파일 및 소스 코드를 유지할 수 있습니다.
					
- 
								RPM을 빌드할 때 --rebuild옵션 대신--recompile옵션과 함께rpmbuild명령을 사용합니다.
- 벨로 , - python-pello,- cello용 SRPM을 설치합니다.- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
5.5.3. 사양 파일에서 바이너리 RPM 빌드
					사양 파일에서 바이너리 RPM을 빌드하려면 rpmbuild 명령을 -bb 옵션과 함께 사용합니다. -bb 옵션은 빌드 바이너리를 나타냅니다.
				
사전 요구 사항
- 시스템에 - rpmbuild유틸리티를 설치했습니다.- dnf install rpm-build - # dnf install rpm-build- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
절차
- 사양파일이 포함된- ~/rpmbuild/SPECS/지시문으로 이동합니다.- cd ~/rpmbuild/SPECS/ - $ cd ~/rpmbuild/SPECS/- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 사양에서 바이너리 RPM을 빌드합니다. - rpmbuild -bb <spec_file> - $ rpmbuild -bb <spec_file>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 예를 들어 - 사양파일에서- 벨로,- pello및- cello바이너리 RPM을 빌드하려면 다음을 입력합니다.- rpmbuild -bb bello.spec rpmbuild -bb python-pello.spec rpmbuild -bb cello.spec - $ rpmbuild -bb bello.spec $ rpmbuild -bb python-pello.spec $ rpmbuild -bb cello.spec- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow