BLOG main image
전체 (70)
글-음악 (12)
리눅스 (51)
기타 (1)
그림-사진 (6)
125382 Visitors up to today!
Today 11 hit, Yesterday 5 hit
daisy rss
tistory 티스토리 가입하기!
'컴파일'에 해당되는 글 6건
2008/09/13 08:11

4번째 컴파일을 해보자 4 (네이트온 : knateon) 입니다.

네이트온은 KDE(QT) 기반 프로그램입니다.
인트레피드 8.10부터는 저장소에 포함되어 apt-get으로 설치가 가능 할 것입니다.

knateon 설치와 컴파일은 컴파일에 필요한 의존 라이브러리만 설치 된다면
우분투에서 컴파일이 그리 어렵지는 않습니다.

우선 네이트온 프로젝트 홈피는 http://kldp.net/projects/nateon 이며
다운로드는 http://kldp.net/frs/?group_id=1143 인데 source 는 nateon-1.0-20080814 (리비전 183) 을 받으셔도 되지만
svn 을 이용하면 더욱 쉽고 편하게 최신 상태로 받을 수가 있습니다.
참고 : http://kldp.net/scm/?group_id=1143

subversion 설치 와 소스 다운
$ sudo apt-get install subversion
$ svn checkout   svn://kldp.net/svnroot/nateon  (소스를 프로젝트 저장소에서 직접 다운로드)

다운 끝에 체크아웃된 리비전 186이라고 나오는 군요
이 경우 네이트온 소스는 3가지가 종류로 다운 됩니다. $ cd nateon && ls
* trunk : 계속해서 수정 중인 최신 소스가 있는 곳
* tags : 외부로 릴리즈 된 안정 버전들이 존재하는 곳
* branches : "bug fix"용 버전, "테스트용 코드" 혹은 "기능추가 코드"들이 있는 곳
.
머 대충 위와 같이 볼 수 있는데 우리는 무엇을 컴파일 해야 할까요?
tags 겠죠?
아래 지우고 디렉토리이름 바꾸는 건 '그놈노틸러스'에서 해도 됩니다.
$ rm -rf branches trunk
$ mv tags/1.0.175 nateon-1.0-186 (tag/1.0.175디렉을 nateon-1.0-186 으로 변경 했습니다.)
위와같이 nateon-1.0-186 로 디렉을 만들면 앞에는 프로그램네임 다음 숫자는 버전 그다음 숫자는 리비전 을 나타내며
dh_make 가 인식하여 파일 생성이 됩니다.

$ rm -rf tags
$ cd nateon-1.0-186

dh_make
$ dh_make -e  bundo@bundo.biz (이제 gpg키도 만들었으니 자신의 이메일로 해보십시요)
s (singie) 선택 그리고 엔터
어떤 메세지가 나오나요?
Could not find nateon-1.0_186.orig.tar.gz
Either specify an alternate file to use with -f,
or add --createorig to create one.
네 그냥은 안되고 옵션을 더 주라고 하는 군요
-f 는 소스 압축 파일이 있어야 하니
-- --createorig 인 -r 을 주고 하겠습니다.
$ dh_make -e bundo@bundo.biz -r
네 잘 만들어 지는 군요 위와 같이 -r (--createorig) 옵션을 주면 nateon-1.0-186.orig 디렉이 만들어 지며
본 디렉에는 debian과 파일들이 생성 됩니다.

리드미 파일과 인스텔파일 ( README & INSTALL)

프로그램 설치와 컴파일 시엔 리드미파일과 인스텔 파일을 읽어 보시기 바랍니다.
$ gedit README (흠 그렇군)
제가 README 를 다칠까요? 여러분은 이글 보고 복사해서 명령어 라인에 붙여도 되지만 전 그냥 bash 쉘의 자동완성기능을 이용 합니다.
gedit 치고 R치고 탭키로 ^^ 한번 해보세요. 위에 명령들도 마찬가지랍니다. 잘 모르시는 분들은 연습해보세요!
$ gedit INSTALL
요구사항을 보면
* 요구사항 (kubuntu 기준)
- cmake
- kdelibs4-dev (3.5.7-0ubuntu1)
- libsqlite3-dev (3.3.13-0ubuntu)
- xorg-dev (7.2-0ubuntu11)
- libarts1-dev (1.5.7-0ubuntu1)
- libartsc0 (1.5.7-0ubuntu1)
- libartsc0-dev (1.5.7-0ubuntu1)
- kdebase

