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.