2010년 4월 16일 금요일

RPM 사용법 정리 및 옵션

RPM 사용법 정리

 


RPM(Red Hat Package Management)은 레드햇 사와 수세 리눅스 사의 리눅스 배포본 제품에서 사용하는 패키지의 설치 및 제작 관리 소프트웨어다. RPM을 사용하면 패키지 관리를 쉽고 효율적으로 할 수 있다. 물론 레드햇 리눅스인 경우, '응용 프로그램 추가/삭제'(시작->시스템 설정->응용 프로그램 추가/삭제)에서 윈도우즈 식으로 쉽게 프로그램을 추가하고 삭제할 수 있지만 보다 구체적으로 작업을 하려면 역시 RPM이 필요하다. 여기서는 RPM 사용법을 간단히 정리해보겠다.

 


RPM 버전 확인

 


[root@localhost root]# rpm --version

RPM 버전 - 4.2

 


RPM 도움말 출력

 


[root@localhost root]# rpm --help

 


도움말이 길게 출력되므로 페이지 단위로 끊어보려면 다음과 같이 한다.

 


[root@localhost root]# rpm --help | less

 


또는,

 


[root@localhost root]# rpm --help | more

 

 

 

RPM 패키지 이름 구조

 


mysql-3.23.58-4.i386.rpm

 


mysql : 패키지 이름

3.23.58: 버전

4: 릴리즈 번호

i386: 아키텍처

 


RPM의 다섯 가지 옵션

 


설치 모드: -i 또는 -U (install, upgrade)

제거 모드: -e (erase)

질의 모드: -q (query)

검증 모드: -V 또는 -y (verify)

패키지 제작 모드: -b (build)

 


설치/제거

 


[root@localhost Download]# rpm -i 어떤.rpm

[root@localhost Download]# rpm -U 어떤.rpm

[root@localhost Download]# rpm -ivh 어떤.rpm

[root@localhost Download]# rpm -Uvh 어떤.rpm

 

 

 

'-i' 옵션이나 '-U' 옵션은 간단히 설치하거나 업그레이드할 때 사용하고, 일반적으로 '-ivh'나 '-Uvh'를 사용하는데 '-Uvh'를 더 많이 사용한다. 'v'는 설치 과정에서 여러가지 정보를 출력하고 'h'는 '#'으로 진행되는 과정을 출력한다.

 


기타 옵션

 


--force : 강제로 설치한다. --replacepkgs, --replacefiles, --oldpackage를 함께 사용하는 격이다.

--nodeps: 의존 관계를 완전히 무시하고 진행하라는 옵션. 의존성에 문제가 있으면 설치가 중단되는데 이를 무시하는 것이므로 설치 후에 문제가 생길 가능성이 많다. 따라서 어지간해서는 사용하지 않는 것이 좋다.

--test: 설치/업그레이드/제거를 실제로 하기 이전에 테스트만 한다.

 

 

 

[root@localhost Download]# rpm -Uvh 어떤.rpm --force --nodeps

 


패키지 질의

 


'-q' 옵션은 여러 모로 많이 사용된다. 시스템에 어떤 파일이 있는데 그 파일이 어떤 패키지에서 풀려나왔는지를 알려면 다음과 같이 사용한다.

 


[root@localhost Download]# rpm -qf /usr/bin/as

binutils-2.13.90.0.18-9

 


어딘가에서 내려받은 rpm 파일이 있는데 이 패키지가 어떤 것인지를 알아보려면 '-qpi' 옵션을 사용한다.

 


[root@localhost Download]# rpm -qpi mysql-3.23.58-4.i386.rpm

 


경고: mysql-3.23.58-4.i386.rpm: V3 DSA signature: NOKEY, key ID 4f2a6fd2

Name : mysql Relocations: (not relocateable)

Version : 3.23.58 Vendor: Red Hat, Inc.

Release : 4 Build Date: 2003년 10월 28일 (화) 오전 05시 04분 54초

Install Date: (not installed) Build Host: bugs.devel.redhat.com

Group : 응용 프로그램들/데이터베이스 Source RPM: mysql-3.23.58-4.src.rpm

Size : 16511485 License: GPL/LGPL

Signature : DSA/SHA1, 2003년 10월 29일 (수) 오전 08시 53분 12초, Key ID b44269d04f2a6fd2

