SlideShare a Scribd company logo
1 of 25
Download to read offline
우분투 개발환경과
커스터 마이징 방법
강분도
제 12 회 KELP 세미나
2 | 배포판 만들기
1. 우분투 활동
2. 우분투 개발환경
3. 우분투 배포판 커스터 마이징
1) 가상환경과 UCK
2) UCK 사용법 & UCK 중요 명령 & UCK 가 만든 디렉의 구조
3) 환경 수정 ( 개인 환경 , 전체 환경 )
( /etc, gconf 이용 , /usr/share, 설치 환경의 변경 , 패키지 )
4) PPA 운영
4. 마치며 !
발표 순서
3 | 배포판 만들기
우분투 활동
• 우분투한국커뮤니티우분투한국커뮤니티
도메인 : http://ubuntu-kr.org
한국 로코팀 : https://launchpad.net/~ubuntu-ko
포럼 : http://ubuntu.or.kr
한글 위키 : http://wiki.ubuntu.or.kr
메일링 : http://lists.ubuntu.com/mailman/listinfo/ubuntu-ko
IRC channel : irc.ubuntu.com #ubuntu-ko
한국어 번역팀 : https://launchpad.net/~ubuntu-l10n-ko
•
4 | 배포판 만들기
우분투에서의 개발환경 구축
sudo apt-get install build-essential
5 | 배포판 만들기
sudo apt-get install build-essential
• 의존성
• dpkg-dev (>= 1.13.5) 데비안 패키지 개발 도구
• dep: g++ (>= 4:4.3.1) GNU C++ 컴파일러
• dep: libc6-dev
• make
6 | 배포판 만들기
에디터
• Gedit
많은 플러그인, 문법 하이라이트 지원,
다양한 언어셋 지원(여러 언어 코드 지원)
FTP, SSH 지원
단점 : 여러 파일 편집 / 관리 불편
• Geany
http://www.geany.org
자동 태그 ( xml , html 자동 폐쇠 ) , 컴파일 및 빌드 가능,
프로젝트 관리 기능 & 코드 탐색, 플러그인 지원 & 사용자 환경설정의 다양함
• Bluefish
html 태그 , 다이얼로그를 비롯하여 다양한 언어
(C, Java, PHP, Python, XML, JSP 심지어는 SQL 까지 ...등등 문법등을 지원)
단점 : 확장 완성형 한글 미지원 , 무거움 (java)
•
7 | 배포판 만들기
Integrated Development Environment, IDE
• GTK+ 의 Anjuta, Glade
• C# 의 Monodevelop
• Qt 의 Kdevelop, & ...
• java, 기타등등의 이클립스 .........
8 | 배포판 만들기
배포만 만들기에 편한 환경을 제공 하는 것
1. 가상환경과 USB 메모리는 배포판 테스트가 용이함 .
Chroot, 버추얼 박스 , Vmware 그리고 USB 메모리
2. UCK
http://uck.sourceforge.net
Ubuntu Customization Kit
가상환경과 UCK
9 | 배포판 만들기
설치 1 sudo apt-get install uck
설치 2
svn export https://uck.svn.sourceforge.net/svnroot/uck/trunk/uck
기본 실행
# uck-gui
※ 주의점 : 배포판 말들때 여유공간이 5 기가 이상 이어야 한다
UCK 사용법 1
10 | 배포판 만들기
$./uck-gui
1. 초기 환영 말
2. 설치 언어 선택
3. 라이브 CD 언어선택
4. 부팅언어 선택
5. 테스크탑 환경선택
6. ISO 선택
7. 만드려는 CD 이름 입력
8. 콘솔작업 할지 결정 (chroot 콘솔 )
9. 우비 , 오토런 추가 삭제 여부
10. ISO 풀고 CHROOT 환경 만들고 .. 등등 알아서 …
11. 항목설정 ( 패키지 매니저 & 콘솔 )
계속 진행 해 완성으로 가도 되나 여기서 멈추는 이유는 좀더 세밀한 작업을
위해 멈추며 뒤에 가서 추가 설명 ...
UCK 사용법 2
11 | 배포판 만들기
SQUASHFS 란 ?
• Squashfs : 리눅스를 위한 압축 읽기 전용 파일 시스템 .
• 우분투 CD 용량 700 메가를 지키기 위해 squashfs 를 이
용하여 부팅시 압축을 풀며 라이브 및 설치 환경을 구성
( 이로 인해 라이브 부팅이 느리다 )
• http://squashfs.sourceforge.net/
12 | 배포판 만들기
1. 패키지매니저 이용 하기
무엇이 뜨는가 ? ^^;
그리고 알아야 할 것은 무엇인가 ?
2. rootFS (chroot) 이용하기
터미널의 강력함이여 ?
무엇이 다른가 ?
3. 그리고 ISO 만들기
UCK 사용법 3
13 | 배포판 만들기
1. 설명파일
doc 에 맨페이지와 html 제공
2. building script & remastering backend
uck-gui 의 정체는 uck 스크립을 순차적으로 실행 해주는 구조 .
uck-remaster-chroot-rootfs
uck-remaster-pack-rootfs
uck-remaster-pack-iso
UCK 중요 명령
14 | 배포판 만들기
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
15 | 배포판 만들기
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
16 | 배포판 만들기
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
17 | 배포판 만들기
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 의 디렉터리들
18 | 배포판 만들기
/etc 에서의 변경은 전역 설정이 변경된다
기본 글꼴 , 키보드 종류 , 프로그램의 환경 등을 변경 가능 하며
/etc/skel 을 이용 만들어 지는 사용자 환경도 변경 할수 있다 .
바탕화면에 프로그램 또는 문서 바로가기 등을 추가하려면
/etc/skel/Desktop 에
심볼릭 링크 또는 ?????.desktop 파일을 만들어 준다 .
예 ) 리듬박스 한글 제목명 문제
/etc/skel/.profile 에 아래 내용 추가
export GST_ICY_TAG_ENCODING=cp949
위 작업이 이루어 져야 할 환경은 ?
심볼릭 링크의 주의 점
※ /etc 의 각 프로그램에 따른 환경 설정 파일의 이해가 필요
환경 수정 1) /etc
19 | 배포판 만들기
●
Gconf-editor ?
●
보통 GUI 환경의 설정 파일은 xml 로 만들어져 있다 .
Gconf 를 이용하여 환경설정을 뻬낸 후 다시 rootFS (chroot) 환경에서 전체
설정에 적용되게 넣어 준다 .
●
예 ) 동영상플레이어 ( 토템 ) 의 자막문제 UHC
1) 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
20 | 배포판 만들기
●
/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
21 | 배포판 만들기
●
remaster-iso/preseed/ubuntu.seed 이용 저장소 변경
d-i apt-setup/use_mirror boolean true
d-i mirror/http/mirror string ftp.daum.net
d-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) 설치 환경의 변경
22 | 배포판 만들기
●
패키지 만들기
참고 링크 :
1) 컴파일을 해보자 http://www.ubuntu.or.kr/viewtopic.php?t=1527
2) deb 패키징 하우투 문서 : http://ubuntu.or.kr/viewtopic.php?f=6&t=1405
3) 소스 패키징과 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) 패키지
23 | 배포판 만들기
●
PPA 란 ?
자신이 만든 패키지를 launchpad에 올려서 배포해 보기
코분투 런치패드와 PPA https://launchpad.net/~cobuntu
●
PPA 의 장점
PPA 서로간에 패키지 공유 가능 ( 모으기 !)
새 배포판용 패키지 자동 만들기 가능 ( 쉽게 업데이트 )
●
PPA 운영과 새 오픈 소스 프로그램 개발을 통해 우분투 MOTU 그리고 메인 개
발자등이 나오길 희망합니다 .
PPA 운영
24 | 배포판 만들기
●
우분투의 종류는 왜 많은가 ?
●
사용 환경에 따른 최적화 우분투의 제작
1) eBuntu ( 임베디드 개발용 ) 제작 (2012 년 )
https://launchpad.net/~ebuntu
2) 수학용 프로그램 설치 분투 ? 등 사용자에게 딱 필요한 환경을 미리 제공하
여 환경 구축 시간 절약 및 동일 환경 제공
●
스크립트만으로 가능한가 ?
●
버그 보고 & 패치 & 새 프로그램의 개발
다양한 배포판의 필요성 ?
25 | 배포판 만들기
질의 응답
• 감사합니다 .

