본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ
IT기술/리눅스

RPM, YUM 이란?

by 미노드 2016. 3. 23.

RPM/rpm/Yum/YUM/yum


<<RPM이란?>>

Redhat Package Manager로 Window "setup.exe"와 비슷하다프로그램을 설치한 후에 바로 실행할 수 있는 설치 파일을 제작하게 되었다이러한 설치파일의 확장명은 *.rpm이며이를 패키지라고 부른다.

RPM의 단점은 무엇일까?

RPM이 나오면서 리눅스에서의 설치는 편리해 졌지만 RPM의 가장 큰 문제점은 '의존성'이다.

예로 페도라의 기본 웹 브라우저인 Firefox는 X윈도우에서 가동된다. X윈도우가 설치되지 않은 상태에서 firefox를 설치한다면의존성 때문에 설치가 되지 않을 것이다.

<<RPM 파일 형식>>

rpm 파일 형식을 예로 알아보자.

gedit-2.6.1-1.fc11.i586.rpm

패키지 이름-버전-릴리즈번호.페도라버전.아키텍처.rpm

 

1. 패키지 이름 : gedit

2. 버전 : 2.6.1

주버전부버전패치버전이며 높을 수록 최신임.

3. 릴리즈번호 : 1

문제점을 개선할 때 마다 붙여지는 번호

4. 페도라버전 : fc11

페도라에서 배포할 경우 붙여진다. fc11은 페도라 11용을 의미.

5. 아키텍처 : i586

CPU를 의미하는데이 파일이 설치 가능한 CPU를 의미한다.

 


<<RPM 명령어>>

rpm [옵션] [패키지파일]

 

U : 기존에 패키지가 설치되어 있지 않다면설치를 하고 기존에 패키지가 설치되어 있다면 업그레이드를 한다.

v : 설치과정을 출력

h : 설치진행과정을 특수문자"#"으로 표시한다.

e : 설치된 rpm삭제

qa : 시스템에 패키지가 설치되어 있는지 확인

qf : 이미 설치된 파일이 어느 패키지에 포함된 것인지 확인

ql : 특정 패키지에 어떤 파일들이 포함되었는지 확인

qi : 패키지 상세정보 출력


<<YUM이란?>>

리눅스에서 RPM은 유용하다하지만 의존성 문제때문에 불편한 점이 있다이런 의존성 문제를 완전히 해결한 것이 yum이다. Yellowdog Updater Modified라고 단순히 RPM을 설치할 때 편리하게 해주는 툴이라고 생각하자.

rpm같은 경우는 사용자가 직접 설치하고자 하는 파일을 인터넷에서 *.rpm을 다운받아 의존성을 따져가며 차례대로 설치하여야 했다하지만 yum은 어떤 특정 rpm파일을 다운받고자 할 때의존성을 가지는 다른 *.rpm파일들도 알아서 인터넷을 통해 Fedora의 rpm 파일이 저장된 저장소(Repository)에서 설치하고자 하는 rpm파일을 다운로드 한 다음에 설치까지 자동으로 해준다. (물론 자동으로 인터넷을 통해 다운로드 하기 때문에 네트워크가 꼭 연결된 상태에서만 yum을 사용해야 한다.)

그렇다면 저장소의 URL은 어떻게 알아 차리고 자동으로 다운로드를 하는것일까?

그것에 대한 정보는 /etc/yum.repos.d/ 디렉토리에 저장되어 있다.

단, yum을 통한 rpm설치일때만 조회가 가능하고 직접 rpm을 다운받아 설치한 경우에 조회가 안될수도 있으며 개인이 소스로 설치한 경우 검색되지 않을 수도 있다.

 


<<YUM 명령어>>

yum install [패키지 이름]

-> 패키지 설치 (기본 설치 명령어)

yum -y install [패키지 이름]

-> 무조건 yes로 모두 설치할 때 사용한다편리함

yum check-update

-> 현재 시스템에 설치된 패키지 중에서 업데이트가 가능한 패키지의 목록을 출력한다.

yum update [패키지 이름]

-> 업데이트 해준다.

yum remove [패지키 이름]

-> 삭제하는 명령어

 


<<yum 설정파일>>

yum은 /etc/yum.conf와 /etc/yum.repos.d/ 디렉토리가 있다.

/etc/yum.conf는 사용자들이 특별히 설정할 것이 없다.

/etc/yum.repos.d/ 디렉토리는 아까 말했다 시피 yum명령을 입력했을 때 검색하게 되는 네트워크 주소가 들어있다.

 

<<실습>>

이번 실습은 /etc/yum.repos.d/ 디렉토리에 있는 파일을 backup파일에 모두 옮겨놓고(네트워크 URL파일들을 임시로 지우는 것이다.)

fedora-local.repo라는 빈 파일을 생성해서 yum명령을 실행하며 자동으로 이 파일만 확인하게끔 할 것이다.

우선 /etc/yum.repos.d/에 있는 파일들을 backup 디렉토리를 만들어 옮겨놓자.

그 후에, fedora-local.repo에 있는 내용은 mount시켜놓은 cdrom에서만 rpm파일을 찾을 수 있게 해보자. (원래 네트워크로만 정의되어 있는 경로를 cdrom으로 축소시켜서 범위를 제한하는것이다.)



우선 네트워크가 안되는 상황을 연출하기 위해 ifdown eth0를 입력해 네트워크를 다운시키자.


이제부터 yum install명령어를 사용하여 패키지를 설치하면 cdrom에서만 찾아서 설치할 것이다.


http://itdexter.tistory.com/303   참고