Linux

Linux) RPM

5_jinseok12 2018. 2. 19. 12:00
728x90

RPM(Redhat Packge Mangement) 패키지 관리 도구

 

패키지란?

특정 프로그램이나 파일을 설치할 수 있도록 묶어놓은 파일을 말한다.

ex) Windows -> setup.exe,  insall.exe , install.msi

kakaotalk 설치 -> kakaotalk_set.exe  이런식으로 설치되는 것을 말한다.

 

 

 

RPM 실습 사전 준비

 

Server-A -> settings -> CD/DVD-ROM -> CentOS DVA iso 파일 선택

 

 

 

 

CD /DVD 클릭 후 CentOS-6.9-x86-bin-DVD1 파일을 클릭한다.

기존에 있던 minimal 파일에서 DVD 파일로 바꿔주는 것이다.

 

#mount -t iso9660 /dev/cdrom /mnt

mount : block device /dev/sr0 is write-protected, mounting read-only 이 나와야 정상적으로 동작.

마운트 시키기.

 

 

패키지 파일 이름 구조

ex) xtrm-253-1.el6.x86_64.rpm

[이름] - xtrm

[버전] - 253-1

[릴리즈]    - el6(Enterprise Linux 6)

     el6 커널을 사용하는 배포판에서 설치 가능

[아키텍쳐]  - x86_64

[확장자]    - rpm

이런식으로 패키지의 파일 이름 구조에 대해 알아볼 수 있다.

우리가 사용할 수 있는 패키지인지 알려면 릴리즈와 아키텍쳐만 알아도 된다.

 

 

아키텍쳐란?

X86

- X86은 Intel에서 나온 cpu모델을 모두 x86 이라고 부른다. Intel CPU 특정모델을 지칭하는 용어

- 대부분 전세계의 컴퓨터가 X86을 사용한다

 

64

- 64bit 연산을 지원하는 CPU(운영체제) 하위 호환은 가능하지만 상위호환은 안된다

- 64bit는 낮은 CPU를 사용할 수 있지만 32bit 는 높은  CPU를 사용할 수 없다는 의미

 

i386

- 32bit 연산을 하는 CPU 모델들을 지칭하는 용어

 

noarch

- 32/64bit 모델에서 사용이 가능한 패키지를 나타낸다

- 모든 cpu에서 사용이 가능하다 

 

rpm 패키지 설치(-ivh)

rpm -ivh[패키지명].rpm

-i install

-v verbose        설치 과정을 보여준다

-h hash            설치과정을 (#)으로 나타내준다

오류: Failed dependencies:
 libXaw.so.7()(64bit) is needed by xterm-253-1.el6.x86_64
오류가 난 이유는 의존성 오류. 즉 원래 있어야 하는 파일이 없어서 설치할 수가 없다.
 libXaw.so.7()(64bit) 가 있어야 xterm-253-1.el6.x86_64 를 다운받을 수 있다는 경고

 

하지만 libXaw를 다운받기 전에 libXpm을 다운받으라는 경고가 떠서 먼저 다운로드.

 

순차적으로 다운로드하여 조건을 만족시키니까 xterm을 다운받을 수 있게 되었다.

왜 이렇게 다운로드를 받아야할까? 바로 의존성 때문이다.

rpm의 가장 큰 단점은 의존성 때문에 수동으로 직접 설치해야한다는 번거로움이다

 

하지만 의존성을 무시하고 설치하는 방법도 있다

의존성을 무시하고 설치하는 방법
#rpm -ivh[패키지명].rpm --nodeps

위에도 의존성때문에 설치받기 전에 perl 이라는 프로그램을 설치받아야 하지만,

--nodeps 를 통해 강제로 의존성을 무시하고 설치를 진행한다

하지만 의존성을 무시한채 다운받은 프로그램의 정상 동작은 보장하지 않는다.

 

패키지 정보 검색(-q)

rpm -q[질의 옵션]

-qa 시스템에 설치되어 있는 모든 패키지 목록 출력

 ex)  #rpm -qa xterm

"rpm -qa xterm | grep xterm    // 전체 패턴에서 xterm이 포함된 것만 출력한다. grep 명령어

검색 결과 o -> 설치 o

검색 결과 x -> 설치 x

패키지의 설치 유무를 확인하는 것이다


-qf 파일이 포함되어 있는 패키지 명을 출력 

 

-qi 패키지 상세 정보 확인

상세 정보를 확인할 때에는 패키지 버전은 쓸필요 없고 이름만 쓰면 된다

 

-ql 패키지에 포함된 파일의 목록 출력

너무 많은 양이 출력되기 때문에 more 명령어를 사용한다.

more 명령어로 페이지 단위로 볼 수 있다

 


 -qR 패키지 의존성 확인

 

xterm의 의존관계를 알 수 있다

 

패키지 보는게 아직 익숙하지 않을테니 아래 사진을 참고하여 외우도록 하자

 

 

 

CD안에서는 읽기만 가능하고 쓰기가 금지되어 있어서 드레그&드랍해도 실패라도 오류가 뜬다
#cd /practice/  으로 이동 후 드레그&드랍 하면 제대로 이동된다.

인터넷에서 figlet-2.2.5-9.el6.x86_64.rpm 을 다운받고 드레그 앤 드랍 한 후 실행.

 

 

반응형

'Linux' 카테고리의 다른 글

Linux) yum개념 및 실습  (1) 2018.02.19
Linux) 부팅 프로세스  (0) 2018.02.19
Linux 파일 검색(find)  (0) 2018.02.13
Linux 파일시스템 RIAD-1, RAID-5 , 볼륨  (0) 2018.02.09
Linux 파일 시스템(3) RAID  (0) 2018.02.08