1장. RPM 소개
RPM(RPM)은 RHEL(Red Hat Enterprise Linux), CentOS 및 Fedora에서 실행되는 패키지 관리 시스템입니다. RPM을 사용하여 이러한 운영 체제에 대해 생성하는 소프트웨어를 배포, 관리 및 업데이트할 수 있습니다.
RPM 패키지 관리 시스템은 기존 아카이브 파일에 소프트웨어를 배포하는 것보다 다음과 같은 이점이 있습니다.
- RPM은 서로 독립적으로 설치, 업데이트 또는 제거할 수 있는 패키지 형태로 소프트웨어를 관리하므로 운영 체제를 보다 쉽게 유지 관리할 수 있습니다.
- RPM 패키지는 압축된 아카이브와 유사하게 독립 실행형 바이너리 파일이므로 RPM을 단순화합니다. 이러한 패키지는 특정 운영 체제 및 하드웨어 아키텍처를 위해 빌드됩니다. RPM에는 패키지가 설치될 때 파일 시스템의 적절한 경로에 배치되는 컴파일된 실행 파일 및 라이브러리와 같은 파일이 포함되어 있습니다.
RPM을 사용하면 다음 작업을 수행할 수 있습니다.
- 패키지 소프트웨어를 설치, 업그레이드 및 제거합니다.
- 패키지 소프트웨어에 대한 자세한 정보를 쿼리합니다.
- 패키지 소프트웨어의 무결성을 확인합니다.
- 소프트웨어 소스에서 자체 패키지를 빌드하고 빌드 지침을 완료합니다.
- GPG(GNU Privacy Guard) 유틸리티를 사용하여 패키지에 디지털 서명합니다.
- DNF 리포지토리에 패키지를 게시합니다.
Red Hat Enterprise Linux에서 RPM은 DNF 또는 PackageKit과 같은 고급 패키지 관리 소프트웨어에 완전히 통합되어 있습니다. RPM은 자체 명령줄 인터페이스를 제공하지만 대부분의 사용자는 이 소프트웨어를 통해서만 RPM과 상호 작용해야 합니다. 그러나 RPM 패키지를 빌드할 때는 rpmbuild(8)
와 같은 RPM 유틸리티를 사용해야 합니다.
1.1. RPM 패키지
RPM 패키지는 이러한 파일을 설치 및 삭제하는 데 사용되는 파일 및 메타데이터의 아카이브로 구성됩니다. 특히 RPM 패키지에는 다음 부분이 포함되어 있습니다.
- GPG 서명
- GPG 서명은 패키지의 무결성을 확인하는 데 사용됩니다.
- 헤더(패키지 메타데이터)
- RPM 패키지 관리자는 이 메타데이터를 사용하여 패키지 종속성, 파일 설치 위치 및 기타 정보를 확인합니다.
- 페이로드
-
페이로드는 시스템에 설치할 파일이 포함된
cpio
아카이브입니다.
RPM 패키지에는 두 가지 유형이 있습니다. 두 유형 모두 파일 형식과 툴링을 공유하지만 콘텐츠가 다르며 다른 용도로 사용됩니다.
소스 RPM(SRPM)
SRPM에는 소스 코드와
사양
파일이 포함되어 있으며, 바이너리 RPM에 소스 코드를 빌드하는 방법을 설명합니다. 선택적으로 SRPM은 소스 코드에 대한 패치를 포함할 수 있습니다.- 바이너리 RPM
- 바이너리 RPM에는 소스 및 패치에서 빌드된 바이너리가 포함되어 있습니다.