나만의 맞춤형 Ubuntu Live CD 만들기

문제를 제거하기 위해 도구를 사용해보십시오

여기 Ghacks에서 다양한 유형의 Linux CD를 만들 수있는 몇 가지 도구를 언급했습니다. 이러한 도구의 대부분을 사용하면 현재 작업 배포의 이미지 인 Live CD를 만들거나 특수 패키지로 Live CD를 만드는 도구를 만들 수 있습니다. 그러나 지금까지 이러한 도구 중 어느 것도 Live CD로 사용자 정의 할 수 없었습니다. 바탕 화면 배경 또는 기타 구성 옵션을 지정할 수 없습니다. 이러한 작업은 노력할만한 가치가있는 맞춤형 Live CD를 만들 수있는 작업입니다.

이 기사에서는 다운로드 한 Ubuntu 9.10 iso 이미지를 가져 와서 마운트하고 사용자 정의하고 새로 사용자 정의한 이미지에서 Live CD를 다시 빌드하는 방법을 보여줄 것입니다. 이 프로세스는 시간이 많이 걸릴 수 있지만 그만한 가치가 있습니다. 이 전체 프로세스는 명령 줄에서 수행되므로 손가락으로 입력 할 수 있습니다.

가장 먼저 필요한 것은 최근 릴리스의 ISO 이미지입니다. 그러니 계속해서 우분투 웹 사이트 9.10의 새 사본을 다운로드하십시오. 완료되면 작업을 시작할 준비가 된 것입니다.

사용자 정의를 계속하기 전에 필요한 도구를 설치해야합니다. 명령 줄에서 다음 명령을 실행합니다.

sudo aptitude install squashfs-tools genisoimage

이제 ISO 이미지 작업에 사용할 빈 디렉토리를 만듭니다. 사용자 홈 디렉토리에 이것을 생성 해 보겠습니다.

mkdir ~ / LIVECD

이제 새로 다운로드 한 iso 이미지를 새 디렉토리로 이동하고 작업 할 준비를하십시오.

가장 먼저 할 일은 명령으로 ISO 이미지를 마운트하는 것입니다. 이미지를 마운트 할 하위 디렉토리를 만들어야하므로 다음 명령을 실행하십시오.

mkdir ~ / LIVECD / 마운트

이제 다음 명령을 사용하여 iso를 마운트하십시오.

sudo mount -o loop ubuntu-9.10-desktop-i386.iso ~ / LIVECD / mount /

이제 ~ / LIVECD / mount의 내용을 추출 할 또 다른 디렉토리를 만들어야합니다. 다음 명령을 실행하십시오.

mkdir ~ / LIVECD / 추출 -cd

그런 다음 다음 명령으로 추출하십시오.

rsync --exclude = / casper / filesystem.squashfs -a mnt / extract-cd

이제 다음 명령으로 squashfs 파일 시스템을 추출하십시오.

sudo unsquashfs mount / casper / filesystem.squashfs

sudo mv squashfs-root 편집

위의 두 명령 중 전자는 다소 시간이 걸립니다. 그것은 정상입니다.
이 시스템에 네트워크 액세스가 필요한 경우 (아마도) /etc/resolv.conf 적절한 DNS 주소를 갖도록합니다. 이렇게하려면 현재 작업을 복사하십시오. resolve.conf 파일을 ~ / LIVECD / 편집 / 기타 다음 명령이있는 디렉토리 :

sudo cp /etc/resolve.conf ~ / LIVECD / edit / etc /

이제 시스템에 몇 가지 중요한 디렉토리를 마운트합니다.

sudo 마운트 --bind / dev / edit / dev
sudo chroot 편집
mount -t proc 없음 / proc
mount -t sysfs 없음 / sys
mount -t devpts 없음 / dev / pts

나중에 이러한 디렉토리를 마운트 해제하는 것이 매우 중요합니다.

다음으로 로케일 문제를 피하고 GPG 키를 가져올 수 있도록 (필요한 경우) 다음 명령을 실행합니다.

export HOME = / root

