설치된 시스템에 대한 ISO를 만드는 방법

설치된 시스템에 대한 ISO를 만드는 방법

Askubuntu의 주제와 관련이 없기 때문에 여기에 다시 게시합니다.

Linux Mint 17.3을 설치하고, 테마를 사용자 정의하고, 패키지를 제거 및 추가하고, 파일 관리자 등을 많이 변경했습니다. 내가 하는 모든 작업을 부팅 가능한 ISO로 변환하여 친구들에게 배포할 수 있는 쉬운 방법을 알고 싶습니다. rematersys 및 relinix를 사용하여 ISO를 생성할 수 있지만 어떤 이유로 부팅할 수 없습니다. 몇 년 동안 업데이트되지 않았기 때문에 더 이상 지원되지 않는 것 같습니다. 무엇을 사용할 수 있으며 어떻게 사용합니까? Google은 많은 가이드를 제공하지만 정보가 부족하고 오래되었습니다.

대안으로 Systemback을 사용하는 것이 좋지만 다음 오류가 반환됩니다.

Traceback (most recent call last):
File "/usr/lib/linuxmint/mintSources/mintSources.py",
    line 1455, in <module> codename = config_parser.get("general", "base_codename") 
File "/usr/lib/python2.7/ConfigParser.py",
    line 330, in get raise NoSectionError(section) ConfigParser.NoSectionError: No section: 'general

답변1

제 생각에는 다음 단계를 따르면 됩니다(이것은첫 번째그리고두번째단계별 가이드의 일부)...

호스트 준비

sudo apt-get install squashfs-tools 
sudo apt-get install chroot

작업 환경을 설정합니다. 먼저 /tmp/livecd 아래에 iso를 설치합니다.

mkdir /tmp/livecd
sudo mount -o loop ~/Desktop/ubuntu-7.10-desktop-i386.iso /tmp/livecd

그런 다음 작업 디렉토리에 향후 CD 이미지(cd)가 포함된 디렉토리를 만들고 casper/filesystem.squashfs를 제외한 모든 CD 내용을 ~/livecd/cd 디렉토리에 복사합니다.

mkdir ~/livecd
mkdir ~/livecd/cd
rsync --exclude=/casper/filesystem.squashfs -a /tmp/livecd/ ~/livecd/cd

이제 Live CD 파일 시스템을 편집하려는 디렉토리에 내용을 복사할 수 있도록 casper/filesystem.squashfs를 ~/livecd/squashfs라는 디렉토리에 마운트해야 합니다. ~/livecd/custom

mkdir ~/livecd/squashfs
mkdir ~/livecd/custom
sudo modprobe squashfs
sudo mount -t squashfs -o loop /tmp/livecd/casper/filesystem.squashfs ~/livecd/squashfs/
sudo cp -a ~/livecd/squashfs/* ~/livecd/custom

마지막으로 /etc/resolv.conf 및 /etc/hosts를 ~/livecd/custom/etc에 복사하여 사용자 정의하려는 이미지 내에서 chroot를 통해 네트워크에 액세스할 수 있습니다.

sudo cp /etc/resolv.conf /etc/hosts ~/livecd/custom/etc/

우리의 미래 이미지를 입력하세요

이미지를 사용자 정의하기 위해 ~/livecd/custom 디렉토리로 chroot하고 필요한 의사 파일 시스템(/proc 및 /sys)을 마운트합니다. 여기에서 Live CD를 사용자 정의할 수 있습니다.

sudo chroot ~/livecd/custom
mount -t proc none /proc/
mount -t sysfs none /sys/
export HOME=/root

미래의 라이브 CD를 맞춤화하세요

일부 패키지 등을 삭제하세요...

기존 이미지 업데이트

이제 원치 않는 소프트웨어를 제거했으므로 /etc/apt/sources.list를 업데이트하여 유니버스 및 다중 버스 리포지토리는 물론 Gusty-updates, Gusty-security 및 파트너 리포지토리를 활성화하여 vmware-server를 설치할 수 있습니다.

vim /etc/apt/sources.list

(최종 파일은 포스팅 상단의 두 번째 링크에서 보실 수 있습니다)

이제 다음을 실행하여 이미지를 업데이트할 수 있습니다.

apt-get update
apt-get dist-upgrade

새 패키지 설치

원하는 패키지를 설치하세요...

자, 그게 다입니다. 이제 Live CD를 사용하는 데 필요한 모든 소프트웨어가 있습니다. 이제 정리를 좀 할 시간이다.

클린 루트

패키지를 설치할 때 apt는 이러한 패키지를 캐시하므로 공간을 절약하기 위해 패키지를 삭제해야 합니다.

apt-get clean

또한 /tmp에는 삭제해야 할 일부 파일이 있습니다.

rm -rf /tmp/*

chroot 이전에 /etc/hosts 및 /etc/resolv.conf라는 2개의 파일을 추가했습니다. 해당 파일을 삭제해 보겠습니다.

rm -f /etc/hosts /etc/resolv.conf

마지막으로 chroot를 종료하고 CD를 다시 패키지할 준비가 되었습니다. 먼저 /proc 및 /sys를 마운트 해제해야 합니다.

umount /proc/ 
umount /sys/
exit

마지막으로 호스트 시스템으로 돌아갑니다. 일부 패키지를 수정했기 때문에 일부 매니페스트 파일을 다시 작성하고 squashfs를 다시 만들고 ISO를 다시 만들어야 합니다.

ISO 재생성

먼저 매니페스트 파일을 다시 만들어 보겠습니다.

chmod +w ~/livecd/cd/casper/filesystem.manifest
sudo chroot ~/livecd/custom dpkg-query -W --showformat='${Package} ${Version}\n' > ~/livecd/cd/casper/filesystem.manifest
sudo cp ~/livecd/cd/casper/filesystem.manifest ~/livecd/cd/casper/filesystem.manifest-desktop

그리고 squashfs 파일을 재생성합니다.

sudo mksquashfs ~/livecd/custom ~/livecd/cd/casper/filesystem.squashfs
Parallel mksquashfs: Using 2 processors
Creating little endian 3.0 filesystem on ~/livecd/cd/casper/filesystem.squashfs, block size 65536.
....
....

이제 또는 ~/livecd/cd/README.diskdefines 파일을 사용자 정의하고 마지막으로 ~/livecd/cd md5 sums의 파일이 포함된 ~/livecd/cd/md5sum.txt를 업데이트할 수도 있습니다.

sudo rm ~/livecd/cd/md5sum.txt
sudo -s
(cd ~/livecd/cd && find . -type f -print0 | xargs -0 md5sum > md5sum.txt)

이제 거의 완료되었습니다. 마지막으로 남은 일은 다음 명령을 사용하여 ISO를 생성하는 것입니다.

cd ~/livecd/cd
sudo mkisofs -r -V "Ubuntu-Live-Custom" -b isolinux/isolinux.bin -c isolinux/boot.cat -cache-inodes -J -l -no-emul-boot -boot-load-size 4 -boot-info-table -o ~/Desktop/Ubuntu-Live-7.10-custom.iso .

좋습니다. 이제 컴퓨터를 부팅하거나 가상화/에뮬레이션 소프트웨어(예: qemu, kvm, vmware...)를 사용하여 이미지를 테스트할 수 있습니다.

답변2

관련 정보