답변:
다운로드
이 위치 에서 Ubuntu 서버 ISO를 다운로드하십시오 . 32 비트 또는 64 비트로 이동할 수있는 옵션이 있습니다. 서버 에디션의 파일 이름은 다음과 유사합니다.
ubuntu-13.10-server-i386.iso
ubuntu-13.10-server-amd64.iso
다음 지침에 13.10 64 비트 버전이 있다고 가정하므로 다운로드 한대로 명령을 조정하십시오. 프로젝트를 개선해야 할 경우에 대비하여 원본을 다운로드하여 여러 개의 새 버전을 만들 수 있도록 다운로드 사본을 보관하십시오. 또한 ~/Downloads/
모든 일을 하는 데 사용한다고 가정하겠습니다 .
초기 설정
이렇게하면 Downloads 디렉토리 내에 2 개의 디렉토리 "iso"및 "isoNew"가 생성되고 ISO를 마운트하고 "iso"에서 "isoNew"로 내용을 복사하여 새 프로젝트를 시작합니다.
이것을 텍스트 파일에 넣고 저장하고 실행 가능하게 만들고 실행하십시오.
# Ubuntu custom server
# rinzwind askubuntu.com
# topic: http://askubuntu.com/questions/409607/how-to-create-a-customized-ubuntu-server-iso/409651#409651
cd ~/Downloads/
mkdir -p iso newIso
sudo mount -o loop ./ubuntu-13.10-server-amd64.iso ./iso
sudo cp -r ./iso/* ./newIso/
sudo cp -r ./iso/.disk/ ./newIso/
sudo umount ./iso/
cd ~/Downloads/newIso/
mount: block device /discworld/Downloads/ubuntu-13.10-server-amd64.iso is write-protected, mounting read-only
이것이 어떻게 보일지에 대한 예제 이미지 :
실행 :
결과:
부팅 메뉴 옵션 추가
설치 프로그램에 대한 메뉴 옵션에 저장됩니다 isolinux/txt.cfg
그리고 당신은 그 사이 새로운 옵션을 만들 수 있습니다 default install
와 label install
.
"Install Custom Ubuntu server"라는 새로운 옵션이 생성되고 킥 스타트 파일이 추가됩니다 (킥 스타트 파일은 옵션을 변경하는 데 사용됩니다. 아래 설명).
label myownoption
menu label ^Install Custom Ubuntu Server
kernel /install/vmlinuz
append file=/cdrom/preseed/ubuntu-custom.seed initrd=/install/initrd.gz quiet ks=cdrom:/preseed/ks-custom.cfg --
myownoption
옵션을 식별하는 데 사용할 수있는 레이블 일뿐입니다.default install
됩니다 default myownoption
.예:
파일 편집 (나노를 사용했지만 가능한 경우 gedit, vim 또는 다른 편집기를 사용하십시오). 여기에 "lampserver"를 레이블로 사용한이 파일에 추가 한 내용이 있으며 시드 이름도 "lampserver"입니다.
킥 스타트 (구성 파일을 그래픽으로 설정)
Red Hat Kickstart 설치 방법은 주로 Red Hat Enterprise Linux 운영 체제에서 자동으로 운영 체제 설치 및 구성을 자동으로 수행하기 위해 사용됩니다.
우분투 사전 설정 / 킥 스타트에 대한 문서 . 우분투는 킥 스타트 (및 미리 설정)를 제한적으로 지원합니다. 누락 된 것 중 하나는 미리 설정하기위한 그래픽 인터페이스입니다. 킥 스타트 에는 이것에 대한 옵션이 있지만 (이미지 참조) 우분투에서는 작동하지 않는 것 같습니다. 그래도 수동으로 수행 할 수 있습니다 (아래 미리 설정 참조).
킥 스타트 설치 및 시작 :
sudo apt-get install system-config-kickstart
ksconfig
** 경고 **
킥 스타트는 Ubuntu 13.10에서 버그가 발생했으며 시작할 때 오류가 발생합니다. 여기 수정이 있습니다. 주석에 패치를 텍스트 파일에 넣고 저장 한 다음 ( "패치"라고 함) 커밋합니다.
그 후에 ksconfig
는 많은 옵션을 조작 할 수있는 구성 편집기가 시작됩니다.
설정할 수있는 모든 옵션에 대한 설명 은 Red Hat Linux 7.2 : 공식 Red Hat Linux 사용자 정의 안내서 를 참조 하십시오.
완료 한 후 변경 사항을 ks.cfg
파일에 저장하고 변경 중인 ISO에 복사하십시오.
sudo cp ks.cfg ~/Downloads/newIso/preseed/ks-custom.cfg
ks-custom.cfg
에 ~/Downloads/newIso/preseed/
.자격 증명을 삽입 한 예입니다. 나는 sudo ksconfig
커맨드 라인에서 시작했다 .
그리고 프로젝트에 저장 :
미리 설정 (수동으로 구성 파일 설정)
미리 설정을 사용하면 설치가 진행되는 동안 수동으로 답변을 입력하지 않고도 설치 과정에서 질문에 대한 답변을 설정할 수 있습니다. 따라서 대부분의 설치 유형을 완전히 자동화 할 수 있으며 일반 설치 중에 사용할 수없는 일부 기능도 제공합니다.
일반 설치에 필요한 미리 설정을 자신의 레이블로 복사하십시오.
sudo cp newIso/preseed/ubuntu-server.seed newIso/preseed/ubuntu-myownoption.seed
myownoption
를 사용한 것으로 변경하십시오 .이제 설정을 변경합니다. 사용 debconf-get-selections
으로부터 debconf-utils
당신은 당신이 특정 소프트웨어와 함께 사용할 수있는 매개 변수를 조사 할 수 있습니다.
이것을 설정하는 예 :
tasksel과 함께 설치 될 램프 서버 추가 :
"openssh"및 "build-essential"패키지를 추가하려면이를 시드 파일에 포함시킬 수 있습니다.
d-i pkgsel/include string openssh-server build-essential
openssh의 예 :
debconf-get-selections | grep openssh
openssh-server ssh/vulnerable_host_keys note
openssh-server ssh/use_old_init_script boolean true
openssh-server ssh/encrypted_host_key_but_no_keygen note
openssh-server ssh/disable_cr_auth boolean false
이 옵션을에 추가 할 수 있습니다 custom-iso/preseed/ubuntu-myownoption.seed
.
미리 설정 파일의 끝에 다음과 같이 패키지 (임의 예제)를 추가 할 수 있습니다.
% packages openssh-server mysql-server apache2
오프라인 설치
패키지를 추가하고 ISO에없는 패키지는 저장소에서 패키지를 다운로드합니다. 인터넷에 연결되어 있지 않으면 문제가되므로 모든 패키지 (및 종속성)를 프로젝트에 추가하고 DVD로 구워야합니다. 운 좋게도 일반 서버 ISO에는 많은 공간이 있지만주의하십시오. CD 및 / 또는 DVD의 크기는 제한적입니다.
필요한 모든 DEB 패키지를 다운로드하여에 저장하십시오 ~/Downloads/
. 새로운 ISO에는 다음 두 디렉토리가 필요합니다.
mkdir -p ~/Downloads/newIso/dists/stable/extras/binary-i386
mkdir -p ~/Downloads/newIso/pool/extras/
sudo cp ~/Downloads/*.deb newIso/pool/extras/
그러면 새 패키지로 프로젝트가 업데이트됩니다.
cd ~/Downloads/newIso
sudo apt-ftparchive packages ./pool/extras/ > dists/stable/extras/binary-i386/Packages
sudo gzip -c ./dists/stable/extras/binary-i386/Packages | tee ./dists/stable/extras/binary-i386/Packages.gz > /dev/null
cd ~/Downloads/
ISO 만들기
cd ~/Downloads/
sudo md5sum `find ! -name “md5sum.txt” ! -path “./isolinux/*” -follow -type f` > md5sum.txt
sudo mkisofs -J -l -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -z -iso-level 4 -c isolinux/isolinux.cat -o ./ubuntu-13.10-myowninstall-amd64.iso -joliet-long newIso/
결과:
이제 실제로 레코딩하고 설치하여 사용해 볼 수 있습니다. 초기 생성 ISO를 테스트하는 데 더 빠르기 때문에 가상 머신으로 사용하는 것이 좋습니다 (그렇지 않으면 재부팅을 계속합니다).
그리고 VirtualBox를 설치하면 다음 메뉴가 나타납니다.
버그 사냥
설치하는 동안 1 개의 문제가 발생했습니다 : 기본값이 선택되지 않았습니다.
샤딘. 당신의에서 시드 파일 주석에
### Package Selection
tasksel tasksel/first multiselect Custom-Ubuntu-Server
d-i pkgsel/include string openssh-server build-essential
%packages openssh-server postgresql-9.1 postgresql-client-9.1 postgresql-contrib-9.1 libpq-dev postgresql-server-dev-9.1 pgadmin3
아마도 다음과 같아야합니다.
### Package Selection
tasksel tasksel/first multiselect lamp-server
d-i pkgsel/include string openssh-server build-essential postgresql-9.1 postgresql-client-9.1 postgresql-contrib-9.1 libpq-dev postgresql-server-dev-9.1 pgadmin3
당신의 tasksel 라인을 버리고 LAMP 서버를 원하지 않습니다 (예 : Apache, Mysql, Php)