와 같이 나오는데 이게 컴파일시 의존 패키지입니다.
$ fakeroot debian/rules binary 해보십시오. 컴파일 의존 패키지로 때문에 컴파일이 멈출 것입니다.
의존 패키지 설치 $ sudo apt-get install cmake kdelibs4-dev libsqlite3-dev xorg-dev libarts1-dev libartsc0 libartsc0-dev kdebase
위와 같이 한 줄로 의존패키지를 써주면 동시에 전부 설치 안 된 것들은 몽땅 설치가 됩니다.

이런 후에 fakeroot debian/rules binary 하여 패키지 만들고 설치하면 본인은 잘 쓸수 있습니다.
그러나 다른이에게 주면 다른 이는 설치 해도 실행이 안됩니다.
이유는 뭘까요? 네 설치 시에 의존 패키지가 설치되지 않기 때문입니다.

/debian 에 control 파일의 편집
$ gedit debian/control
Section: unknown 을 Section: net 로
Build-Depends: debhelper (>= 5) 를
Build-Depends: debhelper (>= 5), cmake, kdelibs4-dev, libsqlite3-dev, xorg-dev, libarts1-dev, libartsc0, libartsc0-dev 와 같이 변경한 후
INSTALL 문서에 근거하여 버전을 넣어 보겠습니다.
kdelibs4-dev (3.5.7-0ubuntu1) 이라고 했으니  kdelibs4-dev (>=3.5.7), 이렇게 변경합니다. 3.5.7 과 같거나 그 이상 이라고 적은 것입니다.
그렇게 해서
Build-Depends: debhelper (>= 5), cmake, kdelibs4-dev  (>=3.5.7), libsqlite3-dev (>=3.3.13), xorg-dev (>=7.2), libarts1-dev (>=1.5.7), libartsc0 (>=1.5.7), libartsc0-dev (>=1.5.7)
가 되는 군요 흐 길다... 사실 다 적을 필요는 없는데 Build-Depend가 이런 거다 하고 알리려고요 ^^

