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

9

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

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

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

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

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

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

Oxwivi
источник
Просто чтобы прояснить, относится ли «Ubuntu Installer» к графическому (uniquity) или альтернативному (debian-installer) установщику?
Компуты
@komputes, либо подойдет.
Oxwivi

Ответы:

6

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

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

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

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

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.

komputes
источник
Нет ли способа изменить конфигурационные файлы заранее? Как предотвратить установку рекомендуемых пакетов? Как добавить проприетарные пакеты для автономной установки?
Oxwivi
Похоже, вы хотите создать пользовательское изображение, как описано здесь: help.ubuntu.com/community/LiveCDCustomization . Изображение также может содержать предварительный файл, в котором вы можете изменить файлы конфигурации, как описано выше. Другой подход заключается в том, что вы также можете создавать свои собственные пакеты для некоторых настроек.
Компуты
Ладно, забудь об изменении конфигурации. Нужно ли мне использовать пользовательские инструкции на CD, чтобы включить пакеты, отсутствующие на диске по умолчанию?
Oxwivi
Я смонтировал изображение, скопировал содержимое в каталог, изменил параметры Ubiquity. Как мне завершить это?
Oxwivi
Чтобы завершить / создать образ ISO, следуйте инструкции под заголовком «Создание образа CD» здесь: help.ubuntu.com/community/LiveCDCustomization
komputes
3

Следующее создает модифицированный загрузочный образ. Запишите его на компакт-диск или вставьте 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

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

phihag
источник
Как я уже сказал в этом вопросе, я хочу получить указания о том, как именно к задачам, которые я перечислил; Как переписать пакеты, которые будут установлены? А как насчет автоматической установки проприетарных драйверов?
Oxwivi
@Oxwivi Напишите скрипт, который установит все, что вы хотите, а затем загрузите и выполните его late_command. Package selectionэто часть, которую вы можете использовать для установки собственных пакетов, но вы также можете сделать это в скрипте.
Phihag
1
@Oxwivi Вы можете установить жокей, а затем удалить его aptitude purge jockeyв сценарии. Я не уверен, что вы подразумеваете под «универсальным способом установки любых проприетарных драйверов». Это общий способ установки любых драйверов с ограниченным доступом, просто поместите пакет драйвера, который вы устанавливаете, в tasksel или after aptitude install -yв сценарии, и он будет работать. Если вы хотите, чтобы ваш образ работал на нескольких машинах, вам, вероятно, придется найти способ спросить у жокея все применимые проприетарные драйверы. ...
phihag
1
@Ocwivi ... Однако установка всех доступных проприетарных драйверов, как правило, плохая идея: проприетарные драйверы, как правило, старые, неподдерживаемые и требуют дополнительной нестандартной конфигурации. Кроме того, вы должны убедиться, что вам разрешено распространять несвободные драйверы.
phihag
1
@Oxwivi Это доверие необоснованно, учитывая, что любой может положить что-нибудь в несвободные репозитории. Тем не менее, это обсуждение далеко за рамками этого вопроса (о предпосевной). Вы должны спросить, как получить список применимых проприетарных драйверов для текущей системы.
phihag