Я попытался прочитать руководства для предварительного отбора и настройки, но я не понял, как и где изменить который опции. Я могу только удобно учиться через практические примеры, для которых я задаю этот вопрос.
Я изучаю предварительный отбор и настраиваю решение просто сделать несколько определенных задач:
--no-install-recommends
флаг apt-get
.apt-get
и aptitude
.Кто-либо может сказать мне, как настроить опцию перед семенем только сделать вышеупомянутое?
NB я не понимаю часть GPG после добавляющих/удаляющих пакетов в пуле.
PS третья точка имеет особое значение.
Для получения справочного материала вы можете обратиться к руководству по установке-i386, в котором содержится следующий пример:
/usr/share/doc/installation-guide-i386/example-preseed.txt.gz
blockquote>
- Полностью переписать пакеты, установленные по умолчанию, очень как минимальные установки
- Добавить несколько проприетарных приложений в список установки по умолчанию
Чтобы предоставить список пакетов, которые вы хотите установить, вы можете поискать следующее line:
tasksel tasksel/first multiselect ubuntu-desktop
Где «ubuntu-desktop» можно изменить для произвольного числа пакетов или метапакетов.
blockquote>
- Автоматическая установка и монтирование проприетарных драйверов при установке и сеансе live
Другое, в котором указаны необходимые пакеты (для проприетарных драйверов), я не уверен, как это будет достигнуто. Как примечание: вы «монтируете» раздел, вы «загружаете» модуль / драйвер ядра.
blockquote>
- Редактировать файлы конфигурации по умолчанию для приложений, установленных по умолчанию
Чтобы внести подобные изменения в сценарии, вы, вероятно, захотите посмотреть:
d-i preseed/late_command string ...
Где «...» можно заменить произвольными командами, такими как, например, sed -i.
blockquote>
- Укажите разделы вместе с разрешением
В приведенном выше примере семени есть раздел раздела.
Ubiquity with preseed
blockquote>Casper поддерживает preseed, и ubiquity может иметь много значений. Вот некоторые из переменных, которые могут быть заданы как относящиеся к вездесущности:
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. 1118]
Следующее создает модифицированный загрузочный образ. Запишите его на компакт-диск или вставьте 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
Это действительно зависит от того, как работает ваша процедура установки проприетарного драйвера.