위와 같이 Build-Depends를 명시 해주면
Depends: ${shlibs:Depends}, ${misc:Depends} 이 줄이 위 컴파일 의존 라이브러리를 참고 하여 INFO 파일을 만들고
패키지 설치시에 의존 파일들이 같이 설치됩니다.
INFO 파일 내용 스샷 (만들어진 DEB 파일을 MC 로 엔터 쳐서 그 안에 INFO 파일을 F4로 열기 한 상태의 일부분 입니다.)
[##_1C|ik8.png|width="600" height="94" alt="사용자 삽입 이미지"|_##]

컴파일
$ fakeroot debian/rules binary 로 컴파일 해보십시오
어때요 컴파일되나요?
"make[1]: *** 타겟이 지정되지 않았고 메이크파일이 없습니다. 멈춤." 이라고 나오죠?
왜 그럴까요?
다시 INSTALL 문서를 볼까요! 문서 중간 컴파일에 보면
$ cmake -DCMAKE_INSTALL_PREFIX=[설치할 디렉토리] 있군요
타겟으르 지정해야 쏘는 모양입니다.
그럼 음
$ cmake -DCMAKE_INSTALL_PREFIX=/usr 로 하고 명령어 내려 보세요 그런 후 다시 fakeroot 를 ....
잘되죠 ^^

설치
$ cd .. && sudo dpkg -i nate*.deb
따끈따끈한 네이트온이 설치되겠군요!

이번 글에 중요한 건
    1. svn 에서 소스 다운 법
    2. dh_make 옵션
    3. control 파일에서 의존 패키지 편집 입니다.

추가 참고 링크 : http://www.debian.org/doc/manuals/maint ... #s-control
진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크
2008/09/13 08:11 2008/09/13 08:11
2008/09/13 08:05

세번째 컴파일을 해보자 3 (GPG키 : 개인키) 입니다.

개인 인증키 만들기

지금 우리가 만드는 개인인증키는 패키지 만들 시에 서명을 위해 하는 것이기에
메일에서의 사용은 생략하겠습니다.
우리가 만들어 사용하게 될 PGP 는 GNU OPENPGP 입니다.

터미널에서 하는 만드는 방법은 제가 전에 자료실에 올린 문서를
참고 하여 만들면 되고 ( deb 패키징 하우투 문서 : viewtopic.php?f=6&t=1405 )

저는 이번에 GUI ('그놈환경'의 우분투)에서 만드는 법을 이야기하겠습니다.
암호와 암호와 키(seahorse)는 보조 프로그램에 있는데 여러분도 거기 있나요?
전 환경을 많이 고쳐서... 아무튼 실행 하시면 아래와 같은 프로그램이 나옵니다.
[##_1C|jk3.png|width="600" height="396" alt="사용자 삽입 이미지"|_##]
새로 키를 만들기 위해서는 메뉴에 키 / 새키만들기 를 클릭 PGP키를 선택 계속 -- > 전체이름(영어),
전자메일주소를 적습니다. (고급키 옵션에서 좀 더 디테일한 변경이 가능 하나 지금은 건딜지 마시기 바랍니다.)
확인을 누르면 암호를 두 번 입력하고 키를 만들게 됩니다.
터미널에서 하는 거 보다 무척 편하죠
그리고 새로 만들어진 키를 더블클릭하여 자세한 정보를 보면 키에 대한 정보를 한눈에 볼 수 있습니다.
[##_1C|jk4.png|width="600" height="373" alt="사용자 삽입 이미지"|_##]키아이디 , 핑커프린터 를 마우스 드래그로 복사하여 쓸 수 있습니다.
터미널에서 명령어로 확인 안해도 되고...

키 동기화 및 공개

다시 만들어진 키를 오른 마우스 눌러 키동기회및 공개 누르고 키서버 선택
'추가'에서 사용자 설정 호스트에 hkp://keyserver.ubuntu.com:11371 를 입력 하십시요
그리고 키를 공개할 곳으로 방금 입력한 곳을 선택하시기 바랍니다. 그런 후 동기화 를 누르면 우분투컴의 키서버에 업됩니다.
 [##_1L|ik5.png|width="410" height="163" alt="사용자 삽입 이미지"|_##]











키등록 하기 (Ubuntero)


우선 먼저 우분투 컴의 런치패드에 회원 가입을 해야 합니다.
https://launchpad.net/ 오른쪽상단
[##_1L|jk1.png|width="156" height="92" alt="사용자 삽입 이미지"|_##]
 




회원 가입 후 로그인이 되면 오른쪽 상단 Change details을 눌러 타임존을 Asia/Seoul로 정하시고 Save Change 눌러 저장합니다.
캐릭터 이미지를 변경하고 싶은 분은 192픽셀 이하로 만들어 변경도 해보시기 바랍니다.

개인 정보에 보면 Ubuntero: No 인 상태 입니다.
[##_1L|hk3.png|width="125" height="29" alt="사용자 삽입 이미지"|_##] 

옆의 느낌표 아이콘을 누르고 나온 페이지에서 1. Register an OpenPGP key. 을 누르면...
핑커프린트(Fingerprint) 입력란에 위에서 만든 키를 더블 클릭 하여 자세한 정보에서 핑커프린트를 복사하여 붙여 넣기 하시고
import key 를 누르시기 바랍니다.
[##_1L|jk2.png|width="481" height="132" alt="사용자 삽입 이미지"|_##]







(주의 : 위줄 부터 한 줄 복사 후 붙이기 다음 줄 복사 붙이기 하세요)

성공 한 메세지
[##_1C|jk5.png|width="462" height="102" alt="사용자 삽입 이미지"|_##]
보통 여러분이 사용하는 메일이 openPGP 를 지원 안 할거라 보고 복사하여 인증 하는 방식으로 설명하겠습니다.
자신의 이메일을 열어 (제목: Launchpad: Confirm your OpenPGP Key) 메일 내용 중 pgp 부분을 복사 하여
[##_1C|ik6.png|width="392" height="463" alt="사용자 삽입 이미지"|_##]
바탕에 새 파일을 만들어 붙여 넣기 / 파일이름을 pgp로 저장 후
터미널 열어 $ gpg --decrypt pgp 엔터하고 비밀번호를 입력하면 키를 확인증명용 링크가 보입니다.
[##_1C|ik7.png|width="498" height="95" alt="사용자 삽입 이미지"|_##] 
이 링크를 복사하여 웹브라우저로 보고 Continue 누르면 일단 키등록은 되었으며

다시 런치패드 개인 화면에서 Ubuntero 의 느낌표 누른 후
2번 Download the current Code of Conduct. 눌러 다운 로드 후 3번 Sign it!  누르고
UbuntuCodeOfConduct-1.0.1.txt 다운 받은 곳에 터미널 열어 설명대로
$ gpg --clearsign UbuntuCodeOfConduct-1.0.1.txt 하면 UbuntuCodeOfConduct-1.0.1.txt.asc. 가 만들어지
는데..

그안에.. 내용을 복사하여 Signed Code 박스에 붙여 넣고 continue 누르면 우분테로 인증이 끝납니다.


우분테로 되신 김에 우분투코리아 팀에 등록도 하시고
      ( 우분투코리아팀위키 : https://wiki.ubuntu.com/KoreanTeam )

개인 위키도 간단히 하나 편집해 보시기 바랍니다.
       (강분도 우분투 소위키 : https://wiki.ubuntu.com/bundo )



진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크
2008/09/13 08:05 2008/09/13 08:05
2008/09/13 07:57

두번째 컴파일을 해보자 2 (소스다운 컴파일:dh_make) 입니다.

nmap은 네트워크 검사 & 스케닝 툴로 아주 유명한 프로그램입니다.
물론 우분투도 패키지로 가지고 있기에 apt-get 으로 설치 가능 합니다.

NMAP은 port Scanning 툴로서 호스트나 네트워크를 스캐닝 할 때,아주 유용한 시스템 보안툴인 동시에,
해커에게는 강력한 해킹툴로 사용될 수 있습니다. 참고 : http://coffeenix.net/doc/security/nmap.html


ubuntu nmap
Ubuntu Package nmap (net) =======
Package Versions: 4.03-3 (dapper) / 4.20-1~dapper1 (dapper-backports) / 4.20-1 (feisty) / 4.20-2 (gutsy) / 4.53-1~gutsy1 (gutsy-backports) / 4.53-3 (hardy) / 4.62-1ubuntu1 (intrepid)
Description: The Network Mapper

그런데 nmap 의 최신 버전은 4.75 입니다. 최신 버전을 다운 받아 패키지로 만들어 볼까요
이번 글에서 핵심은 dh_make 입니다.
$ sudo apt-get install dh-make
※ 언더빠 아니고 패키지는 하이픈 입니다. - (jhlee0324님 질문에 삽입 함)

다운로드 : http://nmap.org/download.html
보통 소스 다운시에 다운 링크주소를 오른마우스로 속성 복사후 wget 를 이용 하여 받아 보시기 바랍니다.
$ mkdir nmap && cd nmap
$ wget http://download.insecure.org/nmap/dist/ ... 75.tar.bz2 (wget 이 없을시엔 설치 요망 sudo spt-get install wget )
$ tar xvjf nmap-4.75.tar.bz2 (보통 tgz, tar.gz 은 xvzf 로 bz2 는 xvjf 로 풉니다 . z 와 j )
$ cd nmap-4.75

$ dh_make -r (원본 소스파일 복사 하며 debian 디렉에 필요 파일 생성)
엔터치시면 dh_make는 만들고자 하는 패키지가 어떤 종류인지 물어 보는데 nmap 는 한개의 이진 패키지이므로 s (싱글)을 치고 내용 보고 엔터 치시기 바랍니다.
dh_make 에 대한 자세한 참고 링크 https://help.ubuntu.com/ubuntu/packagin ... elper.html
dh_make 주의점은 한번 실행 한 후엔 또하면 패키지가 온전하게 만들어 질수 없다는 겁니다. 한번 만 실행 하십시요

dh_make 로 만들어진 파일을 좀 보겠습니다.
$ gedit debian/changelog
nmap (4.75-1) unstable; urgency=low

  * Initial release (Closes: #nnnn)  <nnnn is the bug number of your ITP>

-- bundo <bundo@maria-9>  Tue, 09 Sep 2008 17:19:10 +0900

위와 같은데 아래 처럼 수정 했습니다.
nmap (4.75-1) hardy; urgency=low

  * Initial release

-- bundo <bundo@bundo.biz>  Tue, 09 Sep 2008 17:19:10 +0900


처음줄에 hardy 패키징 임을 명시 하고 중간 설명 부분인데 좀 지우고 아래 이메일 수정 했습니다. 그옆은 생성 시간 입니다. +9는 UTC +9시간 (한국)
이메일은 처음 dh_make 할때에 dh_make -e bundo@bundo.biz -r 하여 미리 올바른 이메일 입력이 가능 합니다.
위 changelog 파일 참고 주소 : http://www.debian.org/doc/manuals/maint ... -changelog

파일 하나 더 보겠습니다.
$ gedit debian/control

Source: nmap
Section: unknown
Priority: extra
Maintainer: bundo <bundo@maria-9>
Build-Depends: debhelper (>= 5), autotools-dev
Standards-Version: 3.7.2

Package: nmap
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: <insert up to 60 chars description>
<insert long description, indented with spaces>

위와 같은데.. Section: net 로 하고 이메일 수정 하고.. Build-Depends 와 Depend를 보시기 바랍니다.
Build-Depends 는 컴파일시 의존 패키지를 Depend는 설치시 에 같이 설치되야 할 의존 패키지를 명시 하는 곳 입니다.
그럼 nmap의 빌드와 의존 패키지는 무엇 일까요?
기존 패키지 소스를 다운 받아 control 파일을 열어 보십시요

Build-Depends: debhelper (>=5), libgtk2.0-dev, autoconf, flex, bison, libssl-dev, libpcap0.8-dev, libpcre3-dev, binutils-dev, python (>=2.3.5-7), python-all-dev, python-central

Depends: ${shlibs:Depends} 설치시 의존 패지키는 없고 컴파일시 의존 패키지는 많군요
Build-Depends 를 위와 같이 고치시기 바랍니다.
그리고 한김에 Description: 이하 줄도 복사하여 어떤 패키지 인지 명시 하여 보시기 바랍니다. IPAQ. 까지
위 control 파일 참고 주소 : http://www.debian.org/doc/manuals/maint ... eq.ko.html

※ 위수정 없이 컴파일 해도 컴파일은 됩니다. 단 저장소에 업하여 다른이가 사용 가능한 패키지가 되려면
  제대로 두 파일 수정과 다음에 쓸 GPG키 사인이 있어야 합니다.

컴파일과 설치

저번에 했던 changelog에서 버전업은 왜 필요 없을까요?
이번에 하는 nmap 버전이 윌등 높기 때문입니다. ^^

$ fakeroot debian/rules binary
컴파일시 오류나는 분은 $ dpkg-buildpackage -rfakeroot 로 설치 안된 컴파일 의존 패키지 있나 확인 바랍니다.
$ cd .. && sudo dpkg -i nmap*.deb

최신 버전 nmap 잘 활용 해 보시기 바랍니다. (타 네트웍 포트 스캔 하지는 마세요!)
$ namp -A bundo.biz
80포트에 무엇이 설치 되어 있나요? WIndows가 운영체제 라는데요? 사실 리눅데탑이며 속임수 입니다.
본인 확인은 nmap localhost 또는 nmap -A localhsot

다음엔 업스트립 패키지에 필요한 GPG 키 만들기와 인증을 해보겠습니다.
진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크
2008/09/13 07:57 2008/09/13 07:57
2008/09/13 07:53
우분투 포럼에 포스팅 한 것을 옮김니다.

우분투를 사용 하는 이 누구나 쉽게 컴파일을 배울 수 있도록 쉽게 적어 나갈 생각이며
시간 날때마다 계속 아래 순서대로 적어 볼 계획 입니다.

또한 이글을 쓰는 이유는
저는 컴퓨터 전공자가 아닌지라 좀 더 배우며 제가 아는 방식이 잘못 되거나
잘못 알고 있는 것을 고치고자 함 입니다.


먼저 오늘은 기초적으로 자체 패키지를 다운 받아 컴파일을 해보겠습니다.

우선 컴파일러 부터 설치 해야 합니다.
그놈 터미널에서
 $ sudo apt-get install build-essential    
위 명령어로 컴파일에 필요한 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
이제 부터 환경 설정과 컴파일 그리고 패키지가 만들어 집니다.

조금 시간 걸리실 겁니다.

설치
 $ cd .. && ls -al
 $ sudo dpkg -i mc*.deb
(방금 만들어진 deb 파일 설치 하는데.. 32비트환경과 64비트 환경에 따라 이름이 다르게 만들어 지는 지라
와일드 카드이용 mc로 시작하는 .deb 파일울 설치 하라 입니다. -i 설치 , -r 제거)

확인
$ mc 실행 후 텍스트 파일에 선택 막대 위치 한후 f4키로 편집 상테에서 f9로 메뉴 호출하여 '이프로그램에 관하여' 보시기 바랍니다.
MC : midnight commander 는 사용 법을 익혀 두시면 쉘에서 아주 편하게 작업을 도와 줍니다. 재추천

다음번엔 인터넷에서 다운 받은 소스를 컴파일 해보겠습니다.

진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크
2008/09/13 07:53 2008/09/13 07:53
2008/02/23 02:03
밤에 영화 한편씩 보는데..  Hardy 에서도 계속  Mplyaer을 사용해 왔다. Mpalyer는 사용할수록 매력적이다.
단하나 본지점 기억 못하는거 뻬고.. 이때문에 SMPLayer 로 갈까도 생각했으나 SM은 설치 후 사용 해보니 내취향은 아닌지라... 이름부터 영...  UI 단순한거 좋아하고... 
맥테마도 싫어 하는데... 엠플레이어만 전부터 맥테마다.
[##_1C|gk130000000003.png|width="430" height="104" alt="사용자 삽입 이미지"|_##]
근데 얼마전부터 유독 오른쪽 스피커에서 소리가 높으면 지찍 잡음이 자주 나길래.. 해결해 봐야지 하고 생각해 두다가 이에 대해 테스트를 오늘 오전에 스피커를 바꿔 테스트 해보니 그래도 역시 잡음이 나고
(스피커 좀 6년됬다 브리츠 머시기드라...)

그러다 프로그램에 의심이 갔다.  시노삐님 패키지.(시노삐님의 Mplyaer가 Compiz-XV, 한글패치등 좋은데...)

우선 시노삐님 mplayer인 mplayer+24bit_1.0~rc2-sinovino1~compiz~xv를 지우고  Hardy용 패키지인  mplayer_1.0~rc2-0ubuntu8을 설치 테스트 하니 어제 본 테미네이터 사라코너연대기 5편이 잡음 없이 잘나오고
그래도 혹시 하고 이번에는 시냅틱 소스 바꾸고 시노삐님 패키지 재설치 (잡음이 나고...)

그래서 한글화와 잡음 제거 두가지를 다 가지기로 했다.

시노삐님께 한글화에 대해 물어 보고 (Mplayer의 한글화는 mo 방식이 아닌 헤더방식으로...)
시노삐님 소스 다운 분석 후 (한글지원으로 컴파일 옵션 주면 되는군 --language=ko)
그리고 컴피즈 패치를 만든 사꾸라기님에게 좀 물어 본것이..  컴피즈 엠플레이어 XV패치가 openGL로 영화를 보는 내가 필요한가? (역시 필요 없을거 같고...)
XV패치는 제끼고 ... 한글화만 하기로 결정!

 본인 생각 : openGL로 엠에서 영화 볼때의 장점은 자막이 아래 나온다는 것이다.
                엑스피 시절 KMPLAYER 에서도 필기체로 자막은 아래 나오게 본 습성이 그대로... 리눅스에서도...
[##_1C|gk130000000002.png|width="570" height="456" alt="사용자 삽입 이미지"|_##]

자 이제부터 컴파일 이다.

참고 : http://www.debian.org/doc/manuals/maint-guide/index.ko.html#contents

1. 소스 받기
   받기 전 난 꼭 디렉토리 만들고 작업한다 나중 지우기 좋게...
   $ mkdir mplayer && cd mplayer
   $ apt-get source mplayer 이거 sudo 안해도 다운 된다.
    
2. 컴파일 의존 패키지 받기
   $ sudo apt-get build-dep mplayer
   이점이 데비안 계열의 장점이다.   와 의존 패키지 많이 깔리네..  

3.  패치   
    $ zcat mplayer_1.0~rc2-0ubuntu8.diff.gz| patch -p0

   1번째 방식 : 난 그동안 압축 풀고, 패치로 두번 명령 쳤는데..  zcat를 가르쳐준 시노삐님께 감사
       zcat 파일이름.diff.gz| patch -p0
   
   2) 하긴 패키지 소스 받은거니 압축풀어 rules 디렉에 넣어도 되는 걸로 알고 있다.
   
$ gzip -d mplayer_1.0~rc2-0ubuntu8.diff.gz
    $ mv mplayer_1.0~rc2-0ubuntu8.diff mplayer-1.0~rc2/debian/rules

    3) 소스가 설치 되면서 패치파일 또한 풀리며 적용이 되므로 따로 패치가 필요 없다.
        사꾸라기님이 가르쳐줌 ^.^&  더스트님께 죄송

4. /mplayer-1.0~rc2/debian/rules 파일수정 (메뉴 한글화)
   $ vi mplayer-1.0~rc2/debian/rules
   32줄 CONFIGURE_MISC 끝 부분에 --language=ko 추가.
   아 그리고 하나 더있다.
   25줄에   --enable-runtime-cpudetection  을  --disable-runtime-cpudetection 로 (영상 재생력이 좋아짐)

추가 : 패키지 고정을 안하기 위해서 .. /debian/changelog 의 내용을 고쳐 준다.
        <sakuragi>  mplayer-nogui_1.0~rc2-0ubuntu8 이면 업데이트 알림이 뜰 테니..
                          mplayer-nogui_1.0~rc2-0ubuntu9 로 한다든지..
                          mplayer-nogui_1.0~rc2-0ubuntu8+어쩌구..
                          이런식으로..  역시 사꾸라기님이 가르쳐줌 ^.^&


5. 컴파일 리빌드
 컴파일 명령어는 소스가 풀린 디렉트리인 즉 mplayer-1.0~rc2 에서 해야 한다
 아니면 경로 더 치든가!
  $ cd mplayer-1.0~rc2
  $ sudo debian/rules binary  또는 $ dpkg-buildpackage -rfakeroot
 
   $ fakeroot debian/rules binary  헤즈님이 말한 정석 (2008년4월25일)
  시간 좀 걸린다.


6. 설치
     deb 파일은 상위디렉토리에 생긴다.
      mencoder_1.0~rc2-0ubuntu8_i386.deb   
      mplayer-nogui_1.0~rc2-0ubuntu8_i386.deb
      mplayer_1.0~rc2-0ubuntu8_i386.deb
      mplayer-doc_1.0~rc2-0ubuntu8_all.deb 
   4개나 생기네 .. 그중 두개만 설치
  $ cd ..
  & sudo dpkg -i mplayer_1.0~rc2-0ubuntu8_i386.deb mplayer-doc_1.0~rc2-0ubuntu8_all.deb

7. 확인
소리 : 울집에 놀러 오면 들려줌!  잡음 안난다!.
         14년된 전축도 연결해두어 키면 리눅에서 6채널도 가능하니 소리는 들을만 하다.

메뉴 & 컴피즈
[##_1C|ek130000000000.png|width="579" height="313" alt="사용자 삽입 이미지"|_##]이상무

이제 끝인가 아니다 아까 설치한 컴파일시 의존패키지  지우고 시넵틱서 일단 mplayer 업데이트 막아야한다.

7. 컴파일 의존 패키지 제거 & 엠플레이어 고정(HOLD)
  $ sudo aptitude markauto $(apt-cache showsrc mplayer | grep Build-Depends: | sed -e 's/Build-Depends:\|,\|([^)]*)//g')
   한줄에 다 안나오는데 이게 내가 오늘 말하고자 하는 핵심이다.
   컴파일 후 컴파일 의존 패키지를 어찌 지우는지... 난 한 깔끔 하는 지라!
aptitude markauto $(apt-cache showsrc YOUR_APP_NAME | grep Build-Depends: | sed -e 's/Build-Depends:\|,\|([^)]*)//g')

다음  패키지 고정은  여기  참조   ^.^&  또는 패키지 네임 변경시엔 필요 없음.(/debian/changelog)

앞으론 Hardy에서 컴파일은 하드하게 목요(hardy)일  만 할까나? 아니면 그냥 영문 쓰던가..!

진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크
2008/02/23 02:03 2008/02/23 02:03
2007/12/03 06:43
우분투 차기버전 (Hardy Heron -8.04 알파1) 두번째 이야기- 나비컴파일
                                                   ※ 심심해서 입력기를 바꾸어 보다.

알파버전이라 그런지 부팅 시키자 마자 (가상이지만)  하루 만에 업데이트가  13개나 떳다..
                               ☞  페도라 최신 버전처럼 베타라 업데이트 자주 많이 하는군.
[##_1C|ek010000000011.png|width="368" height="176" alt="사용자 삽입 이미지"|_##]
무엇을 해볼가 생각하다. scim 이 0.3 버전부터 특수문자 입력이 다른지라 한자입력은 바로 나와주어 편하나
                                                                          참고 :이런 ... SCIM
특수문자가 한글자음 치고 한자키로 부르기가 안되는 관계로 nabi 0.19 최신 버전을 설치 해보기로 했다.

svn 설치하고 직접 개발버전으로 최신 다운 로드
$sudo apt-get install svn
다운 로드
$svn checkout svn://kldp.net/svnroot/nabi
                  으악 모든 버전이 다운되네 (그러나 금새 다운로드 되는군)
그리고 나서 0.19 디렉으로 이동 후
나비 컴파일에 필요한 패키지 설치
$sudo apt-get build-dep nabi  
이점이 데비안 계열의 큰장점이다. 컴파일시 필요한 패키지를 설치 하려면  ...
    #apt-get build-dep package 명령으로 의존 패키지를 한방에 설치 해준다
    참고 : http://www.debian.org/doc/manuals/apt-howto/ch-sourcehandling.ko.html#s-build-dep

메이크파일 만들기 위해 automake 설치
$sudo apt-get install automake
autoconf 도 함께 설치 된다.
$ ./autogen.sh

환경 설정
$ ./configure --prefix=/usr

컴파일
# make

나비 제거시에 편하게 바이너리 패키지(deb) 파일로 만듬 (checkinstall 이용)
$sudo apt-get install checkinstall
$sudo checkinstall
[##_1C|gk010000000009.png|width="471" height="182" alt="사용자 삽입 이미지"|_##]
설치
$sudo dpkg -i nabi*.deb

$im-switch -s nabi 명령으로 xim 을 나비로 선택, 재 로긴 후 나비 상태에서 한글입력 실험을 해보았다.
[##_1L|gk010000000010.png|width="207" height="339" alt="사용자 삽입 이미지"|_##]터미널 , 일반 에디터 등에서 아무 이상없이 잘 입력 되었으며 특수문자도 한글자음을 이용 잘 입력 되었다.

오픈오피스에서 끝글자 잡아 먹기도 없다..
나비가 앞으로 한글입력기 대안
이군...
[##_1R|ek010000000010.png|width="275" height="51" alt="사용자 삽입 이미지"|_##]



역시 우분투 7.10 에서 오픈오피스 일부 한글 글꼴 사용불가 버그는 오픈오피스 버그,   끝글자 잡아먹는 버그는 입력기 버그 라는 결론


전체적으로 두서없는 이야기지만
아주 쉬운 컴파일 방법을 배우시기 바라며...


진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크
2007/12/03 06:43 2007/12/03 06:43
prev"" #1 next