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

리눅스마스터1급: rpm의 질의(query) 기능

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: rpm의 질의(query) 기능





 

RPM의 여러 가지 기능

 

 

RPM에는 설치와 제거 외에 패키지 관리를 위한 여러 가지 기능들이 존재한다.

 

 

 

설치된 RPM에 대한 정보와 특정 RPM 패키지 정보를 알 수 있고, 패키지를 테스트할 수 있으며, 서명을 넣을 수도 있다.

 

 

 

이외에 RPM 패키지 목록에 대한 데이터베이스를 관리하기 위한 명령어를 포함하고 있다.

 

 

 

여기에서는 이러한 기능들에 대해 살펴보도록 한다.

 

 

 

 

 

질의(Query) 기능

 

 

RPM 패키지가 어떠한 정보를 가지고 있는지에 대하여 사용자들이 질의를 할 수 있는 기능이다.

 

 

 

주로 패키지가 어떠한 역할을 하는 패키지인지에 대한 정보와 패키지가 포함하고 있는 파일에 대한 정보를 확인해 보는 것이 주된 역할이다.

 

 

 

 

모든 RPM의 질의 기능은 q 옵션을 통하여 질의하게 된다.

 

 

 

 

 

다음의 예는 앞서 보았던 xz라는 패키지가 지니고 있는 정보에 관한 것이다.

 

 

 

RPM 파일의 정보 중에서 패키지 정보를 출력하도록 하는 옵션으로 i를 붙인다.

 

 

 

 

 

 

 

 

 

[root@sulinux ~]# rpm -qi xz

Name : xz Relocations: (not relocatable)

Version : 4.999.9 Vendor: CentOS

Release : 0.3.beta.20091007git.el5 Build Date:

Install Date: Build Host: builder10.centos.org

Group : Applications/File Source RPM: xz-4.999.9-0.3.beta.20091007git.el5.src.rpm

Size : 484455 License: LGPLv2+

Signature : DSA/SHA1, 20100427() 오전 084206, Key ID a8a447dce8562897

URL : http://tukaani.org/xz/

Summary : LZMA compression utilities

Description :

XZ Utils are an attempt to make LZMA compression easy to use on free (as in

freedom) operating systems. This is achieved by providing tools and libraries

which are similar to use than the equivalents of the most popular existing

compression algorithms.

 

LZMA is a general purpose compression algorithm designed by Igor Pavlov as

part of 7-Zip. It provides high compression ratio while keeping the

decompression speed fast.

[root@sulinux ~]#

 

 

 

 

 

 

 

프로그램의 명칭, 제작자, 설치되어진 시간, 프로그램의 사용 목적에 대한 내용이 일목요연하게 잘 표현이 되어 있다.

 

 

 

 

다음에는 질의 옵션을 구성하는 방법에 대해서 자세하게 알아보겠다.

 

 

 

우선 무엇에 대하여 질의를 할 것인가를 정하고 무엇을 알아볼 것인가에 대한 옵션을 구성해야 한다.

 

 

 

이때 RPM 질의 기능 중 무엇에 대하여 질의를 할 것인가에 대하여 두 가지로 분류하여 사용할 수가 있다.

 

 

 

 

 

기 능

형 식

이미 설치되어진 패키지에 대한 질의를 할 때 사용한다.

 

 

 

 

rpm q .. package_name

아직 설치되지 않은 rpm 파일에 대하여 질의할 때 사용한다.

 

 

 

rpm qp .. package_file_name

 

 

 

* 형식의 .. 에는 질의 기능에 포함되는 옵션이 들어간다.

 

 

 

 

 

 

다음으로 패키지의 정보 중 무엇을 알아볼 것인가에 대한 옵션을 구성해야 한다.

 

 

 

이 옵션은 앞서 나온 도표의 옵션과 붙여서 사용한다.

 

 

 

만약 여러분들이 예전에 설치했던 bmpRPM 파일에는 어떠한 파일이 들어 있는지 알아보기 위해서는 다음과 같이 옵션의 구성을 하고 테스트를 해본다.

 

 

 

 

 

 

 

 

 

[root@hlug util]# rpm -qpl bmp-0.9.7-4hsAX.i386.rpm

/root/Desktop/beep_media_player.desktop

/usr/bin/beep-media-player

/usr/lib/bmp

/usr/lib/bmp/Input

/usr/lib/bmp/Input/libcdaudio.so

/usr/lib/bmp/Input/libmpg123.so

/usr/lib/bmp/Input/libvorbis.so

/usr/lib/bmp/Input/libwav.so

/usr/lib/bmp/Output

/usr/lib/bmp/Output/libOSS.so

/usr/lib/bmp/Output/libesdout.so

/usr/lib/bmp/Visualization

/usr/lib/bmp/Visualization/libbscope.so

