미리 설정 및 사용자 지정에 대한 가이드를 읽으려고했지만 어떤 옵션을 수정하는 방법과 위치를 이해하지 못했습니다. 나는이 질문을하는 실용적인 예를 통해서만 편안하게 배울 수 있습니다.
몇 가지 특정 작업을 수행하기 위해 솔루션을 미리 설정하고 사용자 지정하는 방법을 찾고 있습니다.
- 최소 설치와 마찬가지로
--no-install-recommends
플래그 가 기본으로 설치된 패키지를 완전히 다시 작성하십시오apt-get
. - 기본 설치 목록에 몇 가지 독점 응용 프로그램 추가
- 설치 및 라이브 세션에서 독점 드라이버 자동 설치 및 마운트
- 기본적으로 설치된 응용 프로그램의 기본 구성 파일 편집
- 권한과 함께 파티션 지정
- 바람직하게는 유사한 명령 줄 도구를 사용하여 설치 미디어 (CD / DVD / USB)에서 패키지 풀을 수정
apt-get
하고aptitude
.
누구든지 위의 작업 만 수행하도록 미리 설정 옵션을 구성하는 방법을 알려주십시오.
NB 풀에 패키지를 추가 / 제거한 후 GPG 부분을 이해하지 못합니다.
PS 세 번째 요점은 특히 중요합니다.
답변
사전 설정 참조에 대해서는 다음 샘플이 포함 된 installation-guide-i386을 참조하십시오.
/usr/share/doc/installation-guide-i386/example-preseed.txt.gz
- 최소 설치와 마찬가지로 기본적으로 설치된 패키지를 완전히 다시 작성
- 기본 설치 목록에 몇 가지 독점 응용 프로그램 추가
설치하려는 패키지 목록을 제공하려면 다음 줄을 찾아보십시오.
tasksel tasksel/first multiselect ubuntu-desktop
“ubuntu-desktop”은 임의의 수의 패키지 또는 메타 패키지로 변경 될 수 있습니다.
- 설치 및 라이브 세션에서 독점 드라이버 자동 설치 및 마운트
(전용 드라이버에 필요한) 패키지를 지정하는 것 외에는 이것이 어떻게 달성 될지 잘 모르겠습니다. 참고로, 파티션을 “마운트”하고 커널 모듈 / 드라이버를 “로드”합니다.
- 기본적으로 설치된 응용 프로그램의 기본 구성 파일 편집
이러한 종류의 스크립트 변경을 수행하려면 다음을 살펴보십시오.
d-i preseed/late_command string ...
예를 들어 “…”를 sed -i와 같은 임의의 명령으로 대체 할 수 있습니다.
- 권한과 함께 파티션 지정
위에서 언급 한 예제에 파티션 섹션이 있습니다.
Preseed와 함께하는 유비 쿼티
캐스퍼는 미리 시드를 지원하며 편재성에는 많은 값이 미리 설정되어있을 수 있습니다. 유비쿼터스와 관련하여 미리 설정 될 수있는 일부 변수는 다음과 같습니다.
ubiquity countrychooser/shortlist select US
ubiquity languagechooser/language-name select English
ubiquity localechooser/supported-locales multiselect en_US.UTF-8
ubiquity ubiquity/summary note
ubiquity ubiquity/reboot boolean true
ubiquity ubiquity/poweroff boolean true
ubiquity ubiquity/success_command string ...
“…”이 위에서 언급 한 late_command와 동일한 것을 포함하는 경우 success_command는 ubiquity로 읽고 late_command는 di로 읽습니다.
답변
다음은 수정 된 부팅 이미지를 만듭니다. CD에 굽거나 ISO를 VM에 삽입하여 테스트하십시오. 당신은해야 cpio
하고 genisoimage
(패키지와 실행 파일의 이름을의 그).
다음은 Makefile 형식이지만 대화식으로 입력 할 수 있습니다. 원하는 ISO 이름 ${IN_ISO}
에 대한 원본 ISO 이미지 ( -alternative
버전을 사용 했으며 같은 작업을 제안합니다) ${OUT_ISO}
를 나타냅니다.
# Extract the ISO image to mount/ and copy it to cdroot/
cdroot:
mkdir -p mount
sudo mount -o loop ${IN_ISO} mount
mkdir cdroot
cd cdroot && tar cf - ../mount --transform 's,^mount/,,' | tar xf -
sudo umount mount && rm -r mount
chmod -R a+rw cdroot
# Copy new files to the disk. Content of those files is posted below
prepare: cdroot
cp isolinux.cfg cdroot/isolinux/isolinux.cfg
test -e ./initrd.orig.gz || cp cdroot/install/initrd.gz ./initrd.orig.gz
mkdir -p initrd
cd initrd && gunzip <../initrd.orig.gz | sudo cpio -i && cd ..
cp preseed.cfg initrd/preseed.cfg
cd initrd && find . | cpio -o --format=newc | gzip -9 > ../cdroot/install/initrd.gz && cd ..
sudo rm -rf initrd
# Create the ISO image. Make sure to use extensions for lower-case filenames
iso: cdroot prepare
genisoimage -o ${OUT_ISO} \
-force-rr -J \
-b isolinux/isolinux.bin -c isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \
cdroot
추가 파일이 필요합니다.
isolinux.cfg
부트 로더를 설정합니다. 부팅 만하면 자동으로 설치 프로세스가 진행됩니다. 다음과 같아야합니다.
default install
label install
menu label ^Install my custom Ubuntu
kernel /install/vmlinuz
append auto initrd=/install/initrd.gz --
# Leave 2 seconds to abort or debug
prompt 1
timeout 20
이것이 실제로 설치를 구성하기 전에 필요한 모든 준비입니다. 사전 시드 예제를 다운로드 하고 이름을 preseed.cfg로 지정하십시오. 그것을 통해 원하는 것을 편집하십시오. 중요한 옵션은 다음과 같습니다.
# Locale
d-i debian-installer/locale string en_US
d-i time/zone string US/Eastern
# Partitioning. The following settings WILL OVERWRITE ANYTHING
# Don't insert the CD into your boss' computer ...
d-i partman-auto/method string regular
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
# To create a normal user account.
d-i passwd/user-fullname string Ubuntu User
d-i passwd/username string ubuntu
d-i passwd/user-password password insecure
d-i passwd/user-password-again password insecure
d-i user-setup/allow-password-weak boolean true
# Package selection. Don't include ubuntu-desktop to significantly reduce the content
tasksel tasksel/first multiselect standard
#d-i preseed/early_command string driver installation commands (stuff needed to boot)
#d-i preseed/late_command string driver installation commands, custom software, etc.
그러나 위의 예제를 사용하지 말고 우분투의 예제를 다운로드하여 필요에 맞게 late_command
구성하십시오. 사용자 정의 소프트웨어를 설치 및 구성하는 스크립트 다운로드 및 실행을 포함하여 쉘에서 무엇이든 할 수 있습니다. 예를 들어 이것을 다음과 같이 사용하십시오 late_command
.
d-i preseed/late_command string in-target sh -c 'wget https://example.com/my/install.sh && sh install.sh'
또는 install.sh
위의 initrd에 배치 하여 직접 실행할 수 있습니다. 내용은 다음과 같습니다.
#!/bin/sh
aptitude install -y x11-apps any-package-you-want-installed
wget http://proprietary.com/drivers/for/ubuntu.tar.gz -O- | tar xf - && sh drivers/instal.sh
독점 드라이버 설치 루틴의 작동 방식에 따라 다릅니다.