728x90
반응형
RPM (Redhat Package Manager) : 패키지 관리 프로그램
◆ RPM 파일 구조
패키지이름-버전-릴리즈.아키텍쳐.rpm
패키지이름 : 어떤 패키지인가를 설명해주는 패키지의 이름
버전 : 패키지의 버전을 의미
릴리즈 : 한 버전의 패키지를 몇번 빌드 했는지
아키텍쳐 : 패키지가 사용가능한 시스템
◆ 사용법
# rpm [옵션] 파일
◆ 옵션
-i : 해당 rpm package를 설치, 이전 버전 설치 되어 있으면 설치하지 않는다
-U : 이전 버전이 설치되어 있다면 업그레이드를 하고, 설치되어 있지 않다면 새롭게 설치 진행
-e : 해당 rpm package를 삭제
-F : 이전 버전이 설치되어 있을 경우에만 설치
-v : 설치 중 메시지를 출력
-h : 진행과정을 #으로 표시
-q : 패키지가 설치되어 있는지 검사
-qa : 설치된 rpm package를 출력
Ex) rpm -qa | more
-qi : 해당 rpm package의 정보를 출력
Ex) rpm -qi glibc
-ql : 해당 rpm package의 파일의 위치를 출력
Ex) rpm -ql glibc
--replacepkgs : 패키지를 교체,패키지가 설치되어 있어도 다시 설치
--replacefiles : 동일한 파일명이 있으면 교체
--oldpackage : 예전 패키지로 교체할 때 사용
--force : --replacepkgs,--replacefiles,--oldpackage옵션을 모두 사용한 것, 강제 설치
--percent : 패키지 파일을 설치할 때 퍼센트 표시
--includedocs : 문서 파일 포함
--excludedocs : 문서 파일은 설치하지 않음
--nodeps : 패키지의 의존성을 무시
--aid : 의존성을 검사하여 의존성 피키지를 자동으로 설치
--test : 패키지를 실제 설치하지 않고 충돌 사항을 점검하여 보고
rpm 옵션 예제
◆ 일반적인 패키지 설치
# rpm -ivh [피키지파일]
◆ 설치되어 있는 패키지 교체
# rpm -ivh [패키지파일] --replacepkgs
◆ 의존성 에러 존재 시 무시하고 설치할 경우
# rpm -ivh [패키지파일] --nodeps
◆ 패키지 의존성이란? : 어떠한 패키지를 설치할 때 패키지의 동작을 위하여 기본적으로 필요로
하는 패키지가 있어야 하는 것을 말함
◆ 의존성 에러 존재 시 의존성이 있는 패키지들을 먼저 설치한 후 자동으로 설치
▶ 첫번째 방법 : 에러가 나는 의존성을 따라가며 설치하기
▶ 두번째 방법 : rpm -ivh [패키지파일] --aid
◆ 기존 패키지를 업그레이드 하기(설치되어 있지 않은 경우 rpm -ivh 옵션과 동일함)
# rpm -Uvh [패키지파일]
1. rpm 패키지 설치
- rpm 패키지 초기 설치
# rpm -ivh jdk-6u26-linux-i586.rpm
rpm –ivh http://isoredirect.centos.org/centos/5/os/i386/centos/mc-4.6.1a-34.el5.i386.rpm
- rpm 패키지 업데이트 할경우
# rpm -Uvh jdk-6u26-linux-i586.rpm
(업데이트시만 사용하는것이 아니라 초기 설치시도 패키지가 설치되어 있지 않은경우 알아서 설치하기 때문에 이명령어를 많이 사용됨)
2. rpm으로 설치된 패키지의 확인
# rpm -qa 패키지명 or rpm-qa | grep 패키지명
(ex, rpm -qa | grep jdk)
3. rpm 패키지 삭제
# rpm -e 패키지명 (ex, rpm -e java-1.6.0-openjdk-1.6.0.0-1.41.1.10.4.el6.x86_64)
◆ 만약 아래와 같은 에러가 발생하며 rpm 모듈 삭제 실패가 뜰경우는 java는 libvirt-java-0.4.7-1.el6.noarch 의존성 패키지가 필요해서 발생하는 메시지다.
error: Failed dependencies:
java is needed by (installed) jna-3.2.4-2.el6.x86_64
java >= 1.5.0 is needed by (installed) libvirt-java-0.4.7-1.el6.noarch
이런경우, 패키지 의존성을 무시한채 삭제 할수 있다
# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.41.1.10.4.el6.x86_64
또는 yum을 이용하여 삭제 가능하다 (다만 redhat linux 같은 경우 정식 구매된 버전에 한해서 가능하다)
# yum remove java-1.6.0-openjdk-1.6.0.0-1.41.1.10.4.el6.x86_64
4. 현재 rpm 패키지에 의존된 모듈확인
# rpm -qR 패키지명 (ex, rpm -qR java-1.6.0-openjdk-1.6.0.0-1.41.1.10.4.el6.x86_64)
5. RPM(Redhat Package Manager)에서 특정 패키지 복원시키기
# rpm2cpio filename.rpm | cpio -l -make -deretories -E filename
반응형
'Linux' 카테고리의 다른 글
Linux 데몬 종류 (0) | 2018.08.08 |
---|---|
Linux 실시간 명령어 (watch, while) (0) | 2018.08.08 |
Linux YUM (0) | 2018.08.08 |
Linux ntpd 설정 (0) | 2018.08.08 |
Linux du (0) | 2018.08.08 |