강분도 - 나만의 우분투 배포판 만들기 (2011y06m25d)

20
우분투 배포판 만들기 ( 코분투를 중심으로 ...) 강분도

Upload: ubuntu-korea-community

Post on 18-Jul-2015

145 views

Category:

Software


5 download

TRANSCRIPT

Page 1: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

우분투 배포판 만들기( 코분투를 중심으로 ...)

강분도

Page 2: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

2 | 배포판 만들기

1. 가상환경과 UCK

2. UCK 사용법 & UCK 중요 명령 & UCK 가 만든 디렉의 구조

3. 환경 수정 ( 개인 환경 , 전체 환경 )1) /etc2) gconf 이용 3) /usr/share4) 설치 환경의 변경 5) 패키지

4. PPA 운영

5. 다양한 배포판의 필요성 ?

발표 순서

Page 3: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

3 | 배포판 만들기

배포만 만들기에 편한 환경을 제공 하는 것

1. 가상환경과 USB 메모리는 배포판 테스트가 용이함 .Chroot, 버추얼 박스 , Vmware 그리고 USB 메모리

2. UCK http://uck.sourceforge.netUbuntu Customization Kit

가상환경과 UCK

Page 4: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

4 | 배포판 만들기

설치 1 sudo apt-get install uck설치 2 svn export https://uck.svn.sourceforge.net/svnroot/uck/trunk/uck

기본 실행# uck-gui

※ 주의점 : 배포판 말들때 여유공간이 5 기가 이상 이어야 한다

UCK 사용법 1

Page 5: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

5 | 배포판 만들기

$./uck-gui1. 초기 환영 말2. 설치 언어 선택3. 라이브 CD 언어선택4. 부팅언어 선택5. 테스크탑 환경선택6. ISO 선택7. 만드려는 CD 이름 입력 8. 콘솔작업 할지 결정 (chroot 콘솔 )9. 우비 , 오토런 추가 삭제 여부10. ISO 풀고 CHROOT 환경 만들고 .. 등등 알아서 …11. 항목설정 ( 패키지 매니저 & 콘솔 ) 계속 진행 해 완성으로 가도 되나 여기서 멈추는 이유는 좀더 세밀한 작업을 위해 멈추며 뒤에 가서 추가 설명 ...

UCK 사용법 2

Page 6: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

6 | 배포판 만들기

SQUASHFS 란 ?

• Squashfs : 리눅스를 위한 압축 읽기 전용 파일 시스템 .

• 우분투 CD 용량 700 메가를 지키기 위해 squashfs 를 이용

하여 부팅시 압축을 풀며 라이브 및 설치 환경을 구성

( 이로 인해 라이브 부팅이 느리다 )

• http://squashfs.sourceforge.net/

Page 7: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

7 | 배포판 만들기

1. 패키지매니저 이용 하기 무엇이 뜨는가 ? ^^; 그리고 알아야 할 것은 무엇인가 ?

2. rootFS (chroot) 이용하기 아 터미널이여 ! , 터미널의 강력함이여 ? 무엇이 다른가 ?

3. 그리고 ISO 만들기

UCK 사용법 3

Page 8: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

8 | 배포판 만들기

1. 설명파일 doc 에 맨페이지와 html 제공

2. building script & remastering backend uck-gui 의 정체는 uck 스크립을 순차적으로 실행 해주는 구조 .uck-remaster-chroot-rootfsuck-remaster-pack-rootfsuck-remaster-pack-iso

UCK 중요 명령

Page 9: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

9 | 배포판 만들기

uck-remaster-chroot-rootfs

사용법 # uck-remaster-chroot-rootfs [remaster-dir] [what-to-execute]

예 1)$ sudo ./uck-remaster-chroot-rootfs /home/bundo/tmp

예 2)$ sudo uck-remaster-chroot-rootfs /home/bundo/tmp synaptic

예 3)$ sudo uck-remaster-chroot-rootfs /home/bundo/tmp software-properties-gtk

UCK 중요 명령 -1

Page 10: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

10 | 배포판 만들기

uck-remaster-pack-rootfs루트 가상시스템을 ISO 디렉의 Squashfs 이미지 파일로 만들어 준다 . ~/tmp/remaster-iso/casper/filesystem.squashfs

사용법 # uck-remaster-pack-rootfs [remaster-dir] [-c|--clean-desktop-manifest]

예 )$ sudo ./uck-remaster-pack-rootfs /home/bundo

ISO 디렉은 무엇과 같은 구조인가 ?

UCK 중요 명령 -2

Page 11: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

11 | 배포판 만들기

uck-remaster-pack-iso ISO 디렉의 환경으로 ISO 이미지를 만든다 .

사용법 # uck-remaster-pack-iso [iso-file-name.iso] [remaster-dir] [-g|--generate-md5] [-a|--arch=x86,x86_64,ia64,ppc] [-d|--description=CD_description]

예 )$ sudo ./uck-remaster-pack-iso kangbuntu-11.04-i386.iso /home/bundo -g

ISO 파일이 만들어 지는 곳 ?~/tmp/remaster-new-files

UCK 중요 명령 -3

Page 12: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

12 | 배포판 만들기

customization-scripts ( 커스텀 환경과 빌드 로그등 ) remaster-apt-cache ( 패키지 설치시 캐시 디렉 )remaster-iso (iso 풀어 놓은 디렉 )remaster-root (root FS 환경 )remaster-root-home (root 작업에 따른 환경 파일 )remaster-new-files ( 새 iso 만들어 지는 곳 )

customization-scripts 디렉터리 파일 중 desktop_types , language_packs, livecd_locales , run_manual_customizations , desktop_type, environment, iso_description, livecd_locale, remove_win32_files 등에 uck-gui 에서 정한 것들이 기록 되어 있는데 그중 iso_description 파일 내용은 라이브 CD 의 네임을 보여준다 .

