5장. 고급 주제

이 섹션에서는 소개 튜토리얼의 범위를 벗어나지만 실제적인 RPM 패키지에 유용한 주제를 다룹니다.

5.1. RPM 패키지 서명

RPM 패키지에 서명하여 타사가 콘텐츠를 변경할 수 없도록 할 수 있습니다. 추가 보안 계층을 추가하려면 패키지를 다운로드할 때 HTTPS 프로토콜을 사용합니다.

rpm-sign 패키지에서 제공하는 --addsign 옵션을 사용하여 패키지에 서명할 수 있습니다.

사전 요구 사항

5.1.1. GPG 키 생성

다음 절차에 따라 패키지에 서명하는 데 필요한 GNU 개인 정보 보호 보호 (GPG) 키를 만듭니다.

절차

  1. GPG 키 쌍을 생성합니다.

    # gpg --gen-key
  2. 생성된 키 쌍을 확인합니다.

    # gpg --list-keys
  3. 공개 키를 내보냅니다.

    # gpg --export -a '<Key_name>' > RPM-GPG-KEY-pmanager

    <Key_name>을 선택한 실제 키 이름으로 바꿉니다.

  4. 내보낸 공개 키를 RPM 데이터베이스로 가져옵니다.

    # rpm --import RPM-GPG-KEY-pmanager

5.1.2. 패키지에 서명하도록 RPM 구성

RPM 패키지에 서명하려면 %_gpg_name RPM 매크로를 지정해야 합니다.

다음 절차에서는 패키지에 서명하기 위해 RPM을 구성하는 방법을 설명합니다.

절차

  • $HOME/.rpmmacros 파일에서 %_gpg_name 매크로를 다음과 같이 정의합니다.

    %_gpg_name Key ID

    키 ID 를 패키지에 서명하는 데 사용할 GNU GPG(GPG) 키 ID로 바꿉니다. 유효한 GPG 키 ID 값은 키를 생성한 사용자의 전체 이름 또는 이메일 주소입니다.

5.1.3. RPM 패키지에 서명 추가

가장 일반적인 경우는 서명 없이 패키지를 빌드하는 경우입니다. 서명은 패키지를 릴리스하기 직전에 추가됩니다.

RPM 패키지에 서명을 추가하려면 rpm-sign 패키지에서 제공하는 --addsign 옵션을 사용합니다.

절차

  • 패키지에 서명을 추가합니다.

    $ rpm --addsign package-name.rpm

    package-name 을 서명하려는 RPM 패키지의 이름으로 바꿉니다.

    참고

    서명의 시크릿 키 잠금을 해제하려면 암호를 입력해야 합니다.