서버/도커
RPM 사용방법
최고관리자
최고관리자 가입일:2022.11.19

작성일시:2013.07.22 15:20:00

IP:121.162.195.♡

  • 조회 14
  • 댓글 0
  • 좋아요 0
  • 싫어요 0
  • 121.162.195.♡

리눅스(Linux) 배포 회사인 Red Hat Linux는 패키지(Package)를 이용한 프로그램 설치 및 유지보수가 가능하도록 하여 대중화에 크게 기여하였다. 패키지는 실행에 필요한 바이너리(Binary File)과 설치 위치 정보및 환경설정 정보를 하나로 묶은 파일(File)을 의미한다. 패키지를 효율적으로 설치 및 관리 하기 위해서는 패키지 관리 프로그램(Pakage Tool Program)이 설치되어야 한다. 


다음과 같은 패키지 관리 프로그램(Program)들이 있다.
RPM(RedHat Package Manager)
YUM(Yellowdog Update Modified) 

RPM 패키지의 확장자는 rpm이다.

rpm -ivh [패키지 이름] 프로그램 설치
rpm -ivh --replacepkgs [패키지 이름] 의존성 무시하고 설치하기
rpm -q [패키지 이름] 설치 확인
rpm -qa [패키지 이름]  설치된 프로그램 전체 확인
rpm -e [패키지 이름] 제거하기
rpm -e --nodeps [패키지 이름] 의존성 무시하고 제거하기
rpm -Uvh [패키지 이름] 최신버전(New Version)으로 설치하기
rpm -Uvh --oldpackage [패키지 이름] 낮은 버전(Old Version)으로 설치하기
rpm -ih [패키지 이름] 설치할 때 (#)표시를 이용하여 진행 상황을 표시
rpm -iv [패키지 이름] 설치할 때 자세한 정보를 표시
rpm -i --force [패키지 이름] 기존에 패키지가 설치되어 있는 경우도 무시하고 설치한다.
rpm -i --nodeps [패키지 이름] 패키지 의존성 검사를 무시하고 설치한다.
rpm -i --oldpackage [패키지 이름] 새로운 패키지를 지우고 더 예전 패키지로 교체한다.
rpm -i --replacepkgs [패키지 이름] 기존에 패키지가 설치되어 있는 경우, 새로 설치되는 패키지로 교체한다.
rpm -i --replacefiles  [패키지 이름] 기존에 패키지가 설치되어 있는 경우, 새로 설치되는 파일로 교체한다.
rpm -i --rot [Dir] 설치된 패키지를 '/' 디렉토리의 해당 디렉토리에 설치한다.
rpm -i --test  [패키지 이름] 설치하지 않고 충돌 사항이 있는지 점검 후 보고한다.
rpm -Va System에 설치된 모든 패키지에 대하여 파일 변경 유무를 검증한다.
rpm -V 특정 패키지의 설치 후 변경 여부를 검증한다.
rpm --rebuilddb RPM DB 자체에 문제로 RPM 명령이 수행되지 않을 수도 있기 때문에 DB을 작성한다.
rpm -vl --verify[Option] [패키지 이름] RPM으로 설치되는 패키지에 대하여 RPM DB에 저장된 내용과 원본 패키지의 내용을 비교 할 때 사용한다.

md5sum 파일의 변경 여부를 검사할 수 있음





YUM은 RPM과 달리 네트워크(Network)를 통해 프로그램을 설치하며, 의존성을 고려하여 작업을 수행한다.
패키지 관리 프로그램으로 어떠한 프로그램을 설치할 때 패키지 의존성 문제가 발생하기도 한다.
예를 들어 RPM으로 man이라는 프로그램을 설치하고자 할 때 의존성 문제가 발생한다. man은 xz-lzma-compat 패키지를 필요로 하고, xz-lzma-compat 패키지는 xz 패키지를 필요로 한다. 즉 man 보다 xz-lzma-compat이, xz-lzma-compat 보다 xz가 먼저 설치되어야 한다. 그렇지 않은 경우 의존관계 오류가 발생하게 된다.

반면에 YUM이 man 패키지를 설치하는 경우 의존성에 대한 정보를 알려주고, 자동적으로 처리한다.
개발 환경에 필요한 man을 설치해보자.



rpm파일이 들어있는 usb를 마운트(Mount)하고 man 패키지를 rpm으로 설치한다.



의존성 문제가 발생해서 설치가 재대로 이루어지지 않는다. 그래서 먼저 xz-lzma를 설치해준다.



ls | grep lzma로 해당 디렉토리(Directory)에 xz-lzma 파일이 있는지 확인한다. 그리고 rpm으로 설치했는데 또 의존성 문제가 발생했다. xz-lzma를 설치하기 위해서는 xz가 필요하다는 것이다. 그래서 먼저 xz를 설치해준다.


ls | grep xz로 파일이 있는지 확인한다음, xz 패키지를 rpm으로 설치해준다.



rpm -q man xz xz-lzma-compat으로 rpm으로 설치된 man 관련 패키지를 확인한다. 위와 같이 잘 설치된 것을 확인할 수 있다.
rpm으로 설치된 패키지들을 삭제해보자.



xz 패키지는 xz-lzma와 의존성 관계로 함부로 삭제 할 수 가 없다.
그래서 rpm으로 설치한 순서와 반대로 삭제를 수행해야 한다.



완벽하게 삭제됐다. 아주 깔끔하게..

이렇게 rpm으로 패키지들의 의존성 관계를 하나하나 검사해가면서 설치를 해야되는 반면에 yum으로 설치하면 자동으로 의존성을 검사해 관련 패키지를 정상적으로 설치해준다.



댓글 0

리눅스에서 인터넷 속도 측정하기

  • 최고관리자
  • 2023.05.01
  • 조회 30
  • 추천 0
리눅스에서  인터넷 속도 측정하기

MySQL DB 암/복호화 방법

  • 최고관리자
  • 2023.04.25
  • 조회 37
  • 추천 0

Jenkins와 Github 연동하기 2

  • 최고관리자
  • 2023.02.18
  • 조회 31
  • 추천 0
Jenkins와 Github 연동하기 2

Jenkins와 Github 연동하기 1

  • 최고관리자
  • 2023.02.18
  • 조회 27
  • 추천 0
Jenkins와 Github 연동하기 1

MSSQL 17 버전 이하 연결 오류 해결 (TCP Provider: Error)

  • 최고관리자
  • 2023.02.16
  • 조회 60
  • 추천 0

VirtualBox 환경에서 symlink() 오류 해결

  • 최고관리자
  • 2023.02.16
  • 조회 22
  • 추천 0

윈도우 IIS 환경에서 PHP 확장자 관리 방법

  • 최고관리자
  • 2023.02.16
  • 조회 23
  • 추천 0
윈도우 IIS 환경에서 PHP 확장자 관리 방법

Nginx 디렉토리 인식 설정

  • 최고관리자
  • 2023.02.16
  • 조회 27
  • 추천 0

CentOS Steam 에서 Docker 설치 시 exec 실행 오류 해결 방법

  • 최고관리자
  • 2023.02.16
  • 조회 25
  • 추천 0
CentOS Steam 에서 Docker 설치 시 exec 실행 오류 해결 방법

Apache httpd.conf 설정 환경 정리

  • 최고관리자
  • 2017.01.22
  • 조회 23
  • 추천 0

서버에서 오는 경고 문자 설명

  • 최고관리자
  • 2017.01.02
  • 조회 34
  • 추천 0

CentOS 6.5 APM Configure

  • 최고관리자
  • 2014.11.23
  • 조회 27
  • 추천 0

CentOS 6.5 Minimal APM 설치과정

  • 최고관리자
  • 2014.11.19
  • 조회 48
  • 추천 0

CentOS 6.5 원격 부팅 설정하기 (WOL)

  • 최고관리자
  • 2014.11.04
  • 조회 22
  • 추천 0

Mod_Security 설치방법 - CentOS 6.5

  • 최고관리자
  • 2014.07.09
  • 조회 23
  • 추천 0
처리 중...