More Related Content

What's hot

cross compile
cross compilecross compile
cross compilehe4722
 
ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)Chulgyu Shin
 
이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱Jong Wook Kim
 
노태상 - 리눅스 커널 개요 및 이슈 아이엠 (2010Y01M30D)
노태상 - 리눅스 커널 개요 및 이슈 아이엠 (2010Y01M30D)노태상 - 리눅스 커널 개요 및 이슈 아이엠 (2010Y01M30D)
노태상 - 리눅스 커널 개요 및 이슈 아이엠 (2010Y01M30D)Ubuntu Korea Community
 
Kubuntu 9.10에 Cubrid 8.2.0.2005 Linux
Kubuntu 9.10에 Cubrid 8.2.0.2005 LinuxKubuntu 9.10에 Cubrid 8.2.0.2005 Linux
Kubuntu 9.10에 Cubrid 8.2.0.2005 Linuxphpkorea
 
우분투 커널 컴파일
우분투 커널 컴파일우분투 커널 컴파일
우분투 커널 컴파일he4722
 
[Nomad connection]docker seminar 15.10.08
[Nomad connection]docker seminar 15.10.08[Nomad connection]docker seminar 15.10.08
[Nomad connection]docker seminar 15.10.08Nomad Connection, Inc.
 
도커없이 컨테이너 만들기 1편
도커없이 컨테이너 만들기 1편도커없이 컨테이너 만들기 1편
도커없이 컨테이너 만들기 1편Sam Kim
 
