바로가기 메뉴
본문내용 바로가기
메인메뉴 바로가기



Customer Center

Notice · Security Issue · Account Guide · Global Traffic Test

HOME > Customer Center > Tech Note

기술노트

RPM명령어 사용법
2016.02.19

1. rpm 설치하기

1) 설치하기
-U 옵션 : 기존의 것을 삭제하고 업그레이드하며 아무 메시지도 보여주지 않습니다.
-Uv 옵션 : 기존의 것을 삭제하고 업그레이드하며 패키지 이름을 보여 줍니다.
-Uvh 옵션 : 기존의 것을 삭제하고 업그레이드하며 그 설치 진행과 과정 # 표시로 자세히 보여줍니다.
// **. 보통 (ivh 보다) -Uvh 옵션을 쓰면 됩니다.
// **. 설치할경우 패키지파일전체 이름을 주고, 삭제/조회는 rpm 버젼 번호까지만 주면 됩니다.
mrtg 패키지전체 이름 : mrtg-2.9.17.i386.rpm // **. i386 은 386 CPU 호환 버젼을 말합니다.
mrtg 패키지 버젼 : mrtg-2.9.17

예)
# rpm -U mrtg-2.9.17.i386.rpm
# rpm -Uv mrtg-2.9.17.i386.rpm
# rpm -Uvh mrtg-2.9.17.i386.rpm

부가 옵션들
--nodeps : 의존성관계에 있는 다른 패키지가 설치되어 있지 않다해도 강제 설치 합니다.
--force : 버전을 무시하고 강제로 설치 합니다. ( rpm 버전을 강제로 다운 그레이드 할때 사용합니다. )
예)
# rpm -Uvh mrtg-2.9.17.i386.rpm --nodeps

-- force --nodeps 사용시 다른 패키지에 문제가 없는가를 주의 해야 합니다.
# rpm -Uvh mrtg-2.9.17.i386.rpm --force --nodeps

2) -i 옵션 : 기존의 것을 삭제하고 처음 설치합니다.
예) # rpm -i mrtg-2.9.17.i386.rpm

=========================================================================================
2. rpm 지우기
-evv 옵션 : 아래와 같이 삭제를 하는 동안에 상세한 설명을 보여줍니다.
예)
# rpm -evv mrtg-2.9.17

부가 옵션들
--test : 실제로 삭제를 하지 않고 잘지워지는가 테스트만 해보는 옵션 입니다.
--nodeps : 의존성에 관여하지 않고 지우는 옵션입니다. // **. 의존성 있는 패키지가 안돌아 갈 수 있습니다. 주의를 요하는 옵션 입니다.
-- allmatches 옵션 : rpm 이 아래와 같이 중복으로 설치 되어 있을 경우 해결 방법
# rpm -qa | grep tux // **. 중복으로 설치 되었 습니다.
tux-2.1.0-2
tux-2.1.0-2

# rpm -e tux // **. 삭제가 안됩니다.
error: "tux" specifies multiple packages
# rpm -e tux --allmatches // **. --allmatches 옵션으로 지웁니다.

--noscript 옵션 : rpm 이 스크립트 에러 인하여 지워지지 않을 경우조 지웁니다.
# rpm -e canna --noscripts // **. --noscripts 옵션으로 지웁니다.


=========================================================================================
rpm 조회하기 부분은 옵션이 가장 많고, 가장 많이 사용 하는 부분 입니다.

3. rpm 조회하기
1) -qa 옵션 조회
-qa : 설치 되어 있는 모든 패키지를 알아 봅니다. // **. 좌악 올라 갑니다.
-qa | grep : 질의한 패키지가 설치 되어 있는지 알아본다 // **. 가장 많이 사용 합니다.
-qa | grep -i : 질의한 패키지를 찾을 때 대소문자를 구분하지 않고 물어 봅니다. // **. 대소문자 구별 안하고 찾아주므로 이 옵션 사용이 편합니다. 대부분 패키지는 소문자 이기는 하지만 가끔은 대문자가 있습니다.
-qa | wc -l : 현재 설치 되어 있는 총패키지 수

예 )
# rpm -qa // **. 시스템에 설치된 모든 패키지를 보여 줍니다.
# rpm -qa | grep canna // **.canna란 이름의 패키지가 설치 되어 있는지 알아 봅니다.
# rpm -qa | grep -i canna // **. 대 소문자를 구별하지 않고 알아 봅니다.
# rpm -qa | wc -l // **. 시스템에 설치된 총 패키지 수를 알아 봅니다. 보통 몇백 단위 입니다.

2) rpm에 대한 다른 조회
-qf : 화일로 패키지 알아내기. 설치 되어 있는 화일이 어느 패키지에 속해 있는지 알아봅니다.
-qi : 패키지 정보 알아보기. 패키지에 대한 설명을 보여줍니다.
-ql : 패키지 목록 알아 봅니다.
-qc : /etc/ 밑에 설치 되는 설정 화일만 알아 본니다.

예)
# rpm -qf /bin/ls // **. ls 란 명령어가 어느 패키지에 속해 있는지 알아 봅니다.
# rpm -qf $(which 특정프로그램이름) // **. 경로를 잘 모를 경우 사용 합니다.
ex) rpm -qf $(which ls)
# rpm -qi setup // **. setup 이란 패키지가 어떤 패키지 인가 알아 봅니다.
# rpm -ql setup
# rpm -qc setup

=========================================================================================
4. -q 의 부가 옵션들
1) -q --requires : 패키지가 필요한 모듈 (의존성)
예) # rpm -q --requires setup // **. dump 라는 패키지가 설치되기전에 먼저 설치가 선행되어야 하는 패키지들 입니다. 없으면 설치가 안됩니다.

2) -q --whatrequires : 의존성 걸린 패키지 알아내기
예) # rpm -q --whatrequires xmms // **. xmms에 의존하는 패키지를 보여 줍니다. 함부로 지우면 의존설 걸린 패키지들은 안돌가는 사태가 발생할 수 있습니다.

3) -q --whatprovides module-info : 모듈이 설치 되어 있는 패키지 알아 봅니다.
예) # rpm -q --whatprovides module-info

4) -q --scripts : 패키지가 설치 되기전 또는 설치 된후에 실행되는 스크립트를 알아 봅니다.
5) -q --queryformat : 패키지의 정보를 알아볼때 문자열을 출력해준다.

5. 기타 확장 옵션들
1) -qlv : 패키지 목록 자세한 정보를 알아 봅니다.
예 ) # rpm -qlv setup

2) -ql --dump : 패키지 덤프 화일을 봅니다.
3) -qcf : 화일과 관련된 설정 화일을 알아봅니다. .
4) -qdf : 패키지와 관련된 문서 화일을 보는 옵션 입니다. // **. 패키지 괸련한 문서는 대부분 /usr/share/doc 아래에 있습니다.
예) # rpm -qdf /sbin/dump

5) -qpil : 원하는 패키지로 부터 패키지 정보와 설치되는 곳의 정보를 알아 봅니다.
// **. qi옵션과 ql 옵션의 합침형 입니다.
예) # rpm -qpil mrtg-2.9.17.i386.rpm

6) --querytags : 문자열 출력시에 사용되는 태그 값을 알아 본다.
예) # rpm --querytags
HEADERIMAGE
HEADERSIGNATURES
HEADERIMMUTABLE
.
7) # rpm -qlp // **. RPM 으로 설치 안되었을때 검색 합니다
이호스트데이터센터(http://www.ehostidc.co.kr)
첨부파일