- RPM(RedHat Package Manager) -
1. 정의 : 리눅스에서 패키지를 설치/수정/삭제/확인 할 수 있는 패키지 관리자
            (Windows 의 "프로그램 관리자" 와 유사)

 

2. 형식
  - 설치 : #rpm -ivh [풀 패키지명]
  - 수정 : #rpm -Uvh [풀 패키지명] (업그레이드 형식)
  - 삭제 : #rpm -e [패키지명]
  - 질의 : #rpm -qa | grep [패키지명(일부가능)]

 

3. 옵션
  - i : install - 설치
  - v : verbose - 자세히 출력
  - h : hash - '#'으로 화면에 출력
  - e : erase - 삭제
  - q : question - 질의
  - nodeps : no dependencies - 의존성을 없애고 설치
  - U : upgrade - 설치된 패키지를 버전업할 때 이용
          (설치하려는 버전이 더 높은 경우 기존 설치된 패키지를 지우고 설치)

 

4.  RPM 파일 설명
   [패키지 파일 : mysql-5.0.77-4.el5_6.6.i386.rpm]
   - mysql : 패키지명
   - 5.0.77 : Upgrade Version (설치하는 패키지의 버전)
   - 4.el5_6.6 : Update Version (패키지가 업데이트 된 버전)
   - i386 : Architecture (시스템의 플랫폼 형식)
   - rpm : 확장자

 

   [패키지의 종류]
   - 단일 패키지 : 하나의 pkg(RPM) 파일을 설치 후 관련 서비스가 가능한 패키지
   - 다중 패키지 : 여러개의 pkg(RPM) 파일이 하나의 패키지 이름으로 묶여서 모두
                       설치 후 서비스가 가능한 패키지(특징 : 대표pkg 존재)

 

5. 실습예제
  [ 패키지 설치를 위한 확인 ]
  - #uname -a(-i)   : 아키텍처를 확인
  - #rpm -qa | grep 패키지명  : 설치하려는 패키지명의 설치 및 버전 확인
    (#rpm -qa | grep mysql)

 

  [ 패키지 설치 ]
  - #rpm -ivh mysql-bench-5.0.77-4.el5_6.6.i386.rpm
     : mysql-bench 패키지 설치 -> 의존성 오류 발생으로 설치불가

  - #rpm -ivh mysql-5.0.77-4.el5_6.6.i386.rpm : mysql 패키지 정상설치
  - #rpm -i mysql-bench-5.0.77-4.el5_6.6.i386.rpm
      : 옵션없이 mysql-bench 설치시 바로 프롬프트가 출력되어 확인절차가 필요

  - #rpm -ivh mysql-connector-odbc-3.51.26r1127-2.el5.i386.rpm
      : 의존성 오류가 발생하여 설치 불가
  - #rpm -ivh --nodeps mysql-connector-odbc-3.51.26r1127-2.el5.i386.rpm
      : 오류가 발생한 패키지의 의존성을 무시하고 설치


  [ 패키지 수정 ]
  - #rpm -Uvh


  [ 패키지 삭제 ]
  - #rpm -e mysql  : mysql 패키지를 삭제
                             -> 의존성 오류가 발생

  - #rpm -e --nodeps mysql : 의존성을 무시하여 삭제

 

 ※ RPM 의 단점
    - pkg들의 의존성이 발생(ex: 다중pkg의 경우 대표pkg 부터 설치해야함)
    - 설치시 하나씩 설치해야하는 번거로움이 있다.

 

 ※ RPM 의존성 해결방안
    - 다중pkg 의 경우 대표pkg 부터 설치한다.
    - 삭제 또는 설치하려는 pkg가 의존성이 발생한 pkg와 대표pkg 명이 같으면
       "--nodeps" 옵션을 사용하면 안됨.

 

==========================================================================================
- yum(Yellowdog Update Manager) -
1. 정의 : 리눅스에서 pkg를 설치/수정/삭제/확인 하기 위한 도구
            (의존성을 해결한 프로그램)

 

2. 형식
  - 설치 : #yum [-y] install [패키지명]
  - 수정 : #yum [-y] update [패키지명]
  - 확인 : #yum list (rpm -qa | grep 으로 확인하는 경우가 많음)

 

  - 삭제 : #yum [-y] remove [패키지명]

    * 유의사항
       -> 삭제하기 위한 대표pkg 명을 입력하여야 함
       -> 의존성 발생 pkg 까지 모두 삭제하므로 신중히 사용해야 함
           ==> 가능한 rpm 을 이용하여 삭제할 것!

 

3. 실습예제
  [ 패키지 설치 ]
  - #yum install telnet-server : telnet-server 패키지 설치시도

  - #yum install telnet*
  - #yum install mysql-*
      : "*" 를 이용하여 여러개의 pkg도 한번에 설치가 가능

  - #yum -y install telnet-server : telnet-server 패키지 설치완료

 

  [ 패키지 확인 ]
  - #yum list  : 시스템내에 전체 패키지내용을 출력
  - #yum list mysql : mysql 패키지의 설치된 정보 및 update 가능 내용도 출력

 

  [ 패키지 수정 ]
  - #yum update mysql : mysql 패키지의 업데이트 버전을 설치시도
  - #yum -y update : list 로 확인되는 모든 패키지의 업데이트를 한다.

 

  [ 패키지 삭제 ]
  - #yum remove telnet-server  : telnet-server 패키지 정상삭제
  - #yum remove mysql  : 의존성이 발생하는 패키지도 모두 삭제를 시도

 

==========================================================================================
※YUM 과 RPM 의 차이점

[ RPM ]

  1. 의존성이 발생한다.
  2. pkg를 하나씩 설치해야하는 번거로움
  3. On/Off Line 모두 사용 가능
  4. pkg 명의 일부만 알아도 검색으로 설치가 가능

 

 [ YUM ]

  1. 의존성을 해결한다.
  2. 필요한 경우 pkg를 모두 함께 설치 (mysql-*)
  3. On Line 상태에서만 가능
  4. pkg 명의 일부만 아는 경우 필요없는 pkg를
     설치할 가능성이 있음 (php* - php53 도 설치)

 

AND