리눅스에서 프로그램을 설치하는 방법에는 어떠한 것들이 있을까요?
레드헷에서는 rpm 방식의 설치를 지원하고,
데비안에서는 apt-get 방식을 지원하고,
기타 등등...
리눅스 배포판의 수가 많은 만큼, 프로그램을 설치하는 방식 또한 다양합니다.
이중에서 많은 리눅스 배포판들이 사용하는 패키지 설치 방식은 RPM 방식입니다.
RPM은 Redhat Package Management의 약자로서 레드헷에서 제공하는 패키지 관리툴을 말합니다.
레드헷 리눅스 상에서 다양한 소프트웨어들의 설치, 추가, 삭제 등이 용이하도록 제공되는 툴로서 초기에는 레드헷 계열의 리눅스 배포판에서만 사용되었으나, 그 사용법이 용이하고 편리해서 현재는 대부분의 리눅스 배포판에서 패키지 설치툴로 사용되고 있습니다.
■ RPM 패키지의 구조
[패키지 이름]-[버전]-[릴리이즈 번호].[아키텍쳐].rpm
ex) postgresql-6.3.2-5kr.i386.rpm
지금까지 많은 분들이 리눅스 배포판에서 제공되는 rpm을 가지고,
설치와 제거를 해보셨을 거라 생각됩니다.
오늘 이 강좌를 통해서... 이제는 간단한 패키지들을 직접 만들어서 사용할 수 있는 고급 유저로 거듭나시길 바랍니다. ^^
rpm을 만든다는 것은
① 개발자에 의해 소스RPM(SRPM)으로 1차 만들어진 파일을 받아서 RPM을 추출해 내는 방법
② 원본 소스바이너리 파일을 받아서, 현재의 리눅스 시스템에 맞도록 제작하는 방법
위의 2가지 방법을 말할 수 있습니다.
1번에서의 SRPM은... 개발자가 원본 소스바이너리를 받아서 1차적으로 RPM형식으로 만든 파일을 말하는 것으로, 이것을 이용해 사용자는 쉽고 편리하게 rpm을 만들어서 사용할 수 있습니다.
그리고, 프로그램을 개발하는 개발자 또는 리눅스 프로그램을 수정하여 사용하고자하는 고급유저들에 있어서도 이 소스RPM은 유용하게 사용됩니다.
코어리눅스 2004 Workstation에는 코어리눅스에서 사용되는 프로그램에 대한 SRPM을 CD로 제공하고 있습니다.
4번,5번 CD에 이러한 소스RPM을 제공하고 있으므로,
소스RPM을 필요로 하는 사용자는 유용하게 사용할 수 있습니다.
2번의 방식은 개발자에 의해 SRPM으로 만들어지지 않은 원초적인 소스바이너리를 가지고, RPM을 만드는 방법으로, SRPM에 비해 사용자가 조금더 작업을 해줘야 하는 차이점을 가지고 있습니다.
2번째의 방식을 익히면 1번째의 방식은 자연히 아시게 되리라 생각되어, 아래에는 소스바이너리를 통해 직접 RPM을 제작하는 방법에 대해 설명을 드리겠습니다.
==============================================================================
아래에서 예를 드는, GKrellm이라는 프로그램은, 시스템 정보를 실시간으로 보여주는 모니터링 툴로서, 별다른 의존성 등의 문제없이 쉽게 설치할 수 있는 프로그램으로 교육용으로 적합하다 생각되어 예로 들었습니다.
실제 프로그램 패키징 작업에서는 이외에도 많은 기술 및 방법들이 필요한 관계로, 비교적 간단한 GKrellm을 통해서 설명을 드리겠습니다.
==============================================================================
1. 소스파일 구하기
리눅스배우기에 올려져 있는 GKrellm의 소스파일을 다운로드 합니다.
오픈자료실 GKrellm 받으러 가기
압축을 풀면, gkrellm-2.2.4 라는 디렉토리가 생성됩니다.
# tar xzvf gkrellm-2.2.4.tar.gz
이렇게 다운로드한 소스파일은 컴파일 방식으로 설치를 할 수도 있지만,
여기서는 RPM 제작을 설명해야 하므로, RPM 제작 방식으로 진행하도록 하겠습니다.
※ 소스컴파일 방법은 오픈자료실의 해당 게시물을 참조해 주시기 바랍니다.
2. SPEC 파일 확인하기
보통 리눅스 관련 프로그램을 개발하게 되면, 해당 프로그램을 RPM으로 만들수 있도록 SPEC 파일을 함께 포함하고 있는 경우가 많습니다.
압축을 푼 디렉토리에 가보시면, gkrellm.spec 이라는 파일이 있습니다.
이 파일을 통해서 RPM을 제작할 수 있게 됩니다.
3. 설치를 위한 파일 복사
위의 gkrellm.spec 파일을 아래의 경로에 복사합니다.
# cp gkrellm.spec /usr/src/Kore/SPECS/
다운받은 원본 파일을 아래의 경로에 복사합니다.
# cp gkrellm-2.2.4.tar.gz /usr/src/Kore/SOURCES/
RPM을 제작하기 위해서는 제작 내용을 기술하고 있는 SPEC 파일을 /usr/src/Kore/SPECS/ 디렉토리에 넣어두고, 해당 프로그램의 원본파일을 /usr/src/Kore/SOURCES/ 디렉토리에 넣어두고 작업을 해야 합니다.
4. SPEC 파일의 내용 확인 및 수정
방금 복사한 gkrellm.spec을 열어서 내용을 확인하고 수정이 필요한 부분이 있으면 적절히 수정합니다.
패키징을 해본 결과, 소스파일의 경로가 적절치 않아 패키징이 진행되지 않으므로, 아래 문자을 찾아서 다음과 같이 수정해 줍니다.
Source: http://web.wt.net/~billw/gkrellm/%{name}-%{version}.tar.bz2
(수정)
Source: %{name}-%{version}.tar.gz
※ 이외에는.... 크게 수정하지 않아도 코어리눅스에서 잘 동작하는 환경이므로, 내용만 한번 둘러보시면 되겠습니다.
5. RPM 패키징 시작
드뎌 기다리고 기다리던 패키징 시간입니다.
아래와 같이 입력하고 패키징을 시작해 봅니다.
# rpmbuild -ba -v gkrellm.spec
이상한 문자들이 주루룩~~ 나오면서 리눅스가 혼자서 뭔가를 만들어 냅니다.
정상적으로 종료가 되면, /usr/src/Kore/RPMS/i386/ 디렉토리에 RPM 파일이 만들어 집니다.
# cd /usr/src/Kore/RPMS/i386/
# ls
gkrellm-2.2.4-1.i386.rpm
6. RPM 파일 설치
이제 패키징이 끝났습니다.
위 파일을 가지고, rpm 설치를 진행하면 됩니다.
# rpm -Uvh gkrellm-2.2.4-1.i386.rpm
7. 실행
이제 실행을 해볼까요. ^^
# gkrellm &
화면 귀퉁이에 시스템 모니터링 프로그램이 실행된 것이 보일 겁니다.
이상과 같은 방식으로 다른 패키지들도 RPM으로 만들 수 있습니다.
간단한 프로그램들로부터 시작해서, 하나하나 만들어 보는 기쁨을 느껴 보시기 바랍니다.
출처 : 코어리눅스 |
0