4장. 고급 주제
이 섹션에서는 소개 튜토리얼의 범위를 벗어나 실제 RPM 패키징에서 유용한 주제를 설명합니다.
4.1. 패키지 서명 링크 복사링크가 클립보드에 복사되었습니다!
패키지는 타사가 콘텐츠를 변경할 수 없도록하기 위해 서명됩니다. 사용자는 패키지를 다운로드할 때 HTTPS 프로토콜을 사용하여 추가 보안 계층을 추가할 수 있습니다.
패키지에 서명하는 세 가지 방법이 있습니다.
4.1.1. GPG 키 생성 링크 복사링크가 클립보드에 복사되었습니다!
절차
GPG(GNU 개인 정보 보호 ECDHE) 키 쌍을 생성합니다.
gpg --gen-key
# gpg --gen-key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 생성된 키를 확인하고 확인합니다.
gpg --list-keys
# gpg --list-keys
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 공개 키를 내보냅니다.
gpg --export -a '<Key_name>' > RPM-GPG-KEY-pmanager
# gpg --export -a '<Key_name>' > RPM-GPG-KEY-pmanager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고<Key_name> 대신 키에 대해 선택한 실제 이름을 포함합니다.
내보낸 공개 키를 RPM 데이터베이스로 가져옵니다.
rpm --import RPM-GPG-KEY-pmanager
# rpm --import RPM-GPG-KEY-pmanager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.2. 기존 패키지에 서명 추가 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 서명 없이 패키지를 빌드할 때 가장 일반적인 경우를 설명합니다. 서명은 패키지 릴리스 바로 앞에 추가됩니다.
패키지에 서명을 추가하려면 rpm-sign
패키지에서 제공하는 --addsign
옵션을 사용합니다.
둘 이상의 서명이 있으면 패키지 빌더에서 최종 사용자까지 패키지의 소유권 경로를 기록할 수 있습니다.
절차
패키지에 서명을 추가합니다.
rpm --addsign blather-7.9-1.x86_64.rpm
$ rpm --addsign blather-7.9-1.x86_64.rpm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고서명의 시크릿 키의 잠금을 해제하려면 암호를 입력해야 합니다.
4.1.3. 여러 서명이 포함된 패키지 서명 확인 링크 복사링크가 클립보드에 복사되었습니다!
절차
여러 서명이 있는 패키지 서명을 확인하려면 다음을 실행합니다.
rpm --checksig blather-7.9-1.x86_64.rpm
$ rpm --checksig blather-7.9-1.x86_64.rpm blather-7.9-1.x86_64.rpm: size pgp pgp md5 OK
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rpm --checksig
명령의 출력에 있는 두pgp
문자열은 패키지가 두 번 서명되었음을 표시합니다.
4.1.4. 이미 존재하는 패키지에 서명을 추가하는 실제 예 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 기존 패키지에 서명을 추가하는 것이 유용할 수 있는 예를 설명합니다.
회사의 분할은 패키지를 만들고 분할의 키를 사용하여 서명합니다. 회사의 서명은 패키지의 서명을 확인하고 패키지에 회사 서명을 추가하여 서명된 패키지가 정품임을 나타냅니다.
두 개의 서명을 사용하면 패키지는 소매 업체로 이동합니다. 리포터는 서명을 확인하고 일치하는 경우 서명을 추가합니다.
이제 패키지를 통해 패키지를 배포하려는 회사로 전환할 수 있습니다. 패키지의 모든 서명을 확인한 후 실제 사본임을 확인합니다. 배포 회사의 내부 제어에 따라 자체 서명을 추가하여 패키지가 회사의 승인을 수신했음을 알릴 수 있습니다.
4.1.5. 기존 패키지에서 서명 교체 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 각 패키지를 다시 빌드하지 않고도 공개 키를 변경하는 방법을 설명합니다.
절차
공개 키를 변경하려면 다음을 실행합니다.
rpm --resign blather-7.9-1.x86_64.rpm
$ rpm --resign blather-7.9-1.x86_64.rpm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고서명의 시크릿 키의 잠금을 해제하려면 암호를 입력해야 합니다.
--resign
옵션을 사용하면 다음 절차에 표시된 대로 여러 패키지의 공개 키를 변경할 수도 있습니다.
절차
여러 패키지의 공개 키를 변경하려면 다음을 실행합니다.
rpm --resign b*.rpm
$ rpm --resign b*.rpm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고서명의 시크릿 키의 잠금을 해제하려면 암호를 입력해야 합니다.
4.1.6. 빌드 시 패키지에 서명 링크 복사링크가 클립보드에 복사되었습니다!
절차
rpmbuild
명령을 사용하여 패키지를 빌드합니다.rpmbuild blather-7.9.spec
$ rpmbuild blather-7.9.spec
Copy to Clipboard Copied! Toggle word wrap Toggle overflow --addsign
옵션을 사용하여rpmsign
명령으로 패키지에 서명합니다.rpmsign --addsign blather-7.9-1.x86_64.rpm
$ rpmsign --addsign blather-7.9-1.x86_64.rpm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 선택적으로 패키지의 서명을 확인합니다.
rpm --checksig blather-7.9-1.x86_64.rpm
$ rpm --checksig blather-7.9-1.x86_64.rpm
blather-7.9-1.x86_64.rpm: size pgp md5 OK
여러 패키지를 빌드하고 서명할 때 다음 구문을 사용하여 Pretty privacy (PGP) 암호를 여러 번 입력하지 마십시오.
rpmbuild -ba --sign b*.spec
$ rpmbuild -ba --sign b*.spec
서명의 시크릿 키 잠금을 해제하려면 암호를 입력해야 합니다.