Hm10 Research sheets
Hm10 Research sheetsHm10 Research sheets
Hm10 Research sheetsyyooooon
 
이것이 리눅스다
이것이 리눅스다이것이 리눅스다
이것이 리눅스다Yeon Tae Kim
 
Introduction to Linux #1
Introduction to Linux #1Introduction to Linux #1
Introduction to Linux #1UNIST
 
3D카툰메이커 완료세미나(복구됨)
3D카툰메이커 완료세미나(복구됨)3D카툰메이커 완료세미나(복구됨)
3D카툰메이커 완료세미나(복구됨)Daniel Shin
 
리눅스에 대하여
리눅스에 대하여리눅스에 대하여
리눅스에 대하여ETRIBE_STG
 
파일시스템 관련 명령어
파일시스템 관련 명령어파일시스템 관련 명령어
파일시스템 관련 명령어Chulgyu Shin
 
Docker Casual Talk #2 - Dockerizing newrelic-sysmond
Docker Casual Talk #2 - Dockerizing newrelic-sysmondDocker Casual Talk #2 - Dockerizing newrelic-sysmond
Docker Casual Talk #2 - Dockerizing newrelic-sysmondDaegwon Kim
 
docker_quick_start
docker_quick_startdocker_quick_start
docker_quick_startSukjin Yun
 
리눅스 스터디 1회차
리눅스 스터디 1회차리눅스 스터디 1회차
리눅스 스터디 1회차준혁 이
 
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario ChoLinux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario ChoMario Cho
 

What's hot (20)

cross compile
cross compilecross compile
cross compile
 
ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)
 
이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱
 
노태상 - 리눅스 커널 개요 및 이슈 아이엠 (2010Y01M30D)
노태상 - 리눅스 커널 개요 및 이슈 아이엠 (2010Y01M30D)노태상 - 리눅스 커널 개요 및 이슈 아이엠 (2010Y01M30D)
노태상 - 리눅스 커널 개요 및 이슈 아이엠 (2010Y01M30D)
 
Kubuntu 9.10에 Cubrid 8.2.0.2005 Linux
Kubuntu 9.10에 Cubrid 8.2.0.2005 LinuxKubuntu 9.10에 Cubrid 8.2.0.2005 Linux
Kubuntu 9.10에 Cubrid 8.2.0.2005 Linux
 
우분투 커널 컴파일
우분투 커널 컴파일우분투 커널 컴파일
우분투 커널 컴파일
 
[Nomad connection]docker seminar 15.10.08
[Nomad connection]docker seminar 15.10.08[Nomad connection]docker seminar 15.10.08
[Nomad connection]docker seminar 15.10.08
 
도커없이 컨테이너 만들기 1편
도커없이 컨테이너 만들기 1편도커없이 컨테이너 만들기 1편
도커없이 컨테이너 만들기 1편
 
Hm10 Research sheets
Hm10 Research sheetsHm10 Research sheets
Hm10 Research sheets
 
이것이 리눅스다
이것이 리눅스다이것이 리눅스다
이것이 리눅스다
 
Introduction to Linux #1
Introduction to Linux #1Introduction to Linux #1
Introduction to Linux #1
 
3D카툰메이커 완료세미나(복구됨)
3D카툰메이커 완료세미나(복구됨)3D카툰메이커 완료세미나(복구됨)
3D카툰메이커 완료세미나(복구됨)
 
리눅스에 대하여
리눅스에 대하여리눅스에 대하여
리눅스에 대하여
 
파일시스템 관련 명령어
파일시스템 관련 명령어파일시스템 관련 명령어
파일시스템 관련 명령어
 
