리눅스에서 프로그램 설치(RPM)

리눅스에서 응용 프로그램을 설치하는 방법에는 크게 2가지가 있다.

1. source code 이용
2. binary package 이용

2번의 방법이 쉽고 간편하며 유지 및 보수도 쉽기 때문에 대부분이 이 방법을 이용하지만
리눅스를 사용하다 보면 1번의 방법으로 설치해야 하는 경우도 적지 않게 발생하게 된다.

MS WINDOWS의 경우 .msi 파일을 실행하게 되면 대부분의 설치 과정이 자동적으로 이루어지게 된다.
각각의 파일들을 해당 폴더에 위치시키고 registry에 등록하여 쉽고 간편하게 설치를 할 수 있다.

리눅스에서는 이렇게 package 형태의 설치 방법을 MS WINDOWS 만큼 많이 지원하고 있지는 못하며
이것이 리눅스의 사용을 어렵게 느껴지도록 만드는 가장 큰 원인 중에 하나일 것이다.

package라는 것은 설치에 사용되는 파일들을 모아서 하나의 파일로 만들어 놓은 것을 말한다.
설치하게 되면 미리 정해진 위치에 설치가 되고 그 정보가 기록되게 된다.

source code를 직접 컴파일하여 설치하게 되면
각각의 파일들의 디렉토리 위치를 대부분 직접 지정해줄 수 있다.
source code를 받아서 직접 컴파일하여 설치하게 되면
각각의 파일들의 위치를 직접 지정해주어야 한다.

보통 각각의 파일들은 다음의 디렉토리에 위치시킨다.

실행 파일  : /bin
설정 파일  : /etc
라이브러리 : /lib

하지만 여러 가지 프로그램들을 설치하다보면
각 파일들이 어떤 프로그램들을 설치할 때 생긴 것들인지 알기 힘들고
응용 프로그램의 버젼 업데이트 등을 수행했다면 이에 대한 구분은 더욱 더 어려워지게 된다.

그래서 package manager가 나오게 되었고,
RedHat사에서 만들어 사용하는 것이 RPM(Redhat Package Manager)이며
따라서 Fedora에서도 RPM을 사용하고 있다.

(예제)
소스 파일들을 컴파일해서 test라는 응용 프로그램을
설치하는 경우를 예로 들어 보자.

실행 파일  : test      -> /bin에 복사
설정 파일  : test.conf -> /etc에 복사
라이브러리 : test.a    -> /lib에 복사

사용하다가 test라는 프로그램이 필요없어서 지워야 한다면
test, test.conf, test.a 파일들을 다 찾아서 지워줘야 하므로 불편하다.

패키지 매니저의 예를 보자.

/bin/test
/etc/test.conf
/lib/test.a

이 파일들을 모아서 test.rpm으로 만들고

rpm -ivh test.rpm 명령을 수행하면 해당 위치에 알아서 설치가 되고
rpm -e test.rpm 명령을 수행하면 알아서 파일들이 삭제된다.

(unlikeme님의 NAVER 지식iN 답변 참조하여 정리함)

  그러나, 많은 경우에는 소스코드 자체를 다운받아서 설치해야 한다.

동영상 플레이어인 MPlayer의 경우를 예로 들면 다음과 같다.

 README 파일을 vi 명령어나 cat 명령어를 사용하여 열어서 내용을 확인해보면

설치방법에 관한 설명이 나와있다.

 1. MPlayer-1.0rc1.tar.bz2 파일을 다운받는다.

2. tar -jxvf MPlayer-1.0rc1.tar.bz2 해서 압축을 푼다.

3. ./configure 해서 환경변수 등을 설정해준다.

4. make 해서 소스 코드를 컴파일 해준다.

5. make install 해서 프로그램을 설치해준다.

 이렇게 하면 프로그램의 설치가 끝난다.

 mplayer 라고 치면 프로그램이 실행된다.

답글 남기기