特殊:Badtitle/NS100:Ko/LiveCDCustomization
文章出处: |
{{#if: | {{{2}}} | https://help.ubuntu.com/community/ko/LiveCDCustomization }} |
点击翻译: |
English {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/af | • {{#if: UbuntuHelp:ko/LiveCDCustomization|Afrikaans| [[::Ko/LiveCDCustomization/af|Afrikaans]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/ar | • {{#if: UbuntuHelp:ko/LiveCDCustomization|العربية| [[::Ko/LiveCDCustomization/ar|العربية]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/az | • {{#if: UbuntuHelp:ko/LiveCDCustomization|azərbaycanca| [[::Ko/LiveCDCustomization/az|azərbaycanca]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/bcc | • {{#if: UbuntuHelp:ko/LiveCDCustomization|جهلسری بلوچی| [[::Ko/LiveCDCustomization/bcc|جهلسری بلوچی]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/bg | • {{#if: UbuntuHelp:ko/LiveCDCustomization|български| [[::Ko/LiveCDCustomization/bg|български]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/br | • {{#if: UbuntuHelp:ko/LiveCDCustomization|brezhoneg| [[::Ko/LiveCDCustomization/br|brezhoneg]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/ca | • {{#if: UbuntuHelp:ko/LiveCDCustomization|català| [[::Ko/LiveCDCustomization/ca|català]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/cs | • {{#if: UbuntuHelp:ko/LiveCDCustomization|čeština| [[::Ko/LiveCDCustomization/cs|čeština]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/de | • {{#if: UbuntuHelp:ko/LiveCDCustomization|Deutsch| [[::Ko/LiveCDCustomization/de|Deutsch]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/el | • {{#if: UbuntuHelp:ko/LiveCDCustomization|Ελληνικά| [[::Ko/LiveCDCustomization/el|Ελληνικά]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/es | • {{#if: UbuntuHelp:ko/LiveCDCustomization|español| [[::Ko/LiveCDCustomization/es|español]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/fa | • {{#if: UbuntuHelp:ko/LiveCDCustomization|فارسی| [[::Ko/LiveCDCustomization/fa|فارسی]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/fi | • {{#if: UbuntuHelp:ko/LiveCDCustomization|suomi| [[::Ko/LiveCDCustomization/fi|suomi]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/fr | • {{#if: UbuntuHelp:ko/LiveCDCustomization|français| [[::Ko/LiveCDCustomization/fr|français]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/gu | • {{#if: UbuntuHelp:ko/LiveCDCustomization|ગુજરાતી| [[::Ko/LiveCDCustomization/gu|ગુજરાતી]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/he | • {{#if: UbuntuHelp:ko/LiveCDCustomization|עברית| [[::Ko/LiveCDCustomization/he|עברית]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/hu | • {{#if: UbuntuHelp:ko/LiveCDCustomization|magyar| [[::Ko/LiveCDCustomization/hu|magyar]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/id | • {{#if: UbuntuHelp:ko/LiveCDCustomization|Bahasa Indonesia| [[::Ko/LiveCDCustomization/id|Bahasa Indonesia]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/it | • {{#if: UbuntuHelp:ko/LiveCDCustomization|italiano| [[::Ko/LiveCDCustomization/it|italiano]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/ja | • {{#if: UbuntuHelp:ko/LiveCDCustomization|日本語| [[::Ko/LiveCDCustomization/ja|日本語]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/ko | • {{#if: UbuntuHelp:ko/LiveCDCustomization|한국어| [[::Ko/LiveCDCustomization/ko|한국어]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/ksh | • {{#if: UbuntuHelp:ko/LiveCDCustomization|Ripoarisch| [[::Ko/LiveCDCustomization/ksh|Ripoarisch]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/mr | • {{#if: UbuntuHelp:ko/LiveCDCustomization|मराठी| [[::Ko/LiveCDCustomization/mr|मराठी]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/ms | • {{#if: UbuntuHelp:ko/LiveCDCustomization|Bahasa Melayu| [[::Ko/LiveCDCustomization/ms|Bahasa Melayu]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/nl | • {{#if: UbuntuHelp:ko/LiveCDCustomization|Nederlands| [[::Ko/LiveCDCustomization/nl|Nederlands]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/no | • {{#if: UbuntuHelp:ko/LiveCDCustomization|norsk| [[::Ko/LiveCDCustomization/no|norsk]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/oc | • {{#if: UbuntuHelp:ko/LiveCDCustomization|occitan| [[::Ko/LiveCDCustomization/oc|occitan]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/pl | • {{#if: UbuntuHelp:ko/LiveCDCustomization|polski| [[::Ko/LiveCDCustomization/pl|polski]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/pt | • {{#if: UbuntuHelp:ko/LiveCDCustomization|português| [[::Ko/LiveCDCustomization/pt|português]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/ro | • {{#if: UbuntuHelp:ko/LiveCDCustomization|română| [[::Ko/LiveCDCustomization/ro|română]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/ru | • {{#if: UbuntuHelp:ko/LiveCDCustomization|русский| [[::Ko/LiveCDCustomization/ru|русский]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/si | • {{#if: UbuntuHelp:ko/LiveCDCustomization|සිංහල| [[::Ko/LiveCDCustomization/si|සිංහල]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/sq | • {{#if: UbuntuHelp:ko/LiveCDCustomization|shqip| [[::Ko/LiveCDCustomization/sq|shqip]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/sr | • {{#if: UbuntuHelp:ko/LiveCDCustomization|српски / srpski| [[::Ko/LiveCDCustomization/sr|српски / srpski]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/sv | • {{#if: UbuntuHelp:ko/LiveCDCustomization|svenska| [[::Ko/LiveCDCustomization/sv|svenska]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/th | • {{#if: UbuntuHelp:ko/LiveCDCustomization|ไทย| [[::Ko/LiveCDCustomization/th|ไทย]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/tr | • {{#if: UbuntuHelp:ko/LiveCDCustomization|Türkçe| [[::Ko/LiveCDCustomization/tr|Türkçe]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/vi | • {{#if: UbuntuHelp:ko/LiveCDCustomization|Tiếng Việt| [[::Ko/LiveCDCustomization/vi|Tiếng Việt]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/yue | • {{#if: UbuntuHelp:ko/LiveCDCustomization|粵語| [[::Ko/LiveCDCustomization/yue|粵語]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/zh | • {{#if: UbuntuHelp:ko/LiveCDCustomization|中文| [[::Ko/LiveCDCustomization/zh|中文]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/zh-hans | • {{#if: UbuntuHelp:ko/LiveCDCustomization|中文(简体)| [[::Ko/LiveCDCustomization/zh-hans|中文(简体)]]}}|}} {{#ifexist: {{#if: UbuntuHelp:ko/LiveCDCustomization | UbuntuHelp:ko/LiveCDCustomization | {{#if: | :}}Ko/LiveCDCustomization}}/zh-hant | • {{#if: UbuntuHelp:ko/LiveCDCustomization|中文(繁體)| [[::Ko/LiveCDCustomization/zh-hant|中文(繁體)]]}}|}} |
{{#ifeq:UbuntuHelp:ko/LiveCDCustomization|:Ko/LiveCDCustomization|请不要直接编辑翻译本页,本页将定期与来源同步。}} |
{{#ifexist: :Ko/LiveCDCustomization/zh | | {{#ifexist: Ko/LiveCDCustomization/zh | | {{#ifeq: {{#titleparts:Ko/LiveCDCustomization|1|-1|}} | zh | | }} }} }} {{#ifeq: {{#titleparts:Ko/LiveCDCustomization|1|-1|}} | zh | | }}
우분투 데스크탑 CD 개인화하기
우분투 데스크탑(라이브) CD 를 다음과 같이 개인화 할 수 있습니다.
- 자신만의 리눅스/우분투 배포판 만들기
- 특정 프로그램 강조하기
- 특정 언어에 맞게 로케일 설정하기
- 프로그램 패키지 제거하기
- 프로그램 패키지 추가하기
- 프로그램 패키지 업데이트하기
- 시스템 기본값 변경하기(테마, 아이콘, 데스크탑 배경, 패널, 웹브라우저 홈페이지 등)
이 문서는 데스크탑/라이브 CD 를 위한 안내서입니다. 얼터네이티브(Alternative)나 서버 설치 CD 에 대해서는 다른 페이지를 참조하십시오.
시스템 요구 조건
- 3-5GB 이상의 하드 디스크 여유 공간
- 512MB 메모리와 1GB 이상의 스왑(권장)
- `squashfs-tools`
- `genisoimage` : `mkisofs` 제공
- `squashfs` 을 지원하는 우분투 커널(우분투 6.06 이후 버전)
- QEMU/KVM, 테스트를 위한 VirtualBox 또는 VMware(선택 사항)
작업 과정
먼저 필요한 프로그램들이 설치되어 있는지 확인합니다.
sudo apt-get install squashfs-tools genisoimage
squashfs 모듈을 로드합니다.
sudo modprobe squashfs
http://releases.ubuntu.com/ 에서 공식 데스크탑 CD 를 내려받습니다. (참고: 여기서는 ubuntu-8.10-desktop-i386.iso 데스크탑 CD를 사용합니다.) 내려받은 CD 이미지를 빈 디렉토리로 옮기거나 복사합니다.
mkdir ~/live mv ubuntu-8.10-desktop-i386.iso ~/live cd ~/live
CD 이미지 풀기
데스크탑 .iso 이미지를 마운트 합니다.
mkdir mnt sudo mount -o loop ubuntu-8.10-desktop-i386.iso mnt
.iso 안의 파일들을 'extract-cd' 디렉토리로 풉니다.
mkdir extract-cd rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
데스크탑 시스템 풀기
squashfs 파일시스템을 마운트합니다.
mkdir squashfs sudo mount -t squashfs -o loop mnt/casper/filesystem.squashfs squashfs
squashfs 안의 파일들을 'edit' 디렉토리로 풉니다.
mkdir edit sudo cp -a squashfs/* edit/
준비 과정과 chroot
chroot 환경에서 네트워크 접속이 필요하면 다음과 같이 합니다.
sudo cp /etc/resolv.conf edit/etc/
자신의 시스템 설정에 따라 hosts 파일을 복사해야 할 필요가 있을 수도 있습니다.
sudo cp /etc/hosts edit/etc/
sudo mount --bind /dev/ edit/dev sudo chroot edit mount -t proc none /proc mount -t sysfs none /sys
(이는 호스트 시스템의 주요 디렉토리를 마운트하는 과정입니다. 나중에 디렉토리를 삭제하거나 편집하려면 해당 디렉토리가 언마운트되었는지 확인해야 합니다. 그렇지 않으면 호스트 시스템이 재부팅을 하기 전까지 일시적으로 불안정해질 수 있습니다.) 로케일 문제가 발생하는 것을 방지하고 GPG 키를 가져옵니다.
export HOME=/root export LC_ALL=C
개인화
Apt-get
설치된 패키지들의 크기를 확인합니다.
dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
purge 옵션을 사용해 불필요한 패키지를 제거합니다.
apt-get remove --purge package name
GNOME 배경 화면 변경하기
일반적으로 배경 화면 파일은 /usr/share/backgrounds에 있습니다. 배경 화면으로 사용할 파일을 이곳에 복사하고 소유자와 파일 접근 권한을 변경합니다. 그리고 다음 파일들을 수정합니다.
- /usr/share/gnome-background-properties/ubuntu-wallpapers.xml 과
- /usr/share/gconf/defaults/16_ubuntu-artwork 또는 같은 디렉토리에 있는 다른 파일.
에서 /usr/share/backgrounds/warty-final-ubuntu.png 을 원하는 파일의 경로로 변경합니다. 다른 설정 파일들도 수정을 하거나 속성을 추가합니다.(예: /var/lib/gconf/debian.defaults/%gconf-tree.xml 또는 /etc/gconf/gconf.xml.defaults/%gconf-tree.xml). 참조: 대퍼(Dapper) 버전의 경우...
gconf 값 수정하기(글꼴, 패널 등)
gconf 속성을 변경하려면 /etc/gconf/gconf.xml.defaults/%gconf-tree.xml 파일에 원하는 속성값을 추가해야 합니다. 파일에 값을 추가하려면 그놈이나 다른 프로그램의 기본값을 변경합니다. 글꼴, 배경, 테마, 커서 모양 등을 변경할 수 있습니다. gedit나 다른 텍스트 편집기 대신 gconftool-2를 이용하여 chroot 환경에서 다음과 같은 명령을 실행합니다.
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --type string --set yourkey "yourvalue"
string, yourkey, yourvalue' 부분에 자신이 원하는 값을 입력합니다.
한 번에 여러 가지 gconf 변경하기
각 값들을 하나씩 변경하려면 많은 시간이 걸립니다. 하지만 다음과 같이 하면 손쉽게 여러 가지 설정을 변경할 수 있습니다. 우선 테스트 사용자 계정을 하나 만들고, 해당 계정으로 로그인 한 뒤에 gconf-editor 를 이용해 원하는 값들로 변경을 합니다. 그리고 다음 명령을 이용해 테스트 사용자의 환경을 하나의 파일로 묶습니다.
gconftool-2 --dump /the/settings/branch/you/need > ~/live/your-new-settings.xml sudo chown root:root ~/live/your-new-settings.xml sudo mv ~/live/your-new-settings.xml ~/live/edit/your-new-settings.xml
chroot 환경에서 다음 명령을 실행합니다.
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --load /your-new-settings.xml rm /your-new-settings.xml
이 방법을 이용하면 특정 브랜치에 관한 전체 설정을 한번에 가져올 수 있습니다.(예: /apps/panel 은 그놈 패널에 관한 설정)
gfxboot 의 기본 언어 변경하기
이 과정은 chroot 환경이 아닌 일반 환경에서 해야합니다.
sudo -s apt-get install dpkg-dev gfxboot apt-get source gfxboot-theme-ubuntu cd gfxboot-theme-ubuntu*/ make DEFAULT_LANG=ko sudo cp -af boot/* ../extract-cd/isolinux/ exit
"ko" 값을 원하는 로케일로 변경합니다. 이는 F2 메뉴를 눌러 볼 수 있는 사용 가능한 언어를 변경하지는 안ㅅ습니다. gfxboot 개인화에 관한 더 많은 정보는 Ubuntu Customization Kit를 참조하십시오.
- 패키지를 재빌드하지 않고 gfxboot 의 기본 언어를 변경하는 다른 방법은 isolinux 디렉토리에 로케일 이름을 포함한 lang 파일을 생성하는 것입니다.
개인화의 한계
개인화를 완료한 뒤에 UID 값이 1000 보다 큰 사용자가 있는지 확인합니다. 그러한 사용자가 있으면 초기 사용자 계정을 사용할 수 없어 부팅되지 않습니다.(/usr/lib/user-setup/functions.sh 와 /usr/lib/user-setup/user-setup-apply 를 확인하십시오.) chroot 환경에서 다음 명령을 실행합니다.
grep '^[^:]*:[^:]*:[1-9][0-9][0-9][0-9]:' /etc/passwd grep '^[^:]*:[^:]*:[12][0-9][0-9][0-9][0-9]:' /etc/passwd
If you get any hits, try changing the uid:
usermod -u 500 $hit
고급 개인화
라이브 CD 커널
부팅 과정 외에 라이브CD 커널도 변경할 수 있습니다. extract-cd/casper 디렉토리의 vmlinuz 와 initrd 파일을 원하는 버전의 파일로 교체합니다. 예:
sudo cp edit/boot/vmlinuz-2.6.15-26-k7 extract-cd/casper/vmlinuz sudo cp edit/boot/initrd.img-2.6.15-26-k7 extract-cd/casper/initrd.gz
부트 초기화
edit/usr/share/initramfs-tools/scripts/casper-bottom/* 디렉토리 안의 파일들을 수정합니다. 예를 들어 hostname 이나 livecd 사용자를 변경합니다. 예:
sudo nano edit/usr/share/initramfs-tools/scripts/casper
사용자명이나 호스트명을 변경합니다.
sudo nano edit/usr/share/initramfs-tools/scripts/casper-bottom/10adduser
라이브CD 사용자의 암호를 변경할 수도 있습니다. 참고: 암호화된 암호를 얻으려면 whois 패키지의 mkpasswd 프로그램을 사용해야 합니다.
initrd 재빌드하기
커널과 init 스크립트를 수정하거나 새 커널 모듈을 추가한 다음, casper 디렉토리의 initrd.gz 파일을 재빌드해야 합니다.
sudo chroot edit mkinitramfs -o /initrd.gz 2.6.15-26-k7
(CD로 부팅할 커널 버전으로 변경합니다. 이는 edit/lib/modules 에서 확인할 수 있습니다.) chroot 에서 나와 이 파일을 extract-cd/casper 디렉토리로 옮깁니다.
exit mv edit/initrd.gz extract-cd/casper/
작업한 내용 제거하기
작업 과정 중에 사용했던 파일을 삭제하여 CD 의 용량을 줄입니다. chroot 환경에서 작업합니다. 내려받은 패키지 파일 삭제하기
apt-get clean
임시 파일 삭제하기
rm -rf /tmp/*
네임서버 설정 삭제하기
rm /etc/resolv.conf
이제 파일시스템을 언마운트(umount)하고, chroot 에서 빠져나갑니다.
umount /proc umount /sys exit sudo umount edit/dev
CD 로 합치기
manifest를 재생성합니다.
chmod +w extract-cd/casper/filesystem.manifest sudo chroot edit dpkg-query -W --showformat='${Package} ${Version}\n' > extract-cd/casper/filesystem.manifest sudo cp extract-cd/casper/filesystem.manifest extract-cd/casper/filesystem.manifest-desktop sudo sed -i '/ubiquity/d' extract-cd/casper/filesystem.manifest-desktop
파일시스템을 압축합니다.
sudo rm extract-cd/casper/filesystem.squashfs sudo mksquashfs edit extract-cd/casper/filesystem.squashfs -nolzma
참고: -nolzma 옵션은 하디 버전에서만 사용할 수 있습니다. extract-cd/README.diskdefines 에 이미지 이름을 설정합니다.
sudo chmod +w extract-cd/README.diskdefines sudo vim extract-cd/README.diskdefines sudo chmod -w extract-cd/README.diskdefines
오래된 md5sum.txt 를 제거하고 새 md5 sum을 생성합니다.
sudo -s rm extract-cd/md5sum.txt (cd extract-cd && find . -type f -print0 | xargs -0 md5sum > md5sum.txt) exit
("md5sum.txt" 파일에 "./isolinux/boot.cat" 부분이 있는지 확인합니다. 해당 부분이 있으면 삭제합니다.) Iso 파일을 생성합니다.
cd extract-cd sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-8.04.1-desktop-i386-custom.iso .
CD 테스트하기
qemu 에뮬레이터를 이용해 테스트합니다.
qemu -cdrom ubuntu-8.04.1-desktop-i386-custom.iso -boot d -m 512
또는 kvm 을 위한 하드웨어 가속기를 이용할 수도 있습니다.
kvm -cdrom ubuntu-8.04.1-desktop-i386-custom.iso -boot d -m 512
그리고 우분투 저장소에서 virtualbox-ose 를 내려받아 테스트할 수도 있습니다.
문제점
라이브CD 리눅스 커널을 변경한 뒤 iso 파일을 만드는 과정 중에 문제가 발생할 수 있습니다. 그럴 경우 F6 를 눌러 부트 화면을 표시합니다. 그리고 splash quite 과 -- 사이로 마우스 커서를 이동시킨 뒤 all_generic_ide 라고 입력합니다.
이미지 파일을 CD 로 굽기
다음 명령을 입력합니다.
cdrecord dev=/dev/cdrom ubuntu-8.04.1-desktop-i386-custom.iso