명령어/Linux

[RHEL] rpmdiff 두 RPM 패키지 차이 비교

jykim23 2026. 7. 16. 17:43
반응형

부제: 버전 올린 rpm이 실제로 뭐가 바뀌었나

rpmdiff old.rpm new.rpm            # 두 패키지 차이
rpmdiff -i T old.rpm new.rpm       # 타임스탬프(T)는 무시
rpmdiff -i S -i 5 old.rpm new.rpm  # 크기·체크섬 무시
Usage: /usr/bin/rpmdiff [<options>] <old package> <new package>
Options:
  -h, --help     Output this message and exit
  -i, --ignore   File property to ignore when calculating differences (may be
                 used multiple times); valid values are: S (size), M (mode),
                 5 (checksum), D (device), N (inode), L (number of links),
                 V (vflags), U (user), G (group), F (digest), T (time)

rpmdiff는 두 rpm의 파일 목록과 메타데이터를 비교해 무엇이 추가·삭제·변경됐는지 보여준다. 리빌드했는데 예상보다 결과물이 달라졌을 때, 어떤 파일의 권한이나 크기가 바뀌었는지 추적하는 데 쓴다. -i로 무시할 속성을 지정하면 의미 없는 차이(빌드 시각 등)를 걸러낼 수 있다.

이렇게도 쓴다

빌드 시각과 inode를 무시해 실질 변경만 본다.

rpmdiff -i T -i N old.rpm new.rpm

 

파일 권한(mode) 변경만 관심 있을 때 나머지를 무시한다.

rpmdiff -i S -i 5 -i T old.rpm new.rpm

 

같은 패키지의 두 릴리스를 비교한다.

rpmdiff hello-2.12-1.el9.x86_64.rpm hello-2.12-2.el9.x86_64.rpm

 

차이가 있으면 종료 코드로 감지해 스크립트에 쓴다.

rpmdiff old.rpm new.rpm && echo "동일" || echo "변경됨"

 

변경된 줄 수만 세어 규모를 가늠한다.

rpmdiff old.rpm new.rpm | wc -l
반응형