5장. 패키지 소프트웨어
다음 섹션에서는 RPM 패키지 관리자를 사용하여 패키징 프로세스의 기본 사항을 알아봅니다.
5.1. 사양 파일 정보
				사양 파일은 rpmbuild 유틸리티에서 RPM 패키지를 빌드하는 데 사용하는 지침이 포함된 파일입니다. 이 파일은 일련의 섹션에 지침을 정의하여 빌드 시스템에 필요한 정보를 제공합니다. 이러한 섹션은 Preamble 및 spec 파일의 Body 부분에 정의되어 있습니다.
			
- Preamble 섹션에는 본문 섹션에서 사용되는 일련의 메타데이터 항목이 포함되어 있습니다.
- Body 섹션은 지침의 주요 부분을 나타냅니다.
5.1.1. 사전 항목
					다음은 RPM 사양 파일의 Preamble 섹션에서 사용할 수 있는 몇 가지 지시문입니다.
				
| directive | 정의 | 
|---|---|
| 
									 | 
									 | 
| 
									 | 소프트웨어의 업스트림 버전 번호입니다. | 
| 
									 | 패키지 버전이 릴리스된 횟수입니다. 
									초기 값을  | 
| 
									 | 패키지에 대한 간단한 한 줄 요약입니다. | 
| 
									 | 패키지되는 소프트웨어의 라이센스입니다. 
									 | 
| 
									 | 소프트웨어에 대한 자세한 내용은 전체 URL(예: 패키징 중인 소프트웨어에 대한 업스트림 프로젝트 웹 사이트)입니다. | 
| 
									 | 패치되지 않은 업스트림 소스 코드의 압축된 아카이브의 경로 또는 URL입니다. 이 링크는 아카이브의 액세스 가능하고 안정적인 스토리지(예: 패키지 관리자의 로컬 스토리지)가 아닌 업스트림 페이지(예: 업스트림 페이지)를 가리켜야 합니다. 
									예를 들어 소스 코드와 데이터 아카이브가 별도로 게시된 소프트웨어에 대해 여러  | 
| 
									 | 필요한 경우 소스 코드에 적용할 첫 번째 패치의 이름입니다. 
									지시문 이름 끝에 숫자 또는 숫자 없이  
									 | 
| 
									 | 소프트웨어가 빌드될 아키텍처입니다. 
									예를 들어 소프트웨어를 해석된 프로그래밍 언어로 완전히 작성한 경우 해당 값을  | 
| 
									 | 
									컴파일된 언어로 작성된 프로그램을 빌드하는 데 필요한 쉼표 또는 공백으로 구분된 패키지 목록입니다.  | 
| 
									 | 
									소프트웨어를 설치한 후 실행하는 데 필요한 쉼표 또는 공백으로 구분된 패키지 목록입니다.  | 
| 
									 | 
									특정 프로세서 아키텍처에서 소프트웨어를 작동할 수 없는 경우  | 
| 
									 | 
									설치된 경우 소프트웨어가 제대로 작동하려면 시스템에 설치해서는 안 되는 쉼표 또는 공백으로 구분된 패키지 목록입니다.  | 
| 
									 | 
									 
 | 
| 
									 | 
									패키지에  | 
					이름,버전 및 릴리스 (NVR) 지시문은 name-version-release 형식으로 RPM 패키지의 파일 이름을 구성합니다.
				
					rpm 명령을 사용하여 RPM 데이터베이스를 쿼리하여 특정 패키지에 대한 NVR 정보를 표시할 수 있습니다. 예를 들면 다음과 같습니다.
				
rpm -q bash
# rpm -q bash
bash-4.4.19-7.el9.x86_64
					여기에서 bash 는 패키지 이름이고 4.4.19 는 버전이며 7.el9 는 릴리스입니다. x86_64 마커는 패키지 아키텍처입니다. NVR 과 달리 아키텍처 마커는 RPM 패키지러를 직접 제어하지 않지만 rpmbuild 빌드 환경에 의해 정의됩니다. 이에 대한 예외는 아키텍처 독립적인 noarch 패키지입니다.
				
5.1.2. 본문 항목
					다음은 RPM 사양 파일의 Body 섹션에 사용된 항목입니다.
				
| directive | 정의 | 
|---|---|
| 
									 | RPM에 패키지된 소프트웨어에 대한 전체 설명입니다. 이 설명은 여러 행에 걸쳐 있을 수 있으며 단락으로 나눌 수 있습니다. | 
| 
									 | 
									빌드하기 위해 소프트웨어를 준비하는 명령 또는 일련의 명령(예:  | 
| 
									 | 소프트웨어를 머신 코드(컴파일된 언어의 경우) 또는 바이트 코드(일부 해석 언어의 경우)로 빌드하는 명령 또는 일련의 명령입니다. | 
| 
									 | 
									소프트웨어를 빌드한 후  
									 
									 | 
| 
									 | 소프트웨어를 테스트하는 명령 또는 일련의 명령(예: 단위 테스트)입니다. | 
| 
									 | RPM 패키지에서 제공하는 파일 목록(사용자 시스템 및 시스템의 전체 경로 위치)을 설치합니다. 
									빌드 중에  
									 | 
| 
									 | 
									다른  | 
5.1.3. 고급 항목
					사양 파일은 Scriptlets 또는 Trigger 와 같은 고급 항목을 포함할 수 있습니다.
				
스크립트릿 및 트리거는 빌드 프로세스가 아닌 최종 사용자의 시스템에서 설치 프로세스 중에 다른 지점에서 적용됩니다.