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에는 소스 코드와 SPEC 파일이 포함되어 있습니다. 이 파일은 소스 코드를 바이너리 RPM에 빌드하는 방법을 설명합니다. 선택적으로 SRPM은 소스 코드에 대한 패치를 포함할 수 있습니다.

  • 바이너리 RPM

    바이너리 RPM에는 소스 및 패치에서 빌드된 바이너리가 포함되어 있습니다.