강좌
클라우드/리눅스에 관한 강좌입니다.
자격증 분류

리눅스마스터1급: rpm의 검증(verify)기능

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: rpm의 검증(verify)기능





 

RPM 검증(Verify) 기능

 

 

RPM 패키지가 설치된 이후 RPM 데이터베이스에 저장된 내용과 원본의 내용을 비교하여 초기 설치시와 다른 점이 있는지를 검사하는 기능이다.

 

 

 

검사 항목으로는 MD5 체크섬, 퍼미션, 타입, 소유자, 그룹 등 8개의 항목이 있으며 만약 검사를 하였을 경우 오류가 발생한다면 해당하는 항목에 대한 문자가 화면에 나타난다.

 

 

 

 

 

항 목

내 용

.

아무런 이상 없음

5

MD5 체크섬

S

파일 크기

L

심볼릭 링크

T

갱신일

D

장치

U

사용자

G

그룹

M

퍼미션과 파일 타입

 

 

 

 

검증을 하는 방법은 V, --verfy의 옵션 중하나를 택일하여 사용한다.

 

 

 

다음은 이것의 예제이다.

 

 

 

 

 

 

 

 

 

[root@hlug /root]# rpm Va

.......T c /etc/inittab

S.5....T c /etc/X11/fs/config

.......T c /sbin/installkernel

S.5....T /usr/share/man/ko/man1/ftpcount.1.gz

S.5....T /usr/share/man/ko/man1/ftpwho.1.gz

S.5....T /usr/share/man/ko/man8/ftpshut.8.gz

S.5....T /usr/share/man/ko/man8/proftpd.8.gz

.....U.. /dev/audio

.....U.. /dev/audio1

.....U.. /dev/audioctl

.....U.. /dev/dsp

.....U.. /dev/dsp1

 

... 이하 생략 ...

 

 

 

 

 

 

모든 패키지에 대하여 패키지 검증을 해본 결과이다.

 

 

 

예제의 시스템은 리눅스를 사용하면서 부트 영역 설정, 파일 시스템 영역 설정, 사운드 카드 설정 등 초기에 설치된 리눅스의 튜닝 작업을 한 것이다.

 

 

 

그에 따라 리눅스의 처음 내용들은 변경이 되었고 위처럼 Va라는 옵션을 통하여 이를 확인할 수 있다.

 

 

 

 

 

그러나 문제가 발생하였다면 모두 수정하거나 RPM을 재설치 해야 하는 것은 아니다.

 

 

 

문제가 발생하였을 경우에는 사용자의 판단 하에 문제점이 있다면 그때 설정을 새로 해주거나 재설치를 해주는 방법을 택하면 된다.

 

 

 

사용자의 필요에 의한 설정의 교체 시에도 RPM 매니저는 일단 문제점이 있는 상황에 대해 사용자에게 알려주기 때문이다.

 

 

 

 

RPM 서명(Query) 기능

 

 

다운로드받은 RPM 파일이 원본이 아닌 경우도 있을 수 있다.

 

 

 

만약 악의적인 목적을 지닌 크래커가 트로이목마(해킹툴)를 심어둔 RPM 패키지인 경우도 존재할 수 있는 여지가 있다.

 

 

 

그럴 때 RPM 파일이 정상적인 원본 파일인지를 확인해 볼 수 있어야 한다.

 

 

 

이때 사용하는 것이 RPM의 서명 기능이다.

 

 

 

 

RPM 서명을 확인할 수 있는 방법은 다음과 같다.

 

 

 

 

 

 

 

 

 

rpm --checksig [package_filename]

 

 

 

 

 

 

 

만약 PGP 서명을 RPM 파일에 삽입을 하고 싶은 경우 방법은 다음과 같다.

 

 

 

 

 

 

 

 

 

rpm --resign [package_filename]

 

 

 

 

 

 

 

RPM 데이터베이스 재제작

 

 

문제가 쉽게 발생하지는 않지만, RPM 프로그램을 수없이 설치 및 삭제를 반복하다 보면 내부적으로 에러가 발생할 소지가 있다.

 

 

 

다음의 예제를 보자.

 

 

 

 

 

 

[root@hlug /root]# rpm qi bmp

 

free list corrupt (42)- contact rpm-list@redhat.com

 

 

 

 

 

 

 

이와 같은 경우 RPM 패키지를 관리해주는 데이터베이스에 문제가 생긴 경우이다.

 

 

 

이러한 경우 다음과 같이 RPM 데이터베이스를 다시 작성해 주어야 한다.

 

 

 

 

 

 

 

 

# rpm --rebuilddb

 

 

 

 

 

 

 

이처럼 RPM 데이터베이스에 문제가 생겼을 경우에는 rpm --rebuilddb를 사용하여 RPM 데이터베이스를 최신의 정보로 갱신할 수가 있다.

 

 

 

이러한 작업의 결과를 확인해 보기 위해서 /var/lib/rpm 디렉토리를 확인해 본다.

 

 

 

이 디렉토리에 각종 RPM을 위한 데이터베이스 파일이 저장되고 있으므로 이러한 파일이 언제 갱신되는지 날짜를 확인한다면 RPM 데이터베이스를 언제 갱신했는지 알 수 있다.

 

 

 

물론 정상적으로 갱신되었다면 rpm 명령을 수행하는데 있어서 아무런 에러가 발생하지 않을 것이다

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  67 명