Docker Casual Talk #2 - Dockerizing newrelic-sysmond
Docker Casual Talk #2 - Dockerizing newrelic-sysmondDocker Casual Talk #2 - Dockerizing newrelic-sysmond
Docker Casual Talk #2 - Dockerizing newrelic-sysmond
 
docker_quick_start
docker_quick_startdocker_quick_start
docker_quick_start
 
Docker설치
Docker설치Docker설치
Docker설치
 
Linux+정리
Linux+정리Linux+정리
Linux+정리
 
리눅스 스터디 1회차
리눅스 스터디 1회차리눅스 스터디 1회차
리눅스 스터디 1회차
 
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario ChoLinux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
 

Viewers also liked

강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)Ubuntu Korea Community
 
Day 6 ubuntu boot camp
Day 6 ubuntu boot campDay 6 ubuntu boot camp
Day 6 ubuntu boot campDarlene Parker
 
Standards' Perspective - MPEG DASH overview and related efforts
Standards' Perspective - MPEG DASH overview and related effortsStandards' Perspective - MPEG DASH overview and related efforts
Standards' Perspective - MPEG DASH overview and related effortsIMTC
 
What is Ubuntu - presentation
What is Ubuntu - presentationWhat is Ubuntu - presentation
What is Ubuntu - presentationAhmed Mamdouh
 
Introduction to Basic Computer Concepts Presentation
Introduction to Basic Computer Concepts PresentationIntroduction to Basic Computer Concepts Presentation
Introduction to Basic Computer Concepts PresentationAna Tan
 

Viewers also liked (9)

강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
 
Day 6 ubuntu boot camp
Day 6 ubuntu boot campDay 6 ubuntu boot camp
Day 6 ubuntu boot camp
 
Standards' Perspective - MPEG DASH overview and related efforts
Standards' Perspective - MPEG DASH overview and related effortsStandards' Perspective - MPEG DASH overview and related efforts
Standards' Perspective - MPEG DASH overview and related efforts
 
Introduction to Ubantu
Introduction to UbantuIntroduction to Ubantu
Introduction to Ubantu
 
HTTP Streaming of MPEG Media
HTTP Streaming of MPEG MediaHTTP Streaming of MPEG Media
HTTP Streaming of MPEG Media
 
What is Ubuntu - presentation
What is Ubuntu - presentationWhat is Ubuntu - presentation
What is Ubuntu - presentation
 
Ubuntu-Overview
Ubuntu-OverviewUbuntu-Overview
Ubuntu-Overview
 
Ubuntu OS Presentation
Ubuntu OS PresentationUbuntu OS Presentation
Ubuntu OS Presentation
 
Introduction to Basic Computer Concepts Presentation
Introduction to Basic Computer Concepts PresentationIntroduction to Basic Computer Concepts Presentation
Introduction to Basic Computer Concepts Presentation
 

Similar to 3.ubuntu custom

코분투메뉴얼 10.04 Cobuntu Manual
코분투메뉴얼 10.04 Cobuntu Manual코분투메뉴얼 10.04 Cobuntu Manual
코분투메뉴얼 10.04 Cobuntu ManualUbuntu Korea Community
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래NAVER D2
 
20170713 tech day_7th_pxe 부팅-김주한
20170713 tech day_7th_pxe 부팅-김주한20170713 tech day_7th_pxe 부팅-김주한
20170713 tech day_7th_pxe 부팅-김주한ymtech
 
강분도 - 공개SW개발과 우분투 (2010Y10M05D)
강분도 - 공개SW개발과 우분투 (2010Y10M05D)강분도 - 공개SW개발과 우분투 (2010Y10M05D)
강분도 - 공개SW개발과 우분투 (2010Y10M05D)Ubuntu Korea Community
 
Python을 이용한 Linux Desktop Application
Python을 이용한 Linux Desktop ApplicationPython을 이용한 Linux Desktop Application
Python을 이용한 Linux Desktop ApplicationUbuntu Korea Community
 
Oracle linux8 solaris_new_features-suk kim
Oracle linux8 solaris_new_features-suk kimOracle linux8 solaris_new_features-suk kim
Oracle linux8 solaris_new_features-suk kimsuk kim
 
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트Ji-Woong Choi
 
CoreOS를 이용한 Docker 관리툴 소개
CoreOS를 이용한 Docker 관리툴 소개CoreOS를 이용한 Docker 관리툴 소개
CoreOS를 이용한 Docker 관리툴 소개충섭 김
 