UCK 가 만든 TMP 의 디렉터리들

Page 13: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

13 | 배포판 만들기

/etc 에서의 변경은 전역 설정이 변경된다기본 글꼴 , 키보드 종류 , 프로그램의 환경 등을 변경 가능 하며 /etc/skel 을 이용 만들어 지는 사용자 환경도 변경 할수 있다 .바탕화면에 프로그램 또는 문서 바로가기 등을 추가하려면 /etc/skel/Desktop 에 심볼릭 링크 또는 ?????.desktop 파일을 만들어 준다 .

예 ) 리듬박스 한글 제목명 문제/etc/skel/.profile 에 아래 내용 추가export GST_ICY_TAG_ENCODING=cp949

위 작업이 이루어 져야 할 환경은 ?심볼릭 링크의 주의 점

※ /etc 의 각 프로그램에 따른 환경 설정 파일의 이해가 필요

환경 수정 1) /etc

Page 14: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

14 | 배포판 만들기

● Gconf-editor ?

● 보통 GUI 환경의 설정 파일은 xml 로 만들어져 있다 .Gconf 를 이용하여 환경설정을 뻬낸 후 다시 rootFS (chroot) 환경에서 전체 설정에 적용되게 넣어 준다 .

● 예 ) 동영상플레이어 ( 토템 ) 의 자막문제 UHC1) gconftool-2 --dump /apps/totem > ~/totem.xml ( 설정 뻬내기 )2) rootFS 환경으로 복사 후 3) gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --load

/totem.xml ( 넣기 )

● 위 같은 방법으로 시간대 , gedit 의 cp949 파일 읽어 오는 문제 등 GUI 프로그램의 환경을 미리 변경할 수 있다 .

환경 수정 2) gconf

Page 15: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

15 | 배포판 만들기

● /usr/share 의 여러 프로그램 파일들의 변경으로 다른 환경을 제공할 수 있다 .

● 번역파일들 (번역파일 교체 )/usr/share/locale/ko/LC_MESSAGES/usr/share/locale-langpack/ko/LC_MESSAGES

● 배경그림/usr/share/backgrounds

● 환경 파일들예 ) /usr/share/diffuse/syntax , /usr/share/vim/addons/syntax

● 더 좋은 방법은 ?

환경 수정 3) /usr/share

Page 16: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

16 | 배포판 만들기

● remaster-iso/preseed/ubuntu.seed 이용 저장소 변경d-i apt-setup/use_mirror boolean trued-i mirror/http/mirror string ftp.daum.netd-i mirror/http/hostname string ftp.daum.net

● gfxboot 를 수정 재컴파일 하여 부트 선택 화면과 기본 언어의 변경sudo apt-get build-dep gfxboot (컴파일 의존 패키지의 설치 )apt-get source gfxboot-theme-ubuntu (소스 다운 )cd gfxboot-theme-ubuntu*/ ( 이동 )make DEFAULT_LANG=ko ( 한국어 기본으로 컴파일 )sudo cp -af boot/* ~/tmp/remaster-iso/isolinux/ (복사 )

● /etc/localtime 과 timezone 파일의 GMT+9 와 서울로 교체

● Gconf 이용하여 GUI 시간대 변경gconftool-2 --dump /schemas/apps/clock_applet/prefs > ~/timecities.xml

● 부트스플래쉬의 변경 (plymouth) , PPA 저장소 추가

환경 수정 4) 설치 환경의 변경

Page 17: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

17 | 배포판 만들기

● 패키지 만들기참고 링크 : 1) 컴파일을 해보자 http://www.ubuntu.or.kr/viewtopic.php?t=15272) deb 패키징 하우투 문서 : http://ubuntu.or.kr/viewtopic.php?f=6&t=14053) 소스 패키징과 PPA 에 업로드하기 : http://www.ubuntu.or.kr/viewtopic.php?f=9&t=11541

● 환경이 수정된 새 패키지 제작시 주의점은 debian/changelog 파일에서 버전을 올려 주어야 기존 패키지가 새로 덥으며 재설치 되지 않는데 보통 기존 버전은 그대로 하고 끝에 추가하는 식으로 버전을 올려 주는게 적장하다 .예 ) gimp (2.6.11-1ubuntu6.1) 경우 gimp (2.6.11-1ubuntu6.1-01) 또는 gimp (2.6.11-1cobuntu6.1-01)

● 패키지를 만드는 이유 ?

환경 수정 5) 패키지

Page 18: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

18 | 배포판 만들기

● PPA란 ?

자신이 만든 패키지를 launchpad에 올려서 배포해 보기코분투 런치패드와 PPA https://launchpad.net/~cobuntu

● PPA 의 장점PPA 서로간에 패키지 공유 가능 ( 모으기 !)새 배포판용 패키지 자동 만들기 가능 (쉽게 업데이트 )

● PPA 운영과 새 오픈 소스 프로그램 개발을 통해 우분투 MOTU 그리고 메인 개발자등이 나오길 희망합니다 .

PPA 운영

Page 19: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

19 | 배포판 만들기

● 우분투의 종류는 왜 많은가 ?

● 사용 환경에 따른 최적화 우분투의 제작1) eBuntu ( 임베디드 개발용 ) 제작 (2011년 ) 2) 수학용 프로그램 설치 분투 ? 등 사용자에게 딱 필요한 환경을 미리 제공하여 환경 구축 시간 절약 및 동일 환경 제공

● 스크립트만으로 가능한가 ?

● 버그 보고 & 패치 & 새 프로그램의 개발

다양한 배포판의 필요성 ?

Page 20: 강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)

20 | 배포판 만들기

질의 응답

• 감사합니다 .