티스토리 뷰

Installation Package using Source Compiling in Ubuntu 14.04 LTS


Ubuntu에서 Package를 설치하는 방법은 보통 5가지이다. 

  1. Ubuntu Software Center
  2. Synaptic Package Manager
  3. aptitude
  4. apt-get
  5. dpkg


이 중에서 Ubuntu Software CenterSynaptic Package Manager는 GUI 환경에서 사용할 수 있으며, apt-getdpkg는 CLI 환경에서만 사용할 수 있다. 그리고 aptitude는 반GUI에서 사용할 수 있는 툴이다. 하지만, Synaptic Package Manageraptitude는 별도로 설치의 과정을 거쳐야만 사용할 수 있는 불편도 있다. 하나 더 있다면, Ubuntu에서 Microsoft Windows 프로그램을 설치 실행하기 위해서 Wine을 사용할 수도 있다. 이번 글에서는 또 하나의 Package 설치 방법을 다루려고 한다. 

그것은 Source를 직접 다운로드받아 컴파일하고 빌드하는 과정을 거쳐 package를 설치하는 것이다. Ubuntu에서 설치해서 사용할 수 있는 대부분의 소프트웨어는 오픈소스이기 때문에, Source가 공개되어 있어 직접 다운로드 받을 수 있다. 또한 어떤 소프트웨어의 결함에 대해 패치를 작성하여 개선할 수 있고 기존 오픈소스 프로젝트에서 소스를 참고하여 사용할 수도 있다. 그래서 이번 글에서는 위에서 언급한 5가지 방법외에 Ubuntu Repository(저장소)에서 Source를 내려 받아 프로그램을 빌드하고 설치하는 일련의 과정을 살펴보려고 한다. 설치할 Package는 Ubuntu에서 사용하는 통합 메신저인 Pidgin이다. 이 글은 아래의 책(우분투 투게더, 이준희, 인사이트, 2015.3.6)을 참조하였다.

순서는 [소스 내려받기] --> [컴파일하기] --> [Packaging 하기] 이다.



소스 내려받기

1. 먼저 Ubuntu Repository에서 제공하고 있는 Source를 다운로드하기 위하여 다음의 명령으로 dpkg-dev Package를 설치한다.

sudo apt-get install dpkg-dev



2. 설치가 완료되면 다음 명령어를 통해 Source를 다운받을 수 있다. 관리자 권한을 사용하는 sudo 명령어를 사용하지 않은 것은 만일 sudo를 통해 관리자 권한을 사용할 경우 파일의 소유 권한이 사용자가 아닌 관리자에게 있기 때문이다. 

apt-get source <소스를 내려받을 패키지 이름>


3. 아래의 그림처럼 Package 이름은 pidgin으로 했다. 


4. Source 다운로드가 끝났다.


5. Source의 다운로드가 끝나면 해당 Source는 사용자의 Home Directory에 저장된다. 


6. 제대로 다운로드가 됐는지 확인한다. 이중에서 Source는 pidgin-2.10.9에 저장돼있다. 나머지 파일은 Source를 압축한 파일과 package 정보이다. 


7. 한번 Source 폴더인 pidgin 안으로 들어가 보자.


8. 아래의 그림처럼 Source에 관련한 파일들이 상당히 많다.



컴파일 하기

1. 이제 Source를 다운로드했으니 컴파일하도록 하자. Compile을 하기 전에 Compile에 필요한 환경을 설정해 줘야 한다. Ubuntu에는 Source를 Compile하기 위한 필요한 개발 라이브러리가 설치되어 있지 않기 때문에 아래와 같이 필수 라이브러리를 설치하자.

sudo apt-get install build-essential



2. Ubuntu Repository에서 내려받은 Source인 경우에는 다음 명령어로 Compile에 필요한 개발 라이브러리를 한꺼번에 설치할 수 있다.

sudo apt-get build-dep pidgin



3. 계속 진행 여부를 묻는다. 당연히 'y'를 누른다.


4. Compile할 환경이 준비되었는지 다음 명령어를 통해 확인이 가능하다. 

./configure



5. 모든 의존성이 확인되면 다음과 같은 화면을 볼 수 있다. 즉 Configure가 끝났으니 이제 make를 통해 Build를 진행하라는 메시지다. 


6. make 명령을 통해 Build를 진행하자. 

make




Packaging 하기

1. Compile이 끝나면 이제 설치할 수 있는 binary 파일이 완성된다. 즉 인간이 작성한 Source를 Computer가 읽을 수 있는 binary 파일이 된 것이다. 원래 Compile한 binary 파일은 다음의 명령을 통해 설치할 수 있다.

make install


2. make install 명령으로 설치해도 되지만, 이 방식은 Package 설치 방식에 비해 설치, 삭제 등의 관리가 어렵다고 한다. 여기서는 Ubuntu에서 사용가능한 Package(.deb)를 만들려고 한다. 이렇게 하면 Package Manager를 통해 설치도 할 수 있고, 삭제도 가능하며 다른 사용자에게 배포할 수도 있다. Ubuntu용 Package를 만들기 위해 필요한 프로그램을 설치하자. 아래의 명령을 입력한다. 

sudo apt-get install checkinstall



3. 설치가 완료되면 Packaging할 디렉토리로 이동하자. 현재 우리는 Pidgin을 Packaging하려고 하니까 해당 폴더에서 작업하고 있다. 아래의 명령으로 make install 대신 Packaging 작업을 시작하자.

sudo checkinstall



4. 현재 Pidgin 소스코드에는 Package에 대한 사전 정보가 없기 때문에 Package 정보를 만들어줘야 한다. 아래와 같이 Package 정보를 만들자. 아래의 그림처럼 Package 문서의 기본설정을 만들어야 한다는 메시지에 'y'를 누른다.


5. Package 정보에 필요한 정보들을 물어본다. Package에 대한 설명을 넣는다.


6. 필요한 정보를 다 넣었다면 엔터키를 두번 치면 마무리된다.


7. 다음 그림은 홈폴더에 있는 소스 파일들을 패키지에 포함시킬 것인지를 물어온다. 이런 파일들을 제외하려면 'y'를 그렇지 않으면 'n'을 누르면 된다.



8. 패키징 작업이 끝났다. 이 과정은 실제 설치한 것이 아니기 때문에 시스템에는 전혀 영향을 미치지 않는다.


9. 확인해 보면 Debian Packagedeb 파일이 생성된 것을 알 수 있다.


10. 그러면 다운로드 받은 다른 패키지 처럼 설치해 보자.

sudo dpkg -i ./pidgin_2.10.9-1_amd64.deb



11. Package 설치가 완료되었다. pidgin을 실행해 보자.


일단 소스코드를 컴파일하여 Package로 만들어 놓으면 바로 설치할 때보다 더 손이 많이 작업이지만, 타인에게 배포도 할 수 있고, 설치 후 해당 Package를 지울 때 sudo apt-get remove pidgin 같은 명령으로 지울 수도 있어서 보다 package 관리가 편해지는 장점이 있다. 오늘은 여기까지...

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함