[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱NAVER D2
 
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick GuideJi-Woong Choi
 
rpm package 를 이용한 MySQL 설치자동화
rpm package 를 이용한 MySQL 설치자동화rpm package 를 이용한 MySQL 설치자동화
rpm package 를 이용한 MySQL 설치자동화I Goo Lee
 
Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Steve Shim
 
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOSConfd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS충섭 김
 
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반BJ Jang
 
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows TerminalOnGameServer
 

Similar to 3.ubuntu custom (20)

코분투메뉴얼 10.04 Cobuntu Manual
코분투메뉴얼 10.04 Cobuntu Manual코분투메뉴얼 10.04 Cobuntu Manual
코분투메뉴얼 10.04 Cobuntu Manual
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래
 
20170713 tech day_7th_pxe 부팅-김주한
20170713 tech day_7th_pxe 부팅-김주한20170713 tech day_7th_pxe 부팅-김주한
20170713 tech day_7th_pxe 부팅-김주한
 
강분도 - 공개SW개발과 우분투 (2010Y10M05D)
강분도 - 공개SW개발과 우분투 (2010Y10M05D)강분도 - 공개SW개발과 우분투 (2010Y10M05D)
강분도 - 공개SW개발과 우분투 (2010Y10M05D)
 
Oracle History #8
Oracle History #8Oracle History #8
Oracle History #8
 
Python을 이용한 Linux Desktop Application
Python을 이용한 Linux Desktop ApplicationPython을 이용한 Linux Desktop Application
Python을 이용한 Linux Desktop Application
 
Oracle linux8 solaris_new_features-suk kim
Oracle linux8 solaris_new_features-suk kimOracle linux8 solaris_new_features-suk kim
Oracle linux8 solaris_new_features-suk kim
 
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
 
CoreOS를 이용한 Docker 관리툴 소개
CoreOS를 이용한 Docker 관리툴 소개CoreOS를 이용한 Docker 관리툴 소개
CoreOS를 이용한 Docker 관리툴 소개
 
[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱
 
Eclipse RCP 2/2
Eclipse RCP 2/2Eclipse RCP 2/2
Eclipse RCP 2/2
 
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
 
rpm package 를 이용한 MySQL 설치자동화
rpm package 를 이용한 MySQL 설치자동화rpm package 를 이용한 MySQL 설치자동화
rpm package 를 이용한 MySQL 설치자동화
 
Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1
 
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOSConfd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
 
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반
 
Ffmpeg for android
Ffmpeg for androidFfmpeg for android
Ffmpeg for android
 
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
 
Kafka slideshare
Kafka   slideshareKafka   slideshare
Kafka slideshare
 

More from sprdd

Linux con europe_2014_full_system_rollback_btrfs_snapper_0
Linux con europe_2014_full_system_rollback_btrfs_snapper_0Linux con europe_2014_full_system_rollback_btrfs_snapper_0
Linux con europe_2014_full_system_rollback_btrfs_snapper_0sprdd
 
Linux con europe_2014_f
Linux con europe_2014_fLinux con europe_2014_f
Linux con europe_2014_fsprdd
 
Openstack v4 0
Openstack v4 0Openstack v4 0
Openstack v4 0sprdd
 
Hardware accelerated virtio networking for nfv linux con
Hardware accelerated virtio networking for nfv linux conHardware accelerated virtio networking for nfv linux con
Hardware accelerated virtio networking for nfv linux consprdd
 
난공불락세미나 Ldap
난공불락세미나 Ldap난공불락세미나 Ldap
난공불락세미나 Ldapsprdd
 
Lkda facebook seminar_140419
Lkda facebook seminar_140419Lkda facebook seminar_140419
Lkda facebook seminar_140419sprdd
 
Glusterfs 소개 v1.0_난공불락세미나
Glusterfs 소개 v1.0_난공불락세미나Glusterfs 소개 v1.0_난공불락세미나
Glusterfs 소개 v1.0_난공불락세미나sprdd
 
Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415
Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415
Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415sprdd
 
Summit2014 riel chegu_w_0340_automatic_numa_balancing_0
Summit2014 riel chegu_w_0340_automatic_numa_balancing_0Summit2014 riel chegu_w_0340_automatic_numa_balancing_0
Summit2014 riel chegu_w_0340_automatic_numa_balancing_0sprdd
 
오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0sprdd
 
HP NMI WATCHDOG
HP NMI WATCHDOGHP NMI WATCHDOG
HP NMI WATCHDOGsprdd
 
H2890 emc-clariion-asymm-active-wp
H2890 emc-clariion-asymm-active-wpH2890 emc-clariion-asymm-active-wp
H2890 emc-clariion-asymm-active-wpsprdd
 
Cluster pitfalls recommand
Cluster pitfalls recommandCluster pitfalls recommand
Cluster pitfalls recommandsprdd
 
Wheeler w 0450_linux_file_systems1
Wheeler w 0450_linux_file_systems1Wheeler w 0450_linux_file_systems1
Wheeler w 0450_linux_file_systems1sprdd
 
Wheeler w 0450_linux_file_systems1
Wheeler w 0450_linux_file_systems1Wheeler w 0450_linux_file_systems1
Wheeler w 0450_linux_file_systems1sprdd
 
2013fooscoverpageimage 130417105210-phpapp01
2013fooscoverpageimage 130417105210-phpapp012013fooscoverpageimage 130417105210-phpapp01
2013fooscoverpageimage 130417105210-phpapp01sprdd
 
Openstackinsideoutv10 140222065532-phpapp01
Openstackinsideoutv10 140222065532-phpapp01Openstackinsideoutv10 140222065532-phpapp01
Openstackinsideoutv10 140222065532-phpapp01sprdd
 
Rhel cluster gfs_improveperformance
Rhel cluster gfs_improveperformanceRhel cluster gfs_improveperformance
Rhel cluster gfs_improveperformancesprdd
 
Doldoggi bisiri
Doldoggi bisiriDoldoggi bisiri
Doldoggi bisirisprdd
 
유닉스 리눅스 마이그레이션_이호성_v1.0
유닉스 리눅스 마이그레이션_이호성_v1.0유닉스 리눅스 마이그레이션_이호성_v1.0
유닉스 리눅스 마이그레이션_이호성_v1.0sprdd
 

More from sprdd (20)

Linux con europe_2014_full_system_rollback_btrfs_snapper_0
Linux con europe_2014_full_system_rollback_btrfs_snapper_0Linux con europe_2014_full_system_rollback_btrfs_snapper_0
Linux con europe_2014_full_system_rollback_btrfs_snapper_0
 
Linux con europe_2014_f
Linux con europe_2014_fLinux con europe_2014_f
Linux con europe_2014_f
 
Openstack v4 0
Openstack v4 0Openstack v4 0
Openstack v4 0
 
Hardware accelerated virtio networking for nfv linux con
Hardware accelerated virtio networking for nfv linux conHardware accelerated virtio networking for nfv linux con
Hardware accelerated virtio networking for nfv linux con
 
난공불락세미나 Ldap
난공불락세미나 Ldap난공불락세미나 Ldap
난공불락세미나 Ldap
 
Lkda facebook seminar_140419
Lkda facebook seminar_140419Lkda facebook seminar_140419
Lkda facebook seminar_140419
 
Glusterfs 소개 v1.0_난공불락세미나
Glusterfs 소개 v1.0_난공불락세미나Glusterfs 소개 v1.0_난공불락세미나
Glusterfs 소개 v1.0_난공불락세미나
 
Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415
Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415
Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415
 
Summit2014 riel chegu_w_0340_automatic_numa_balancing_0
Summit2014 riel chegu_w_0340_automatic_numa_balancing_0Summit2014 riel chegu_w_0340_automatic_numa_balancing_0
Summit2014 riel chegu_w_0340_automatic_numa_balancing_0
 
오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0
 
HP NMI WATCHDOG
HP NMI WATCHDOGHP NMI WATCHDOG
HP NMI WATCHDOG
 
H2890 emc-clariion-asymm-active-wp
H2890 emc-clariion-asymm-active-wpH2890 emc-clariion-asymm-active-wp
H2890 emc-clariion-asymm-active-wp
 
Cluster pitfalls recommand
Cluster pitfalls recommandCluster pitfalls recommand
Cluster pitfalls recommand
 
Wheeler w 0450_linux_file_systems1
Wheeler w 0450_linux_file_systems1Wheeler w 0450_linux_file_systems1
Wheeler w 0450_linux_file_systems1
 
Wheeler w 0450_linux_file_systems1
Wheeler w 0450_linux_file_systems1Wheeler w 0450_linux_file_systems1
Wheeler w 0450_linux_file_systems1
 
2013fooscoverpageimage 130417105210-phpapp01
2013fooscoverpageimage 130417105210-phpapp012013fooscoverpageimage 130417105210-phpapp01
2013fooscoverpageimage 130417105210-phpapp01
 
Openstackinsideoutv10 140222065532-phpapp01
Openstackinsideoutv10 140222065532-phpapp01Openstackinsideoutv10 140222065532-phpapp01
Openstackinsideoutv10 140222065532-phpapp01
 
Rhel cluster gfs_improveperformance
Rhel cluster gfs_improveperformanceRhel cluster gfs_improveperformance
Rhel cluster gfs_improveperformance
 
Doldoggi bisiri
Doldoggi bisiriDoldoggi bisiri
Doldoggi bisiri
 
유닉스 리눅스 마이그레이션_이호성_v1.0
유닉스 리눅스 마이그레이션_이호성_v1.0유닉스 리눅스 마이그레이션_이호성_v1.0
유닉스 리눅스 마이그레이션_이호성_v1.0
 

3.ubuntu custom

  • 1. 우분투 개발환경과 커스터 마이징 방법 강분도 제 12 회 KELP 세미나
  • 2. 2 | 배포판 만들기 1. 우분투 활동 2. 우분투 개발환경 3. 우분투 배포판 커스터 마이징 1) 가상환경과 UCK 2) UCK 사용법 & UCK 중요 명령 & UCK 가 만든 디렉의 구조 3) 환경 수정 ( 개인 환경 , 전체 환경 ) ( /etc, gconf 이용 , /usr/share, 설치 환경의 변경 , 패키지 ) 4) PPA 운영 4. 마치며 ! 발표 순서
  • 3. 3 | 배포판 만들기 우분투 활동 • 우분투한국커뮤니티우분투한국커뮤니티 도메인 : http://ubuntu-kr.org 한국 로코팀 : https://launchpad.net/~ubuntu-ko 포럼 : http://ubuntu.or.kr 한글 위키 : http://wiki.ubuntu.or.kr 메일링 : http://lists.ubuntu.com/mailman/listinfo/ubuntu-ko IRC channel : irc.ubuntu.com #ubuntu-ko 한국어 번역팀 : https://launchpad.net/~ubuntu-l10n-ko •
  • 4. 4 | 배포판 만들기 우분투에서의 개발환경 구축 sudo apt-get install build-essential
  • 5. 5 | 배포판 만들기 sudo apt-get install build-essential • 의존성 • dpkg-dev (>= 1.13.5) 데비안 패키지 개발 도구 • dep: g++ (>= 4:4.3.1) GNU C++ 컴파일러 • dep: libc6-dev • make
  • 6. 6 | 배포판 만들기 에디터 • Gedit 많은 플러그인, 문법 하이라이트 지원, 다양한 언어셋 지원(여러 언어 코드 지원) FTP, SSH 지원 단점 : 여러 파일 편집 / 관리 불편 • Geany http://www.geany.org 자동 태그 ( xml , html 자동 폐쇠 ) , 컴파일 및 빌드 가능, 프로젝트 관리 기능 & 코드 탐색, 플러그인 지원 & 사용자 환경설정의 다양함 • Bluefish html 태그 , 다이얼로그를 비롯하여 다양한 언어 (C, Java, PHP, Python, XML, JSP 심지어는 SQL 까지 ...등등 문법등을 지원) 단점 : 확장 완성형 한글 미지원 , 무거움 (java) •
  • 7. 7 | 배포판 만들기 Integrated Development Environment, IDE • GTK+ 의 Anjuta, Glade • C# 의 Monodevelop • Qt 의 Kdevelop, & ... • java, 기타등등의 이클립스 .........
  • 8. 8 | 배포판 만들기 배포만 만들기에 편한 환경을 제공 하는 것 1. 가상환경과 USB 메모리는 배포판 테스트가 용이함 . Chroot, 버추얼 박스 , Vmware 그리고 USB 메모리 2. UCK http://uck.sourceforge.net Ubuntu Customization Kit 가상환경과 UCK
  • 9. 9 | 배포판 만들기 설치 1 sudo apt-get install uck 설치 2 svn export https://uck.svn.sourceforge.net/svnroot/uck/trunk/uck 기본 실행 # uck-gui ※ 주의점 : 배포판 말들때 여유공간이 5 기가 이상 이어야 한다 UCK 사용법 1
  • 10. 10 | 배포판 만들기 $./uck-gui 1. 초기 환영 말 2. 설치 언어 선택 3. 라이브 CD 언어선택 4. 부팅언어 선택 5. 테스크탑 환경선택 6. ISO 선택 7. 만드려는 CD 이름 입력 8. 콘솔작업 할지 결정 (chroot 콘솔 ) 9. 우비 , 오토런 추가 삭제 여부 10. ISO 풀고 CHROOT 환경 만들고 .. 등등 알아서 … 11. 항목설정 ( 패키지 매니저 & 콘솔 ) 계속 진행 해 완성으로 가도 되나 여기서 멈추는 이유는 좀더 세밀한 작업을 위해 멈추며 뒤에 가서 추가 설명 ... UCK 사용법 2
  • 11. 11 | 배포판 만들기 SQUASHFS 란 ? • Squashfs : 리눅스를 위한 압축 읽기 전용 파일 시스템 . • 우분투 CD 용량 700 메가를 지키기 위해 squashfs 를 이 용하여 부팅시 압축을 풀며 라이브 및 설치 환경을 구성 ( 이로 인해 라이브 부팅이 느리다 ) • http://squashfs.sourceforge.net/
  • 12. 12 | 배포판 만들기 1. 패키지매니저 이용 하기 무엇이 뜨는가 ? ^^; 그리고 알아야 할 것은 무엇인가 ? 2. rootFS (chroot) 이용하기 터미널의 강력함이여 ? 무엇이 다른가 ? 3. 그리고 ISO 만들기 UCK 사용법 3
  • 13. 13 | 배포판 만들기 1. 설명파일 doc 에 맨페이지와 html 제공 2. building script & remastering backend uck-gui 의 정체는 uck 스크립을 순차적으로 실행 해주는 구조 . uck-remaster-chroot-rootfs uck-remaster-pack-rootfs uck-remaster-pack-iso UCK 중요 명령
  • 14. 14 | 배포판 만들기 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
  • 15. 15 | 배포판 만들기 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
  • 16. 16 | 배포판 만들기 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
  • 17. 17 | 배포판 만들기 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 의 디렉터리들
  • 18. 18 | 배포판 만들기 /etc 에서의 변경은 전역 설정이 변경된다 기본 글꼴 , 키보드 종류 , 프로그램의 환경 등을 변경 가능 하며 /etc/skel 을 이용 만들어 지는 사용자 환경도 변경 할수 있다 . 바탕화면에 프로그램 또는 문서 바로가기 등을 추가하려면 /etc/skel/Desktop 에 심볼릭 링크 또는 ?????.desktop 파일을 만들어 준다 . 예 ) 리듬박스 한글 제목명 문제 /etc/skel/.profile 에 아래 내용 추가 export GST_ICY_TAG_ENCODING=cp949 위 작업이 이루어 져야 할 환경은 ? 심볼릭 링크의 주의 점 ※ /etc 의 각 프로그램에 따른 환경 설정 파일의 이해가 필요 환경 수정 1) /etc
  • 19. 19 | 배포판 만들기 ● Gconf-editor ? ● 보통 GUI 환경의 설정 파일은 xml 로 만들어져 있다 . Gconf 를 이용하여 환경설정을 뻬낸 후 다시 rootFS (chroot) 환경에서 전체 설정에 적용되게 넣어 준다 . ● 예 ) 동영상플레이어 ( 토템 ) 의 자막문제 UHC 1) 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
  • 20. 20 | 배포판 만들기 ● /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
  • 21. 21 | 배포판 만들기 ● remaster-iso/preseed/ubuntu.seed 이용 저장소 변경 d-i apt-setup/use_mirror boolean true d-i mirror/http/mirror string ftp.daum.net d-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) 설치 환경의 변경
  • 22. 22 | 배포판 만들기 ● 패키지 만들기 참고 링크 : 1) 컴파일을 해보자 http://www.ubuntu.or.kr/viewtopic.php?t=1527 2) deb 패키징 하우투 문서 : http://ubuntu.or.kr/viewtopic.php?f=6&t=1405 3) 소스 패키징과 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) 패키지
  • 23. 23 | 배포판 만들기 ● PPA 란 ? 자신이 만든 패키지를 launchpad에 올려서 배포해 보기 코분투 런치패드와 PPA https://launchpad.net/~cobuntu ● PPA 의 장점 PPA 서로간에 패키지 공유 가능 ( 모으기 !) 새 배포판용 패키지 자동 만들기 가능 ( 쉽게 업데이트 ) ● PPA 운영과 새 오픈 소스 프로그램 개발을 통해 우분투 MOTU 그리고 메인 개 발자등이 나오길 희망합니다 . PPA 운영
  • 24. 24 | 배포판 만들기 ● 우분투의 종류는 왜 많은가 ? ● 사용 환경에 따른 최적화 우분투의 제작 1) eBuntu ( 임베디드 개발용 ) 제작 (2012 년 ) https://launchpad.net/~ebuntu 2) 수학용 프로그램 설치 분투 ? 등 사용자에게 딱 필요한 환경을 미리 제공하 여 환경 구축 시간 절약 및 동일 환경 제공 ● 스크립트만으로 가능한가 ? ● 버그 보고 & 패치 & 새 프로그램의 개발 다양한 배포판의 필요성 ?
  • 25. 25 | 배포판 만들기 질의 응답 • 감사합니다 .