우분투를 사용 하는 이 누구나 쉽게 컴파일을 배울 수 있도록 쉽게 적어 나갈 생각이며
시간 날때마다 계속 아래 순서대로 적어 볼 계획 입니다.
[list:2tzpol6i]1. [url=http://ubuntu.or.kr/viewtopic.php?f=9&t=1527:2tzpol6i][color=#4000FF:2tzpol6i]기존 패키지 컴파일 (MC)[/color:2tzpol6i][/url:2tzpol6i]
2. [url=http://ubuntu.or.kr/viewtopic.php?f=9&t=1538:2tzpol6i][color=#4000FF:2tzpol6i]다운 받은 소스 컴파일 (dh_make)[/color:2tzpol6i][/url:2tzpol6i]
3. [url=http://ubuntu.or.kr/viewtopic.php?f=9&t=1543:2tzpol6i][color=#4000FF:2tzpol6i]GPG키 (개인키)[/color:2tzpol6i][/url:2tzpol6i]
4. [url=http://ubuntu.or.kr/viewtopic.php?f=9&t=1550:2tzpol6i][color=#4000FF:2tzpol6i]다운 받은 소스 컴파일 (네이트온)[/color:2tzpol6i][/url:2tzpol6i]
5. 재미로 하는 컴파일 1 (
6. 재미로 하는 컴파일 2
7. [url=http://ubuntu.or.kr/viewtopic.php?f=9&t=4543:2tzpol6i]커널 컴파일 1[/url:2tzpol6i]
8. 커널 컴파일 2 (커널 설치 후 설정들)
9. 개인 저장소와 우분투코리아 저장소 이용하기[/list:u:2tzpol6i]
또한 이글을 쓰는 이유는
저는 컴퓨터 전공자가 아닌지라 좀 더 배우며 제가 아는 방식이 잘못 되거나
잘못 알고 있는 것을 고치고자 합입니다.
먼저 오늘은 기초적으로 자체 패키지를 다운 받아 컴파일을 해보겠습니다.
우선 컴파일러 부터 설치 해야 합니다.
그놈 터미널에서
$ sudo apt-get install build-essential (l자 끝에 첨가 : Vulpes 님 감사 )
위 명령어로 컴파일에 필요한 gcc, g++, make, dpkg-dev 등 이 설치 됩니다. (역시 편한 데비안 + 우분투)
제가 평소 무척 애용하는 쉘 파일 매니져인 MC : midnight commander 를 컴파일 해보겠습니다.
소스를 다운 받으려면 상단패널 주메뉴 시스탬/ 관리/소프트웨어 소스 에서 소스코드에 체크를 하셔야
소스를 다운 받을 수 있습니다.
그놈 터미널에서
$ mkdir com && cd com (com 디렉토리:폴더 만들고 이동)
$ apt-get source mc (mc 소스 다운로드)
보통 저장소의 기존 소스를 다운 받으면 3개의 파일을 다운 받으며 자동으로 소스 압축을 풀고 패치를 적용 합니다.
mc_4.6.1.orig.tar.gz (mc 오리지날 소스)
mc_4.6.1-8ubuntu1.diff.gz (패치파일)
mc_4.6.1-8ubuntu1.dsc (패키지 정보 및 개인키 사인 파일)
그리고 압축 풀리고 패치적용되어 있는 mc-4.6.1 디렉토리(폴더) 앞으로 저는 디렉토리라 명하겠습니다.
디렉토리는 파일 또는 디렉토리가 모여 있는 방을 말하는데
보통 요즘 폴더는 그래픽상황서 파일 모인 방을 디렉토리는 콘솔 터미널 같은 텍스트 모드에서의 방을 말할때 쓰입니다.
MC 컴파일시 필요한 패키지 설치
오늘은 처음이니 위 파일들 설명이나 복잡한 이야기는 생략 하고 딱 한가지만 말하겠습니다.
리눅스 프로그램은 컴파일 되기 위하여 다른 라이브러리를 필요로 합니다. 이를 ‘컴파일 의존 라이브러리’ 라 하는데…
우분투에선 보통 ‘패키지이름-dev.버전.deb’ 로 되어 있습니다.
다른 프로그램 소스를 참고 하고 가져와 함께 만들어 지는 것입니다.
컴파일 의존 패키지는 여러개인데 이를 일일이 찻아 설치는 매우 귀찮고 뻬먹기가 쉽습니다.
그래서 데비안+우분투에 있는 설치 명령어가 apt-get build-dep 이 있습니다.
$ sudo apt-get build-dep mc (이명령어 하나로 MC 컴파일에 필요한 패키지가 설치 됩니다.)
오늘 살펴 볼 파일은 mc-4.6.1/debian/changelog 파일 입니다.
$ cd mc-4.6.1 (이동)
$ gedit debian/changelog (편집기로 열기)
mc (1:4.6.1-8ubuntu1) hardy; urgency=low 첫번째 줄인데 4.6.1은 MC 버전을 8ubuntu1은 우분투 패키징 버전을 말합니다.
이줄에 우분투 패키징 버전을 mc (1:4.6.1-8ubuntu2) hardy; urgency=low 끝에 2로 하여 패키징 버전을 올리는 이유는
자동 업데이트를 막기 위함입니다. 같은 버전이 설치 될경우 저장소의 것으로 자동 업데이트 관리자가
업데이트를 하려고 하기 때문 입니다. 이경우 버전을 강제로 업 안되게도 할수 있으나 한단계 버전을 올리는 것도 좋은 방법입니다.
첫줄에 패키지버전을 바꾸시기 바랍니다.
그냥 컴파일 하기엔 좀 심심하니 소스 조금 고치겠습니다.
$ gedit po/ko.po
po 파일은 번역파일인데 poedit 를 이용하면 쉽게 편집 할수 있으나 오늘은 그냥 텍스트에디터로 하겠습니다.
gedit 편집/기본설정 열어 줄번호 표시 체크하면 앞에 줄번호가 나오는데
511 번줄에… " 사용자와 친근한 텍스트 편집기.\n" 가 있는데 다음줄에
" 우분투 만세.\n" 같은 문구 넣어 보시기 바랍니다.
" 는 문자열 \n 은 다음줄 개행 입니다.
컴파일
데비안+우분투의 정통적인 패키지 방식은 fakeroot 입니다.
fakeroot 는 일반 사용자가 루트권한으로 행해져야 할 일들을 가상으로 해주면서 컴파일을 해 줍니다.
$ sudo apt-get install fakeroot (fakeroot 설치)
$ fakeroot debian/rules binary ( jhlee0324님의 테스팅 : 에고 binary 빠트림)
이제 부터 환경 설정과 컴파일 그리고 패키지가 만들어 집니다.
조금 시간 걸리실 겁니다.
설치
$ cd … && ls -al
$ sudo dpkg -i mc*.deb
(방금 만들어진 deb 파일 설치 하는데… 32비트환경과 64비트 환경에 따라 이름이 다르게 만들어 지는 지라
와일드 카드이용 mc로 시작하는 .deb 파일울 설치 하라 입니다. -i 설치 , -r 제거)
확인
$ mc 실행 후 텍스트 파일에 선택 막대 위치 한후 f4키로 편집 상테에서 f9로 메뉴 호출하여 ‘이프로그램에 관하여’ 보시기 바랍니다.
MC : midnight commander 는 사용 법을 익혀 두시면 쉘에서 아주 편하게 작업을 도와 줍니다. 재추천
다음번엔 인터넷에서 다운 받은 소스를 컴파일 해보겠습니다.