/usr/lib/libbeep.so.2

/usr/lib/libbeep.so.2.0.0

/usr/share/applications/bmp.desktop

 

 

 

 

 

주로 사용되는 옵션 중 한 가지는 특정 파일이 어떤 패키지에서 설치되었는가를 알아보는 것이다.

 

다음은 RockyLinuxrpm파일에 들어있는 파일리스트를 확인한 예이다.

 

[root@RockyLinux01 a]# rpm -qpl avahi-glib-0.8-12.el9.x86_64.rpm

/usr/lib/.build-id

/usr/lib/.build-id/3c

/usr/lib/.build-id/3c/3df1275fe54237bd2f0fb3d033d0a5ce0738f0

/usr/lib64/libavahi-glib.so.1

/usr/lib64/libavahi-glib.so.1.0.2

[root@RockyLinux01 a]#

 

 

 

 

이때에는 패키지의 정보를 알아보는 옵션에 f를 삽입하여 준다.

 

 

 

 

다음 예는 /usr/bin/beep-media-player는 어느 패키지의 파일인지 확인하는 것이다.

 

 

 

 

 

 

 

 

 

[root@hlug util]# cd /usr/X11R6/bin

[root@hlug bin]# rpm qf /usr/bin/beep-media-player

bmp-0.9.7-4

 

 

 

 

 

 

또한 RPM 패키지의 모든 패키지에 대하여 정보를 파악하고 싶을 때에는 질의 옵션으로 모든 파일에 질의/검증하도록 하는 a를 붙여 준다.

 

 

 

이에 더해 RPM 패키지로 이루어진 모든 패키지의 정보를 출력하도록 하는 옵션으로 i를 붙인다.

 

 

 

이것은 그 결과가 너무 많으므로 다음과 같이 출력 내용을 파일로 저장하도록 한다.

 

 

 

 

 

 

 

 

 

[root@hlug /root]# rpm qai > rpm_all_info.txt

 

 

 

 

 

 

 

다음은 RPM의 질의 기능과 같이 사용되는 옵션들이다.

 

 

 

 

 

옵 션

기 능

무엇에 대하여 질의 할 것인가? (패키지 선택 옵션)

-a

모든 패키지에 대하여 질의 기능 수행

-whatrequires

<기능>

특정 패키지가 동작하기 위하여 필요로 하는 패키지들에 대하여 질의 수행

-whatprovides

<가상>

<virtual> 기능을 제공하는 모든 패키지에 대하여 질의 수행

-f <file name>

파일을 포함하는 패키지에 대하여 질의 수행

-F

-f 와 비슷. 그러나 파일 이름 입력을 표준 입력에서 받음

-p <패키지 파일>

패키지 파일에 대하여 질의 수행

-p

-p 와 내용은 같지만 패키지 이름 입력을 표준 입력에서 받음

어떤 정보에 대하여 질의를 할 것인가? (정보 선택 작업)

-i

패키지에 관한 각종 정보를 보여준다.

 

 

 

 

-R

패키지가 의존하고 있는 패키지 목록을 보여준다.

 

 

 

 

--provides

패키지가 제공하는 기능을 보여준다.

 

 

 

 

-l

패키지 안의 파일을 보여준다

-s

패키지 안의 파일의 상태를 보여준다.

 

 

 

 

-d

문서 파일만 보여준다 ( -l 과 같이 쓰인다.

 

 

 

)

-c

설정 파일만 보여준다.

 

 

 

 

--scripts

패키지 설치, 제거 과정에서 시행되는 쉘 스크립트를 확인한다.

 

 

 

 

--dump

경로 크기 수정일, MD5 체크섬, 모드, 소유자, 그룹, 설정 파일 여부, 문서 파일 여부, rdev, 심볼릭 링크 여부 같은 파일 정보를 덤프한다

 

 

 

 

 

질의 기능을 이용한 패키지 관리

리눅스에는 수백 가지의 프로그램이 존재한다.

 

 

 

그만큼 설치된 패키지가 많다.

 

 

 

물론, 관리자가 설치할 때 불필요한 프로그램을 설치하지 않고 시스템 관리를 위해 불필요한 패키지를 삭제하기도 한다.

 

 

 

그렇지만 프로그램을 새로 설치하는 경우이든 불필요한 프로그램을 삭제하는 경우이든 질의 기능을 이용하는 것은 관리를 위해 아주 유용하다.

 

 

 

다음의 간단한 예는 패키지 관리에서 가장 많이 사용되는 가장 간단한 예제이다.

 

 

 

만약 -qa 옵션 다음에 패키지명을 사용하면 관련 패키지 정보는 나오지 않고 해당 패키지 정보만 출력된다.

 

 

# rpm -qa | grep [패키지명]

 

 

 

 

 

 

 

관련자료

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

공지사항


뉴스광장


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