Ubuntu 설치 프로그램 사용자 정의 관련 지침


9

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

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

  • 최소 설치와 마찬가지로 --no-install-recommends플래그 가 기본으로 설치된 패키지를 완전히 다시 작성하십시오 apt-get.
  • 기본 설치 목록에 몇 가지 독점 응용 프로그램 추가
  • 설치 및 라이브 세션에서 독점 드라이버 자동 설치 및 마운트
  • 기본적으로 설치된 응용 프로그램의 기본 구성 파일 편집
  • 권한과 함께 파티션 지정
  • 바람직하게는 유사한 명령 줄 도구를 사용하여 설치 미디어 (CD / DVD / USB)에서 패키지 풀을 수정 apt-get하고 aptitude.

누구든지 위의 작업 만 수행하도록 미리 설정 옵션을 구성하는 방법을 알려주십시오.

NB 풀에 패키지를 추가 / 제거한 후 GPG 부분을 이해하지 못합니다.

PS 세 번째 요점은 특히 중요합니다.


"Ubuntu 설치 프로그램"은 그래픽 (고유) 또는 대체 (debian-installer) 설치 프로그램을 나타냅니다.
— komputes

@ komputes도 마찬가지입니다.
— Oxwivi

답변:


6

사전 설정 참조에 대해서는 다음 샘플이 포함 된 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로 읽습니다.


미리 구성 파일을 변경할 수있는 방법이 없습니까? 권장 패키지 설치를 어떻게 방지합니까? 오프라인 설치를 위해 독점 패키지를 어떻게 추가합니까?
— Oxwivi

help.ubuntu.com/community/LiveCDCustomization 여기에 설명 된대로 사용자 정의 이미지를 작성하려는 것처럼 들립니다 . 이미지에는 이전에 설명 된대로 구성 파일을 변경할 수있는 사전 설정 파일이 포함될 수도 있습니다. 또 다른 방법은 일부 사용자 정의를 위해 자체 패키지를 작성할 수도 있다는 것입니다.
— komputes

구성 변경을 잊어 버리십시오. 기본적으로 디스크에없는 패키지를 포함 시키려면 사용자 정의 CD 지침이 필요합니까?
— Oxwivi

이미지를 마운트하고 내용을 디렉토리에 복사하고 유비 쿼티 매개 변수를 수정했습니다. 어떻게 마무리합니까?
— Oxwivi

ISO 이미지를 완성 / 구축하려면 여기에서 "CD 이미지 생성"이라는 제목의 채터를 따르십시오. help.ubuntu.com/community/LiveCDCustomization
— komputes

3

다음은 수정 된 부팅 이미지를 만듭니다. 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

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


내가 질문에서 말했듯이, 나는 내가 열거 한 작업이 얼마나 정확하게 수행되는지에 대한 지침을 원합니다. 설치 될 패키지를 어떻게 다시 작성합니까? 독점 드라이버 자동 설치는 어떻습니까?
— Oxwivi

@Oxwivi 원하는 모든 것을 설치하는 스크립트를 작성하고로 다운로드하여 실행하십시오 late_command. Package selection자체 패키지를 설치하는 데 사용할 수있는 부분이지만 스크립트에서 수행 할 수도 있습니다.
— phihag

1
@Oxwivi jockey를 설치하고 나중에 aptitude purge jockey스크립트에서 제거 할 수 있습니다 . "모든 종류의 독점 드라이버를 설치하는 일반적인 방법"이 무엇을 의미하는지 잘 모르겠습니다. 이것은 제한된 드라이버를 설치 하는 일반적인 방법 이며, 설치하려는 드라이버 패키지를 tasksel에 넣거나 aptitude install -y스크립트에 넣으면 작동합니다. 여러 컴퓨터에서 이미지를 작동 시키려면 모든 해당 독점 드라이버에 대해 기수를 요청하는 방법을 찾아야 할 것입니다. ...
— phihag

1
@Ocwivi ... 그러나 사용 가능한 모든 독점 드라이버를 설치하는 것은 일반적으로 나쁜 생각입니다. 독점 드라이버는 일반적으로 오래되고 지원되지 않으며 추가 비표준 구성이 필요합니다. 또한 무료가 아닌 드라이버를 법적으로 배포 할 수 있도록 허용 해야합니다 .
— phihag

1
@Oxwivi 누구나 무료가 아닌 저장소에 무엇이든 넣을 수 있다는 점을 감안하면 그 신뢰는 근거가 없습니다. 그러나이 논의는 (미리 미리 설정에 관한)이 질문의 범위를 벗어납니다. 현재 시스템에 적용 가능한 독점 드라이버 목록을 얻는 방법을 문의해야합니다.
— phihag
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.