리오집사의 기억저장소

목차

     

10. 패키지(소프트웨어) 관리[ RPM과 YUM ]

 

RPM과 YUM

RPM, YUM은 리눅스의 패키지 인스톨 프로그램이자, 인스톨 파일이라고 생각하면 된다.

RPM(Redhat Package Manager)

패키지 관리자로, Windows의 setup.exe와 비슷한 설치파일이다. 이러한 설치 파일의 확장자명은 *.rpm이며, 이를 패키지라고 부른다. RPM은 Redhat계열인 CentOS, Redhat, Fedora 에서 호환된다.
장점 :  바이너리 파일로 구성되어 컴파일이 필요없음
           패키지 설치상태 및 정보 제공.
           기존파일 삭제없이 바로 업그레이드 가능
 
 단점 : 패키지 의존성에 따라 관련 패키지가 먼저 설치되어있지 않으면 설치가 안된다.
 즉, 패키지 설치를 위해서는 그 패키지의 필요요소를 사전에 전부 다운로드 해야 한다.(패키지 디펜던시).
 그런데 RPM에서는 YUM과 달리 이러한 의존관계를 같이 다운받아주지 않는다는 단점이 있다.
국내에서 배포된 많은 리눅스들이 레드햇을 기반으로 하고 있어 사용 범위가 넓다.

RPM의 파일 구조

패키지이름-버전-릴리즈번호.소스여부.시스템.확장자

Ex) gcc-2.96-98.i386.rpm

 gcc  - 패키지 이름

 2.96  - 패키지 버전

 98  - 패키지의 릴리즈 번호, 패키지가 몇 번째로 만들어진 것인지를 나타낸다. 똑같은 프로그램으로 다시 패키지 하여도 릴리즈는 올라간다.

 i386  - 시스템, 어떤 시스템에서 쓰이는 것인지를 나타내는 것이다. 'i386', 'i686'등은 인텔계열의 시스템에서 'sparc' SUN의 스팍 시스템용이고 'alpha' 라면 알파 시스템용이다.

  • 혹 네 번째 필드에 src라고 적혀있으면 그것은 소스 RPM이다. 바이너리 패키지를 만들기 위해서 필요하다. 일반적으로 많이 사용하는 편은 아니다.

 rpm  - 확장자

 

RPM의 사용법

1) 설치 :$ rpm -Uvh [*.rpm]

  • U: 파일을 설치하되, 설치되어 있는 파일은 업그레이드
  • v : 설치과정을 확인
  • h : 설치 진행과정을 "#" 마크로 화면에 출력

2) 삭제 : $ rpm -e [패키지 이름]

3) 설치되어 있는 패키지 정보 확인

  • 설치된 패키지 확인 $ rpm -qa or $ rpm -qa [패키지 이름]
  • 설치된 패키지의 상세 정보 확인 $ rpm -qi [패키지 이름]
  • 설치된 패키지에 포함된 파일 목록 확인 $ rpm -ql [패키지 이름]
  • 설치된 파일이 어느 패키지에 포함되어 있는지 확인 $ rpm -qf [절대경로+파일]

4) 설치되어 있지 않은 패키지 정보 확인

  • 패키지에 포함되는 파일 목록 확인 $ rpm -qlp [패키지 이름]
  • 설치할 패키지의 상세 정보 확인 $ rpm -qip [패키지 이름]

 

 

YUM(Yellodog Updater Modified)

rpm과 다르게, 필요한 패키지만 설치 하면, 의존성이 있는 다른 패키지 또한 함께 설치해주는 툴이다. YUM은 외부 레파지토리 서버랑 통신이 가능해야 한다. 즉, 네트워크가 단절되면 yum 명령어 사용이 불가능하다.

YUM의 사용법

1) 기본 설치 :$ yum install [패키지 이름] // 주로 yum -y install [패키지 이름] 으로 사용

2) RPM 설치 :$ yum install [*.rpm 파일 이름]

3) 업데이트 가능 목록 확인 :$ yum check-update

4) 업데이트 :$ yum update [패키지 이름] //패키지 이름 입력하지 않으면 전부 업데이트

5) 삭제하기 :$ yum remove [패키지 이름]

6) 패키지 그룹 설치 :$ yum groupinstall "[패키지 그룹 이름]"

7) 특정 파일이 속한 패키지 이름 확인 :$ yum provides [파일 이름]

8) GPG 키 검사 생략 :$ yum install --nogpgcheck [*.rpm]

  • 인증되지 않은 rpm 파일을 yum으로 설치시, 설치가 불가능하다. 그럴 때 인증을 생략하는 방식이다.

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band