내보내기 LC_ALL = C

이제 다음 명령을 사용하여 마운트 된 ISO에 설치된 모든 패키지를 볼 수 있습니다.

dpkg-query -W --showformat = '$ {패키지} n'| 정렬 -nr | 적게

이 목록을 살펴보고 다음 명령을 사용하여 Live CD에서 원하지 않는 패키지를 삭제할 수 있습니다.

적성 제거 PACKAGE_NAME

어디 PACKAGE_NAME 제거 할 패키지의 이름입니다. 그런 다음 다음 명령을 실행하여 Live CD에 새 패키지를 설치할 수 있습니다.

적성 설치 PACKAGE_NAME

어디 PACKAGE_NAME 설치할 패키지의 이름입니다.

데스크탑 배경 이미지는 어떻습니까? 예, 이것도 사용자 정의 할 수 있습니다. 파일을 보면 /usr/share/gnome-background-properties/ubuntu-wallpapers.xml 기본 배경이 구성된 위치를 볼 수 있습니다. 해당 파일을 편집 할 수 있지만 사용하려는 .png 파일이 다음 위치에 있는지 확인해야합니다. / usr / share / gconf / defaults / 16_ubuntu-wallpapers .

당신은 또한 편집 할 수 있습니다 /etc/gconf/gconf.xml.defaults/%gconf-tree.xml 파일 내에서 추가 사용자 정의 변경 (글꼴, 색상, 패널 옵션 등)을 수행합니다. 이 파일이 새 기본값을 추가 할 빈 파일임을 이해하십시오. gconftool을 사용하여 이러한 값을 편집하려면 다음과 같은 명령을 사용하면됩니다.

gconftool-2 --direct --config-source xml : readwrite : /etc/gconf/gconf.xml.defaults --type string --set KEY 'VALUE'

여기서 KEY는 변경하려는 키이고 VALUE는 키에 설정할 값입니다.

여기에서 수행 할 수있는 다른 수많은 구성이 있습니다. 그러나이 기사의 범위에서는 우리가 가지고있는 것을 그대로 두겠습니다.

다음 명령을 사용하여 패키지 설치에서 남아있을 수있는 임시 파일을 모두 제거해야합니다.

적성 청소

다음 명령으로 추가 한 /etc/resolv.conf 파일을 제거 할 수도 있습니다.

rm /etc/resolv.conf

디렉토리 마운트 해제 시간 :

umount / proc
umount / sys
umount / dev / pts
출구
sudo umount 편집 / 개발

모두 다시 모아

이제 모든 것을 다시 합칠 때입니다. 먼저 매니페스트를 다시 생성해야합니다.

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 sed -i '/ casper / d'extract-cd / casper / filesystem.manifest-desktop

이제 파일 시스템을 압축합니다.

sudo rm extract-cd / casper / filesystem.squashfs
sudo mksquashfs edit extract-cd / casper / filesystem.squashfs

위의 명령은 다소 시간이 걸립니다.

이제 ~ / LIVECD / extract-cd / README.diskdefines 파일을 열고 필요한 사항을 변경합니다.

다음 단계에서는 이전 md5 합계를 제거하고 새 합계를 계산해야합니다. 다음 명령을 사용하여이를 수행하십시오.

cd 추출물 -cd
sudo rm md5sum.txt
찾기 유형 f -print0 | xargs -0 md5sum | grep -v isolinux / boot.cat | sudo tee md5sum.txt

이제 ISO 이미지를 만들 차례입니다. 다음 명령으로 수행하십시오.

sudo mkisofs -D -r -V '$ IMAGE_NAME'-cache-inodes -J -l -b isolinux / isolinux.bin -c isolinux / boot.cat -no-emul-boot -boot-load-size4 -boot- info-table -o ../ubuntu-9.04.1-desktop-i386-custom.iso.

이제 ~ / LIVECD 디렉토리에 디스크에 굽고 사용할 새 ISO가 있습니다.

축하합니다. 사용자 정의 된 Ubuntu Live CD를 방금 만들었습니다!