나만의 배포판을 만들기 위해 Ubuntu의 핵심 사용자 정의를 수행했습니다. 하지만 설치 가능한 ISO를 만드는 방법을 모르겠습니다. 이 작업을 수행하는 방법을 아는 사람이 있나요?
답변1
두 단계:
- 변경 사항을 패키지화하세요.
- ISO에 패키지를 포함하십시오.
디자인 포장
나는 귀하의 패키지에 다섯 가지 항목이 포함되기를 원합니다.
- 새 구성 파일
- 기존 구성 파일의 스크립트 사용자 정의
- 스크립트 명령
- 필수 종속성
- 편리한 의존성
새로운 프로파일은 소프트웨어 패키지의 일부로 쉽게 설치할 수 있습니다. 가방에 추가하기만 하면 됩니다. /etc/sudoers
또는 등의 파일을 변경한 경우 변경 사항을 또는 /etc/apt/sources.list
에 적용해 보십시오 . sudo로 배포된 버전을 재정의할 것으로 예상하여 자체 버전을 배포하지 마세요 . 패키지가 충돌하여 설치에 실패합니다./etc/sudoers.d/
/etc/apt/sources.list.d/
/etc/sudoers
기존 구성 파일을 정말로 변경해야 하는 경우 해당 파일을 스크립트에 추가하세요 postinst
. prerm
스크립트의 변경 사항을 실행 취소해 보세요 . 여기 몇 가지 예가 있어요.
echo "192.168.1.1 router" >> /etc/hosts
sed 's/PasswordAuthentication yes/PasswordAuthentication no/' -i /etc/ssh/sshd_config
명령(예: useradd
또는 realm
)을 실행해야 하는 경우 postinst
.
이 패키지에 종속성을 추가할 수도 있습니다. 을 변경하는 경우 스크립트가 작동하기 전에 파일이 설치되었는지 확인 /etc/ssh/sshd_config
해야 할 수도 있습니다 . openssh-server
각 파일을 소유한 패키지를 찾을 수 있습니다 dpkg -S /path/to/file
.
사용자 정의 구성에서 원하는 패키지에 대한 종속성을 추가할 수도 있습니다. chromium을 좋아하고 이 이미지를 사용할 때마다 chromium을 설치해야 한다는 것을 알고 있다면 계속해서 chromium에 대한 종속성을 추가하여 apt-get
나중에 수동으로 설치할 필요가 없도록 하세요.
포장 만들기
소프트웨어 패키지를 만드는 데 사용할 수 있는 일부 도구는 다음과 같습니다.dh_make
또는cpack
.
dh_make
즐겨찾는 파일을 추가할 수 있도록 템플릿이 만들어지며, 이 템플릿은 파일을 dpkg-buildpackage
생성 하는 데 사용됩니다. *.deb
모든 옵션을 이해하는 것은 다소 어렵고 연구하고 이해하는 데 시간이 걸리지만 이것이 기본 Debian/Ubuntu 패키지가 생성되는 방식입니다.
cpack
파일을 사용하여 CMakeLists.txt
규칙을 정의합니다. 다음 명령을 사용하여 패키지에 파일을 추가합니다.install()
명령과CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
역할을 정의하는 데 도움이 될 것입니다. 특히 간단한 패키지를 사용하면 배우기가 더 쉽습니다 cpack
.
패키지가 있으면 새 Ubuntu를 부팅하고(chroot 또는 vm을 사용하여) dpkg -i
시스템이 요구 사항을 충족하면 성공한 것입니다. 이제 기본 우분투 설치를 수행하고 이 단일 패키지를 설치하여 사용자 정의할 수 있습니다.
ISO 포장
하지만 한 단계 더 나아가고 싶으신 것 같습니다. 해당 명령을 실행하는 것이 아니라 바로 사용자 정의 기능을 사용하고 싶으신 것입니다. 당신은 할 수 있습니다!
Debian이나 Ubuntu와 같은 방식으로 설치 CD를 생성해야 하지만, 디스크에 자체 패키지를 추가하고 자동으로 설치되도록 설정해야 합니다.
SimpleCDD아마도 데비안 기반 ISO를 만드는 가장 간단한 도구일 것입니다. 하지만 우분투에서 얼마나 잘 작동할지는 잘 모르겠습니다. LiveCD 사용자 정의가장 가능성 있는 해결책인 것 같습니다.