Packager : Red Hat, Inc.

URL : http://www.mysql.com

Summary : MySQL 클라이언트 프로그램과 공유 라이브러리.

Description :

MySQL is a multi-user, multi-threaded SQL database server. MySQL is a

client/server implementation consisting of a server daemon (mysqld)

and many different client programs and libraries. This package

contains the MySQL client programs, the client shared library, and

generic MySQL files.

 


출력 내용은 위와 같이 나온다.

 


'-qpl' 옵션을 사용하면 rpm 패키지가 설치할 파일 목록을 볼 수 있다.

 


[root@localhost Download]# rpm -qpl mysql-server-3.23.58-4.i386.rpm

경고: mysql-server-3.23.58-4.i386.rpm: V3 DSA signature: NOKEY, key ID 4f2a6fd2

/etc/logrotate.d/mysqld

/etc/rc.d/init.d/mysqld

/usr/bin/mysqladmin

/usr/bin/safe_mysqld

/usr/libexec/mysqld

/usr/share/doc/mysql-server-3.23.58

/usr/share/doc/mysql-server-3.23.58/my-huge.cnf

/usr/share/doc/mysql-server-3.23.58/my-large.cnf

/usr/share/doc/mysql-server-3.23.58/my-medium.cnf

/usr/share/doc/mysql-server-3.23.58/my-small.cnf

/var/lib/mysql

/var/run/mysqld

 


시스템에 설치된 패키지의 버전이 어떻게 되는지 확인해야할 경우가 있다. 이럴 경우에는 '-q' 또는 '-qi'를 사용한다.

 


[root@localhost Download]# rpm -qi php

Name : php Relocations: (not relocateable)

Version : 4.2.2 Vendor: Red Hat, Inc.

Release : 17 Build Date: 2003년 02월 25일 (화) 오후 11시 48분 55초

Install Date: 2004년 02월 22일 (일) 오전 01시 02분 52초 Build Host: sylvester.devel.redhat.com

Group : 개발/언어 Source RPM: php-4.2.2-17.src.rpm

Size : 3821986 License: The PHP License

Signature : DSA/SHA1, 2003년 02월 26일 (수) 오전 12시 19분 56초, Key ID 219180cddb42a60e

Packager : Red Hat, Inc.

URL : http://www.php.net/

Summary : PHP HTML-내장된 스크립트 언어. (PHP: Hypertext Preprocessor)

Description :

PHP is an HTML-embedded scripting language. PHP attempts to make it

easy for developers to write dynamically generated webpages. PHP also

offers built-in database integration for several commercial and

non-commercial database management systems, so writing a

database-enabled webpage with PHP is fairly simple. The most common

use of PHP coding is probably as a replacement for CGI scripts. The

mod_php module enables the Apache Web server to understand and process

the embedded PHP language in Web pages.

 


시스템에 설치된 어떤 패키지가 어떠한 파일들을 풀어놓았는지를 보려면 '-ql'을 사용한다.

 


[root@localhost Download]# rpm -ql php

 


'-qa'를 사용하면 시스템에 설치된 모든 패키지 목록을 보여준다.

 


[root@localhost Download]# rpm -qa

 


mysql이라는 문자열이 들어간 mysql 관련 패키지만 보려면 grep을 파이프로 사용할 수 있다.

 


[root@localhost Download]# rpm -qa | grep mysql

mysql-3.23.54a-11

mysql-server-3.23.54a-11

php-mysql-4.2.2-17

 


특정한 패키지 그룹을 한꺼번에 다 지우려면 ``을 사용해 한 명령의 출력 결과를 다른 명령의 인자로 사용할 수 있다. 예를 들면 다음과 같다.

 


[root@localhost Download]# rpm -e `rpm -qa | grep mysql`

 


편리하긴 하지만 한꺼번에 많은 패키지를 지우는 것은 위험하므로 가급적 이렇게 사용하는 것은 피하는 게 좋다.

 


이번에는 자주 사용하는 RPM 사용례를 살펴보았다.

 

 

 

제공 : 공개소프트웨어지원센터
원문 : http://user.oss.or.kr/lecture/view.html?num=55&page=1&id=20

댓글 없음:

댓글 쓰기