Руководство по настройке Ubuntu Installer

Я пытался прочитать руководства по предварительному отбору и настройке, но я не понимал, как и где изменить какие параметры. Я могу только удобно учиться на практических примерах, для которых я задаю этот вопрос.

Я изучаю предпосевную и индивидуальную настройку решения, чтобы выполнить несколько конкретных задач:

  • Полностью переписать пакеты, установленные по умолчанию, так же, как минимальные установки и с --no-install-recommends флаг apt-get,
  • Добавьте несколько проприетарных приложений в список установки по умолчанию
  • Автоматическая установка и монтирование проприетарных драйверов при установке и сеансе Live
  • Изменить файлы конфигурации по умолчанию для приложений, установленных по умолчанию
  • Укажите разделы вместе с разрешением
  • Измените пул пакетов на установочном носителе (CD/DVD/USB), предпочтительно с помощью инструментов командной строки, аналогичных apt-get а также aptitude,

Может кто-нибудь сказать, пожалуйста, как настроить параметр preseed, чтобы сделать только выше?

NB Я не понимаю часть GPG после добавления / удаления пакетов в пуле.

PS Третий пункт имеет особое значение.

2 ответа

Решение

Для получения справочного материала вы можете обратиться к руководству по установке-i386, в котором содержится следующий образец:

  /usr/share/doc/installation-guide-i386/example-preseed.txt.gz
  • Полностью переписать пакеты, установленные по умолчанию, так же, как минимальные установки
  • Добавьте несколько проприетарных приложений в список установки по умолчанию

Чтобы предоставить список пакетов, которые вы хотите установить, вы можете поискать следующую строку:

  tasksel tasksel/first   multiselect ubuntu-desktop

Где "ubuntu-desktop" можно изменить для произвольного числа пакетов или метапакетов.

  • Автоматическая установка и монтирование проприетарных драйверов при установке и сеансе Live

Кроме того, что указание необходимых пакетов (для проприетарных драйверов), я не уверен, как это будет сделано. Как примечание: вы "монтируете" раздел, вы "загружаете" модуль / драйвер ядра.

  • Изменить файлы конфигурации по умолчанию для приложений, установленных по умолчанию

Чтобы внести подобные изменения в сценарии, вы, вероятно, захотите изучить:

  d-i preseed/late_command string ...

Где "..." можно заменить произвольными командами, такими как, например, sed-i.

  • Укажите разделы вместе с разрешением

В приведенном выше примере есть раздел раздела.

Повсеместность с семенами

Casper поддерживает preseed, и вездесущность может иметь много значений preseeded. Вот некоторые из переменных, которые могут быть заданы в зависимости от повсеместности:

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.

Следующее создает модифицированный загрузочный образ. Запишите его на компакт-диск или вставьте ISO-образ в виртуальную машину, чтобы протестировать его. Тебе понадобиться cpio а также genisoimage (это имена пакетов и исполняемых файлов).

Следующее имеет форму Makefile, но может быть введено в интерактивном режиме. ${IN_ISO} относится к исходному образу ISO (я использовал -alternative версия, и я бы посоветовал вам сделать то же самое), ${OUT_ISO} на желаемое имя 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 и назовите его 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.

Но я бы посоветовал вам не использовать вышеизложенное в качестве примера, а загрузить пример Ubuntu и настроить его под свои нужды 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

Это действительно зависит от того, как работает ваша собственная процедура установки драйвера.

Другие вопросы по тегам