명령어/Linux
[RHEL] rpmsign RPM 패키지에 GPG 서명
jykim23
2026. 8. 16. 16:30
반응형
부제: 배포할 rpm에 제작자 서명을 박는다
rpmsign --addsign hello-2.12-1.el9.x86_64.rpm # 서명 추가
rpmsign --resign hello-2.12-1.el9.x86_64.rpm # 다시 서명
rpmsign --delsign hello-2.12-1.el9.x86_64.rpm # 서명 제거
Signature options:
--addsign sign package(s)
--resign sign package(s) (identical to --addsign)
--delsign delete package signatures
--signfiles sign package(s) files
--fskpath=<key> use file signing key <key>rpmsign은 rpm 헤더에 GPG 서명을 넣어 패키지의 출처와 무결성을 보장한다. 데비안에서 debsign이 하는 일과 같은 자리다. 서명하려면 먼저 GPG 키가 있어야 하고, ~/.rpmmacros의 %_gpg_name에 서명자 이름을 지정한다. 사설 레포를 운영하면 배포 전 이 단계를 거친다.
이렇게도 쓴다
서명자 이름을 매크로로 넘겨 서명한다.
rpmsign --define '_gpg_name Max <max@example.com>' --addsign *.rpm
레포 디렉토리의 모든 rpm을 한 번에 서명한다.
rpmsign --addsign $(find repo/ -name '*.rpm')
패키지 안 개별 파일까지 서명한다(IMA).
rpmsign --signfiles --fskpath=/etc/keys/ima.key hello.rpm
서명이 실제로 붙었는지 rpm으로 확인한다.
rpmsign --addsign hello.rpm && rpm -qi hello.rpm | grep Signature
기존 서명을 지우고 새 키로 다시 서명한다.
rpmsign --delsign hello.rpm && rpmsign --addsign hello.rpm반응형