본문으로 바로가기

Software 관리_RPM

category Linux/Linux Server 2017. 8. 31. 18:34
  • RPM 패키지 관리

-RPM(Redhat Package Manager)이란 

Redhat사에서 패키지를 좀 더 쉽게 설치하고 관리하기 위해 만든 패키지 관리 프로그램이다. 복잡한 컴파일 과정 없이 간단하게 패키지를 설치할 수 있는 장점이 있지만 반대로 사용자에게 맞는 다양한 옵션들은 설정할 수 없다는 것이 단점이다.


[참고] 

오픈소스 프로젝트 (한국 미러링 사이트)

http://ftp.kaist.ac.kr

http://mirror.khlug.org

http://mirror.korea.ac.kr

http://ftp.neowiz.com/pub

http://mirror.cdnetworks.com


rpm 패키지 다운로드 사이트

http://rpmfind.net

http://rpm.pbone.net

ftp://ftp.daum.net


[명령어 형식]

- RPM 패키지 설치 및 업데이트

# rpm -ivh package-filename.rpm /* 패키지 설치, 이전 버전의 패키지를 삭제하지 않고 새 버전 설치 */

(-i: install, -v: verbose 자세히, -h: hash 설치과정 # 표시)

# rpm -Fvh package-filename.rpm /* 패키지 없데이트, 이전 버전의 패키지가 있을 경우만 패키지를 설치 */

(-F: Freshen 기존의 프로그램 지우고 새로운 업데이트 버저 설치)

# rpm -Uvh package-filename.rpm /* 패키지 업데이트, 이전 버전이면 업그레이드 하고 없으면 설치  가장 많이 사용*/

(-U: Upgrade)

# rpm -ivh --nodeps package-filename.rpm /* 의존성 체크 안함, 의존성 문제를 무시하고 설치 */

(-nodeps: no dependency)

# rpm -Uvh --force package-filename.rpm  /* 패키지 충돌이 방생해도 강제적으로 설치 */


[참고]

kernel은 -ivh 옵션을 사용한다. 커널은 운영체제와 관련되어있어 설치도중 문제가 일어나면 전 버전으로 돌려야하기 때문에

이전 버전은 건들이지 않고 새로 다운받는 -ivh 옵션을 사용한다. 


의존성 : A 패키지가 설치되려면 B 패키지가 설치되어 있어야하는데 이런것을 의존성이라고 한다. 때문에 패키지를 다운받을때 

순서에 맞게 설치해야한다. 

--nodeps는 그런것을 무시하고 그냥 설치하겠다는 옵션으로 조심해서 사용해야한다.


패키지 충돌 : 예를 들어 A와 B는 메인 기능은 같지만 약간씩 기능이 다른 패키지라면 메인기능이 같기 때문에 이미 깔려있는 A 패키지

위로 B 패키지가 오버라이트되어 사용할 수 없게된다. 

이러한 점을 무시한채 설치할경우 --force 옵션을 사용한다.

--force 옵션은 --nodeps 옵션보다 더 위험한 옵션으로 정말 조심히 사용해야한다.


- RPM 패키지 삭제

# rpm -e package-filename /* 패키지 삭제 */

(-e: erase)

# rpm -e --nodeps package-filename /* 패키지 삭제, 의존성 문제를 무시하고 패키지 삭제 */

(--nodeps: no dependency)


- RPM 패키지 정보 확인

# rpm -qa (-q: query, -a: all) /* 전체 패키지 목록 확인 */


# rpm -qa | grep package-filename /* 전체 패키지 목록에서 지정된 패키지 설치 유무 확인 */

# rpm -q package-filename /* 지정된 패키지 설치 유무 확인 */

# rpm -qi package-filename /*-i: information 설치된 패키지의 자세한 정보 확인 */

# rpm -ql package-filename /* -l: list 설치된 패키지의 파일과 디렉토리 목록 확인 */

# rpm -qf /usr/bin/ls /* -f: file 지정된 파일이 포함된 패키지 이름 확인 */

# rpm -qi -p package-filename.rpm /* -p: packages file 설치하고자 하는 패키지의 자세한 정보 확인 */


[참고] RPM 옵션
- rpm 명령어의 옵션은 굉장히 많기때문에 모두 설명할 수가 없다. 
필요한 옵션은 적절하게 찾아 사용한다.
# rpm
# rpm --help

- 패키지 파일 이름 형식
kernel-2.6.9-42.0.2.EL.i686.rpm
kernel-2.6.18-164.el5.x86_64.rpm
kernel-2.6.18-164.el5.src.rpm인 */

- CD 에서 설치하는 방법
CentOS_5.5 버전을 설치할때 사용했던 CD 안에 패키지들이 들어있다.


- CD를 연결합니다.


-CD는 자동 마운트 됩니다.

- 마운트 된곳으로 가서 찾으시면 됩니다.

# cd /media/CentOS_5.5_Final/CentOS

# ls php*


- 인터넷상에서 패키지 다운로드 하여 설치하는 방법
http://rpm.pbone.net
1) 패키지 다운로드  -필요한 패키지를 검색해서 찾습니다.



- php-5.1.6 을 찾아서 받아보겠습니다.


# cd /test

# wget [붙여넣기]<Ctrl + Insert>

-> 사이트에서 복사된 링크가 써지고 시간이 지나면 rpm 파일이 다운받아 집니다. 

# ls


예를들어 php 를 다운받았지만 다른 패키지들도 이렇게 받아 rpm -Uvh 를 이용해 설치해주시면 됩니다.


[참고] 외부에서 받아오는 것이기 때문에 네트워크 환경이 구축되어있어야 합니다. 

# ping 8.8.8.8 




(정리) 패키지 관리


rpm CMD(RedHat Packages Manager)


설치

# rpm -ivh [--nodeps] pkg.rpm 

# rpm -Uvh [--nodeps] pkg.rpm 

# rpm -Fvh [--nodeps] pkg.rpm 


확인

# rpm -qa | grep pkg 

# rpm -q pkg 


# rpm -qf /etc/passwd 

# rpm -ql pkg 

# rpm -qi pkg 

# rpm -qi -p pkg.rpm


삭제

# rpm -e [--nodeps] pkg 


'Linux > Linux Server' 카테고리의 다른 글

Software 관리_Source file  (0) 2017.09.01
Software 관리_YUM  (0) 2017.09.01
SWAP  (0) 2017.08.31
RAID  (0) 2017.08.30
LVM ( Logical Volume Manage )  (0) 2017.08.29