Ubuntu 설치 프로그램 사용자 정의 관련 지침 독점 응용 프로그램 추가 설치

미리 설정사용자 지정에 대한 가이드를 읽으려고했지만 어떤 옵션을 수정하는 방법과 위치를 이해하지 못했습니다. 나는이 질문을하는 실용적인 예를 통해서만 편안하게 배울 수 있습니다.

몇 가지 특정 작업을 수행하기 위해 솔루션을 미리 설정하고 사용자 지정하는 방법을 찾고 있습니다.

  • 최소 설치와 마찬가지로 --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

독점 드라이버 설치 루틴의 작동 방식에 따라 다릅니다.


답변