Как я создаю абсолютно необслуживаемую установку Рабочего стола Ubuntu 16.04.1 LTS?

Цель

Я хочу установить Рабочий стол Ubuntu 16.04.1 абсолютно необслуживаемых LTS. Поместите ISO CD в и уйдите.

Проблемы

  • Неправильные параметры начальной загрузки
  • Вопросы, все еще будучи спрошенным и нуждаясь в щелчках мышью
  • Замысловатое использование ответов запускает/предварительно отбирает
  • Примеры документации никакая работа, как указано, конкретно от partman и ubunutu

Я столкнулся с этим сообщением здесь, и это было близко к тому, в чем я нуждался, но не вполне выполнял то, в чем я нуждался, так как это было для Сервера Ubuntu. Сообщение предлагает использовать "неграфическую" установку Ubuntu, но я не мог найти неграфическую установку для Рабочего стола Ubuntu, который имеет смысл. Я пытался адаптировать шаги и получить его работающий на Рабочий стол Ubuntu 16.04.1 LTS.

Используемая документация

Я использовал все следующие ресурсы...

По-видимому, я не могу включать все свои ресурсы, потому что askubuntu не позволяет больше чем 2 ссылки. Хорошо это не очень полезно - таким образом, вот просто список:

  • AskUbuntu
  • Ubuntu install.en.pdf
  • Примеры перед семенем
  • Документация установщика повсеместности
  • Документация Partman и примеры
  • Рецепт раздела Explaination этих 3 чисел и их взвешивания
  • Более сложный пример перед семенем

Текущее решение

Я в настоящее время создавал необслуживаемую установку, но не уверено, корректно ли это - подразумевать, что я должен был отредактировать isolinux/isolinux.cfg

Было много различий между сообщением, которое я связал и Рисунок рабочего стола Ubuntu. Вот мое решение:

Шаг 1

Смонтированный ISO Ubuntu так, чтобы я мог скопировать содержание в другой каталог и затем отредактировать подходящие файлы.

mkdir -p /mnt/iso
mount -o loop ubuntu.iso /mnt/iso

Шаг 2

Я затем скопировал файлы ISO в другой каталог для редактирования.

mkdir -p /opt/ubuntuiso
cp -rT /mnt/iso /opt/ubuntuiso

Шаг 3

Я отредактировал isolinux/isolinux.cfg файл и замененный все внутри следующим:

default live-install
label live-install
  menu label ^Install Ubuntu
  kernel /casper/vmlinuz.efi
  append  file=/cdrom/ks.preseed auto=true priority=critical debian-installer/locale=en_US keyboard-configuration/layoutcode=us ubiquity/reboot=true languagechooser/language-name=English countrychooser/shortlist=US localechooser/supported-locales=en_US.UTF-8 boot=casper automatic-ubiquity initrd=/casper/initrd.lz quiet splash noprompt noshell ---

Добавлять строка очень длинна так для легкого чтения, вот все опции, которые я использовал:

file=/cdrom/ks.preseed 
auto=true 
priority=critical 
debian-installer/locale=en_US 
keyboard-configuration/layoutcode=us 
ubiquity/reboot=true 
languagechooser/language-name=English 
countrychooser/shortlist=US 
localechooser/supported-locales=en_US.UTF-8 
boot=casper 
automatic-ubiquity 
initrd=/casper/initrd.lz 
quiet 
splash 
noprompt 
noshell

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

Шаг 4

Я пытался использовать и создать много файлов перед семенем, но я нашел чем более сложный, тем более случайный для ошибок. Это в настоящее время - мой простой файл перед семенем, который работает с вышеупомянутым isolinux.cfg файл.

### Partitioning
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-auto/choose_recipe select atomic

# This makes partman automatically partition without confirmation
d-i partman-partitioning/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

# Locale
d-i debian-installer/locale string en_US
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us

# Network
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
d-i netcfg/choose_interface select auto

# Clock
d-i clock-setup/utc-auto boolean true
d-i clock-setup/utc boolean true
d-i time/zone string US/Pacific
d-i clock-setup/ntp boolean true

# Packages, Mirrors, Image
d-i base-installer/kernel/override-image string linux-server
d-i base-installer/kernel/override-image string linux-image-amd64
d-i mirror/country string US
d-i mirror/http/proxy string
d-i apt-setup/restricted boolean true
d-i apt-setup/universe boolean true
d-i pkgsel/install-language-support boolean false
tasksel tasksel/first multiselect ubuntu-desktop

# Users
d-i passwd/user-fullname string Liason
d-i passwd/username string liason
d-i passwd/user-password-crypted password [crpyt 3]
d-i passwd/root-login boolean true
d-i passwd/root-password-crypted password [crypt 3]
d-i user-setup/allow-password-weak boolean true

# Grub
d-i grub-installer/grub2_instead_of_grub_legacy boolean true
d-i grub-installer/only_debian boolean true
d-i finish-install/reboot_in_progress note

# Custom Commands

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

Шаг 5

Я создал новый ISO из /opt/ubuntuiso/ каталог.

mkisofs -D -r -V ATTENDLESS_UBUNTU -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /opt/autoinstall.iso /opt/ubuntuiso

Шаг 6

Я наконец протестировал его с Virtualbox, и это создало абсолютно необслуживаемую установку.

Вопросы

Если я должен редактировать isolinux/isolinux.cfg файл?

В другом сообщении кажется, что они могут отредактировать isolinux/txt.cfg файл и может заставить это работать. Я пытался приблизительно в течение часа использовать isolinux/txt.cfg, но это не работало.

У кого-либо есть рабочий более сложный partman рецепт, который непосредственно указывает разделы? Или работа установка LVM? Я пытался использовать простую установку LVM, но это после перезагрузки она не загрузится и просто находилась бы черный экран. Кроме того, ни один из примеров перед семенем, которые я перечислил в документации, не работал также.

Спасибо за любую справку.

52
задан 13 April 2017 в 05:24

7 ответов

Отвечая на

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

Заблуждение

Поскольку это было источником большой путаницы,Я постараюсь это прояснить. Похоже, что некоторые из ответов пытались использовать образ Ubuntu 16 Server , когда я специально пытался создать автоматическую установку образа Ubuntu 16 Desktop. Проблема возникает из-за различий в реализации d-i (установщик debian) и повсеместного распространения. Поскольку образ Сервера будет обращать внимание и использовать все команды d-i в файле preseed, большинство вопросов, которые я задавал, не имеют отношения к образу Сервера. Однако из-за повсеместной реализации в качестве установщика образа рабочего стола многие команды di игнорируются, и вы очень ограничены, а также отсутствует много документации.

Найдены ссылки на документацию

  • Здесь находится ссылка для Ubiquity, игнорирующая preseed / late_command (я считаю, что она также игнорирует preseed / early_command)
  • Здесь - это документация Ubiquity, в которой говорится о том, какие компоненты установщика не будут использоваться в Ubiquity, но, как вы заметите даже в в этой документации говорится, что preseed / early_command, но я бы тщательно протестировал это, чтобы проверить, поскольку это, похоже, не сработало для меня (я признаю, что не тестировал Early_command строго, поэтому я могу ошибаться).

Успешный процесс

Вот мой процесс успешного создания автономного рабочего стола Ubuntu 16.04 LTS iso.

Монтировать Ubuntu ISO

Вам нужно будет смонтировать файлы ISO, чтобы вы могли отредактируйте соответствующие файлы.

mkdir -p /mnt/iso
mount -o loop ~/Downloads/ubuntu-16.04.1-desktop-amd64.iso /mnt/iso

Копирование файлов ISO

Нам нужно будет скопировать файлы в смонтированном ISO в другой каталог, чтобы мы могли их редактировать. Не стесняйтесь использовать любой каталог, который вам нравится, я выбрал каталог / opt из-за другого практического руководства, но / tmp можно было бы так же легко использовать.

mkdir -p /opt/ubuntuiso
cp -rT /mnt/iso /opt/ubuntuiso

Отредактируйте файл txt.cfg

Здесь мы отредактируем / opt / ubuntuiso / isolinux / txt.cfg и настройте наши параметры загрузки, чтобы получить полностью автоматическую установку, которая будет включать файл с предварительной загрузкой. Воспользуйтесь любым редактором по вашему выбору:

#default live
#label live
#  menu label ^Try Ubuntu without installing
#  kernel /casper/vmlinuz.efi
#  append  file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash ---
#label live-install
#  menu label ^Install Ubuntu
#  kernel /casper/vmlinuz.efi
#  append  file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity initrd=/casper/initrd.lz quiet splash ---
#label check
#  menu label ^Check disc for defects
#  kernel /casper/vmlinuz.efi
#  append  boot=casper integrity-check initrd=/casper/initrd.lz quiet splash ---
#label memtest
#  menu label Test ^memory
#  kernel /install/mt86plus
#label hd 
#  menu label ^Boot from first hard disk
#  localboot 0x80

default live-install
label live-install
  menu label ^Install Ubuntu
  kernel /casper/vmlinuz.efi
  append  file=/cdrom/ks.preseed auto=true priority=critical debian-installer/locale=en_US keyboard-configuration/layoutcode=us ubiquity/reboot=true languagechooser/language-name=English countrychooser/shortlist=US localechooser/supported-locales=en_US.UTF-8 boot=casper automatic-ubiquity initrd=/casper/initrd.lz quiet splash noprompt noshell ---

Обратите внимание на несколько моментов:

  • Я закомментировал весь исходный текст в файле.
  • Я добавил весь текст после и включая «по умолчанию live-install» внизу
  • Я назвал файл предварительной загрузки «ks.preseed», и он будет в каталоге верхнего уровня ISO (/ opt / ubuntuiso).

Использование или создание файла предварительной загрузки

Использование уже существующего файла предварительной загрузки с осторожно! Я не нашел ничего, что просто работало. Я не хочу сказать, что их не существует, я просто не нашел ни одного, немного поискав. Есть много способов настроить файл preseed, но я обнаружил, что многие параметры, которые следует игнорировать, изложены в документации Ubiquity, на которую я ссылался выше, и в ссылке для preseed / late_command vs ubiquity / success_command. Я включаю свой простой рабочий файл preseed, который работает с указанным выше файлом txt.cfg.

Для netcfg / get_hostname string и netcfg / get_domain string вы можете поместить все, что захотите быть. Я использовал unassigned-hostname и unassigned-domain, так как я просто изменю его позже с помощью сценария.

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

ubiquity ubiquity/success_command string

После любой команды, которую вы хотите запустить. Обратите внимание на продолжение строк "; \" и используя "/ target" , чтобы изменить что-либо, относящееся к новой установленной системе.

# Partitioning
# Old style using d-i command
#d-i partman-auto/disk string /dev/sda
#d-i partman-auto/method string regular
#d-i partman-lvm/device_remove_lvm boolean true
#d-i partman-md/device_remove_md boolean true
#d-i partman-auto/choose_recipe select atomic

# Newer ubiquity command
ubiquity partman-auto/disk string /dev/sda
ubiquity partman-auto/method string regular
ubiquity partman-lvm/device_remove_lvm boolean true
ubiquity partman-md/device_remove_md boolean true
ubiquity partman-auto/choose_recipe select atomic

# This makes partman automatically partition without confirmation
d-i partman-partitioning/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

# Locale
d-i debian-installer/locale string en_US
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us

# Network
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
d-i netcfg/choose_interface select auto

# Clock
d-i clock-setup/utc-auto boolean true
d-i clock-setup/utc boolean true
d-i time/zone string US/Pacific
d-i clock-setup/ntp boolean true

# Packages, Mirrors, Image
d-i mirror/country string US
d-i apt-setup/multiverse boolean true
d-i apt-setup/restricted boolean true
d-i apt-setup/universe boolean true

# Users
d-i passwd/user-fullname string User
d-i passwd/username string user
d-i passwd/user-password-crypted password yourEncryptedPasswd
d-i passwd/user-default-groups string adm audio cdrom dip lpadmin sudo plugdev sambashare video
d-i passwd/root-login boolean true
d-i passwd/root-password-crypted password rootEncryptedPasswd
d-i user-setup/allow-password-weak boolean true

# Grub
d-i grub-installer/grub2_instead_of_grub_legacy boolean true
d-i grub-installer/only_debian boolean true
d-i finish-install/reboot_in_progress note

# Custom Commands
ubiquity ubiquity/success_command string \
  sed -i -e 's/dns=dnsmasq/#dns=dnsmasq/' /target/etc/NetworkManager/NetworkManager.conf ;\
  cp -a /cdrom/scripts/ /target/root/ ;\
  cp -a /cdrom/salt/ /target/root/

Обратите внимание на эти вещи, поскольку я оставил их для иллюстративных целей, и они, вероятно, будут отличаться в вашей команде preseed.

  • Пароль пользователя / root должен быть добавлен вами. Здесь - ссылка, которая показывает вам 3 различных способа создания пароля crypt 3.
  • Вы можете изменить группы, которым назначен ваш пользователь.
  • Вы определенно захотите изменить success_command . Я оставил его, чтобы показать, как его можно отформатировать и как использовать среду / target .

Создать новый ISO

Создайте ISO, чтобы вы могли протестировать свой файл preseed. Если вы используете один или делаете свой собственный, вам нужно будет протестировать его, поскольку это ВЕРОЯТНО место, где ваш процесс завершится ошибкой. Я написал сценарий для быстрого тестирования, но вы могли просто указать файл preseed на http: // размещенный файл preseed и протестировать его очень быстро.

mkisofs -D -r -V "UNATTENDED_UBUNTU" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /tmp/ubuntu16-desktop-unattended-install.iso /opt/ubuntuiso

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

Записать ISO

Я бы посоветовал протестировать виртуальный бокс или что-то подобное, и как только он заработает, запишите его на DVD. Теперь у вас должен быть рабочий DVD-диск с автоматической установкой Ubuntu Desktop 16.04 LTS.

Отзывы, исправления, ошибки

Я написал все это за один присест, и в процессе могут быть ошибки, опечатки или что-то напутанное. Если кто-то попытается это сделать, сообщите мне, если вы столкнетесь с ошибкой в ​​процессе. И, пожалуйста, помните, что если вы создадите свой собственный файл preseed, я, вероятно, не смогу ответить, почему ваша автоматическая установка не работает и не работает, поскольку вездесущность любит игнорировать и не выполнять определенные действия в файле preseed. Надеюсь, это кому-нибудь поможет.

24
ответ дан 23 November 2019 в 00:02

Мне жаль слышать, что мой предыдущий метод не сработал. К счастью, я нашел сценарий, разработанный Ринком Зонненбергом ( netson ), который создавал бы автономные ISO-образы AMD64 сервера Ubuntu на GitHub, и я его разветвил. Затем я улучшил сценарий, добавив возможность создавать ISO-образы I386. Я также сменил ОС с Ubuntu Server на Ubuntu Desktop. Вам не нужно посещать репозиторий GitHub, вы можете просто следовать приведенным ниже инструкциям.

Выполните следующие команды:

$ wget https://raw.githubusercontent.com/iPlus-TechNet/ubuntu-unattended/master/create-unattended-iso.sh
$ chmod +x create-unattended-iso.sh
$ sudo ./create-unattended-iso.sh

Иногда wget недоступен. В этом случае используйте curl :

$ curl -O https://raw.githubusercontent.com/iPlus-TechNet/ubuntu-unattended/master/create-unattended-iso.sh

Если ничего из этого не работает, загрузите его и переместите в свою домашнюю папку.

Затем вас спросят, какая версия Ubuntu для установки, а затем вопросы, которые Ubuntu задает, если вы выполняете установку вручную. Затем сценарий загрузит ISO-образ Ubuntu и применит к нему запрошенные изменения. Теперь у вас есть ISO, готовый для автоматической установки!

Это должно ответить на ваш вопрос, потому что у меня он отлично сработал. Также хорошо, что этот метод намного проще, чем мой предыдущий ответ. Надеюсь, это сработает для вас, как и для нас.

1
ответ дан 23 November 2019 в 00:02

ПОЖАЛУЙСТА, НЕ ПЫТАЙТЕСЬ ЭТОМ МЕТОДОМ. НЕ РАБОТАЕТ (ЕСЛИ ВЫ НЕ ПЫТАЕТЕСЬ УБИТЬ ВРЕМЯ):

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

Войдите в систему как root или запустите $ sudo su -

Загрузите и смонтируйте ISO. НЕ делайте это вручную с веб-сайта Ubuntu.

# mkdir -p /mnt/iso
# mount -o loop ubuntu.iso /mnt/iso

создайте резервную копию и переместите соответствующие файлы.

# mkdir -p /opt/ubuntuiso
# cp -rT /mnt/iso /opt/ubuntuiso

Запретить отображение языковой части графического интерфейса

# cd /opt/ubuntuiso
# echo en >isolinux/lang

Добавить файл «Kickstart».

# apt install system-config-kickstart
# system-config-kickstart

[НЕОБЯЗАТЕЛЬНО] Добавьте пакеты для вашей установки

# vim /path/to/ks.cfg #[OPTIONAL]

Или просто найдите его в своих файлах и отредактируйте напрямую. Добавьте раздел % packages и поместите в него свои пакеты.

%packages
# Add your packages below. Example:
@ ubuntu-server
apache2
mysql-server
php7.0
php-pear
libapache2-mod-php7.0 
php7.0-mysql
php7.0-curl
php7.0-json
php7.0-cgi

Как я уже сказал, я никогда не делал этого сам, поэтому, если у вас была конфигурация, подобная приведенной выше, она может не установить LAMP стек, и вам придется сделать это позже вручную.

Подавите вопросы с помощью файла "preseed".

# echo 'd-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition \
select Finish partitioning and write changes to disk
d-i partman/confirm boolean true' > ks.preseed

Активируйте файлы:

# vi isolinux/txt.cfg

Затем выполните поиск:

label install
  menu label ^Install Ubuntu Server
  kernel /install/vmlinuz
  append  file=/cdrom/preseed/ubuntu-server.seed vga=788 initrd=/install/initrd.gz quiet --

Затем вам нужно будет добавить ks = cdrom: /ks.cfg и preseed / file = / cdrom / ks.preseed . Удалите слова quiet и vga = 788 , чтобы он выглядел так:

append file=/cdrom/preseed/ubuntu-server.seed initrd=/install/initrd.gz ks=cdrom:/ks.cfg preseed/file=/cdrom/ks.preseed --

Теперь вы можете создать новый ответ:

# mkisofs -D -r -V "ATTENDLESS_UBUNTU" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /opt/autoinstall.iso /opt/ubuntuiso

И вот так!

-1
ответ дан 23 November 2019 в 00:02

Взгляните на: https://github.com/core-process/linux-unattended-installation

Этот проект предоставляет все, что вам нужно для создания автоматической установки с минимальной настройкой Linux, в то время как минимальный означает наиболее легкую настройку, включая службу OpenSSH и Python, которую вы можете получить из стандартного установщика дистрибутива Linux. Идея состоит в том, что после завершения минимальной настройки вы будете выполнять все дальнейшее развертывание своих конфигураций и служб с помощью Ansible или аналогичных инструментов.

3
ответ дан 23 November 2019 в 00:02

Отличная работа, Брэндон Атье для вашего сообщения и инструкции, вы мне очень помогли.

У меня была одна проблема с вашим методом: Я обнаружил, что после завершения установки и перезагрузки ПК GRUB зависает.

Поэтому я добавил в ks.preseed следующее:

# Due notably to potential USB sticks, the location of the MBR can not be
# determined safely in general, so this needs to be specified:

d-i grub-installer/bootdev  string /dev/sda

# To install to the first device (assuming it is not a USB stick):
#d-i grub-installer/bootdev  string default

Это предотвращает сбой установки grub, если вы не удалите USB-накопитель. Я получил это из https://www.debian.org/releases/stable/example-preseed.txt

2
ответ дан 23 November 2019 в 00:02

Большое спасибо! Это лучший ответ, который я нашел на этот вопрос. Часть автоматической установки работает как шарм. Просто хочу добавить в часть создания нового iso файла. Образ iso, созданный с помощью команды в вашем ответе, отлично работает для установки виртуальной машины в моих тестах, но не для загрузочных USB-накопителей. Тот, который я попробовал ниже, отлично подходит для создания установочного USB-носителя и загрузки в режиме UEFI.

OLD_IMAGE=/path/to/iso
MBR_FILE=/tmp/ubuntu_isohybrid_mbr.img
dd if="$OLD_IMAGE" bs=1 count=446 of="$MBR_FILE"

IMAGE=custom.iso
BUILD=/mnt/iso

xorriso -as mkisofs -r -V "Custom Ubuntu Install CD" \
            -cache-inodes -J -l \
            -isohybrid-mbr "$MBR_FILE" \
            -c isolinux/boot.cat \
            -b isolinux/isolinux.bin \
               -no-emul-boot -boot-load-size 4 -boot-info-table \
            -eltorito-alt-boot \
            -e boot/grub/efi.img \
               -no-emul-boot -isohybrid-gpt-basdat \
            -o "$IMAGE" \
            "$BUILD"

rm "$MBR_FILE"

А чтобы автоматизация работала в режиме UEFI, вам также необходимо отредактировать boot / grub / grub.cfg на изображении почти так же, как isolinux.cfg , упомянутый в ответе выше. Мой выглядит как

if loadfont /boot/grub/font.pf2 ; then
    set gfxmode=auto
    insmod efi_gop
    insmod efi_uga
    insmod gfxterm
    terminal_output gfxterm
fi

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

menuentry "Customized Automatic Install" {
    set gfxpayload=keep
    linux   /casper/vmlinuz  file=/cdrom/preseed/custom.seed boot=casper automatic-ubiquity initrd=/casper/initrd quiet splash noprompt noshell ---
    initrd  /casper/initrd
}

, где custom.seed - это файл предварительной загрузки, который я использую, и я поместил некоторые настройки локали в файл предварительной загрузки, а не оставлял их в этой строке.

0
ответ дан 5 January 2021 в 22:37

Прежде всего, большое спасибо Брэндону за то, что он проработал все это !! В Интернете очень много файлов preseed, что свидетельствует о необходимости пропустить экраны установки.

С выходом 20.04 я хотел добавить пару заметок из моих тестов. Я использую Kubuntu, но он выглядит идентично для других Buntus:

  • ТЕКУЩЕЕ РЕДАКТИРОВАНИЕ: если вы используете virt-manager, вы можете установить его на необработанный (ext4) раздел и установить на весь диск, пропуская разделение рецептов partman, если вы можете. (Я использую один раздел подкачки для всех ОС Linux или большой файл подкачки в другом разделе, чтобы быстрее создавать резервные копии целых копий разделов ОС). Было бы быстрее скопировать этот раздел по сети, чем устанавливать его на многих машинах с USB (если у вас нет большой системы клонирования USB).
  • Я использую AIOBOOT в качестве меню загрузки (включая Refind, Clover и т. Д.), Поэтому я никогда не меняйте систему GRUB. И установка на виртуальную машину возвращает это значение null, но используйте efibootmgr --help, если вы нарушили порядок загрузки.
  • Мне не удавалось заставить работать выбор из меню по умолчанию isolinux.cfg (см. Ниже). Не нужен boot = casper. Измените vesamenu.c32 по умолчанию на установку по умолчанию или то, как вы называете свой пункт меню, из здесь .. все еще не работает. Кстати, изначально в 20.04 не было записи для прямой установки.
  • Мне довелось сначала попробовать Kickstarter,поэтому он дал мне ks.cfg (который не работал) и ks.preseed (с одной строкой). Поскольку в ISO существовал kubuntu.preseed, я скопировал эти строки в ks.preseed (содержимое ниже), а затем добавил магию preseed Брэндона, изменив пользовательские команды. Он также зашифровал мой общий стартовый пароль на $ 1 $ D2dImaFN $ AEBMU.qOh2qer0v / alzeH0 , то есть 123 . Вы можете подключить его, как я сделал ниже. Не забудьте его изменить;)!
  • Более подробная информация об автоматической установке от Ubuntu здесь . Возможно, он устарел, поскольку Kickstarter утверждает, что он работает, хотя «Этот метод не так гибок, как метод файла предварительной конфигурации, описанный выше, но требует меньших знаний о том, как работает установщик». Официальный пример пресида из Ubuntu - здесь .
  • Изменен тайм-аут 30 в файлеolatedinux / isolinux.cfg на 1
  • Важное изменение в файле isolinux / txt.cfg от возможно-повсеместного до автоматического-повсеместного . Это установщик. Возможно only-ubiquity , подробнее здесь .
  • Я использовал строки для разделения в ks.preseed из здесь , потому что все они используют новую повсеместность команда. Только одна дополнительная строка выглядит другой partman-lvm / confirm string boolean true . Я не проверял Брендона.
default install
...all the original entries...
label install
  menu label ^Install kUbuntu auto
  kernel /casper/vmlinuz
  append  file=/cdrom/ks.preseed auto=true priority=critical debian-installer/locale=en_US keyboard-configuration/layoutcode=us ubiquity/reboot=true languagechooser/language-name=English countrychooser/shortlist=US localechooser/supported-locales=en_US.UTF-8 automatic-ubiquity initrd=/casper/initrd --
# Enable extras.ubuntu.com.
d-i apt-setup/extras    boolean true
# Install the Kubuntu desktop.
tasksel tasksel/first   multiselect kubuntu-desktop
#tasksel tasksel/first   multiselect ubuntu-desktop
# Install KDE translation packages.
d-i pkgsel/language-pack-patterns   string language-pack-kde-$LL kde-i18n-$LL
# Install the KDE oem-config frontend (if in OEM mode).
d-i oem-config-udeb/frontend    string kde
# On live DVDs, don't spend huge amounts of time removing substantial
# application packages pulled in by language packs. Given that we clearly
# have the space to include them on the DVD, they're useful and we might as
# well keep them installed.
ubiquity    ubiquity/keep-installed string icedtea6-plugin openoffice.org

# Partitioning
# Not needed if only one disk
#ubiquity   partman-auto/disk string /dev/sda

ubiquity    partman-auto/method string regular
ubiquity    partman-lvm/device_remove_lvm string boolean true
ubiquity    partman-md/device_remove_md string boolean true
ubiquity    partman-lvm/confirm string boolean true
ubiquity    partman-auto/choose_recipe select atomic

ubiquity    partman/confirm_write_new_label string boolean true
ubiquity    partman/choose_partition select finish
ubiquity    partman/confirm string boolean true
ubiquity    partman/confirm_nooverwrite string boolean true

# Locale
d-i debian-installer/locale string en_US
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us

# Network
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
d-i netcfg/choose_interface select auto

# Clock
d-i clock-setup/utc-auto boolean true
d-i clock-setup/utc boolean true
d-i time/zone string US/Pacific
d-i clock-setup/ntp boolean true

# Packages, Mirrors, Image
d-i mirror/country string US
d-i apt-setup/multiverse boolean true
d-i apt-setup/restricted boolean true
d-i apt-setup/universe boolean true

# Users
d-i passwd/user-fullname string User
d-i passwd/username string user
d-i passwd/user-password-crypted password $1$D2dImaFN$AEBMU.qOh2qer0v/alzeH0
d-i passwd/user-default-groups string adm audio cdrom dip lpadmin sudo plugdev sambashare video
d-i passwd/root-login boolean true
d-i passwd/root-password-crypted password $1$D2dImaFN$AEBMU.qOh2qer0v/alzeH0
d-i user-setup/allow-password-weak boolean true

# Grub
d-i grub-installer/grub2_instead_of_grub_legacy boolean true
d-i grub-installer/only_debian boolean true
d-i finish-install/reboot_in_progress note

# Custom Commands
ubiquity ubiquity/success_command string \
  echo 'command1' ;\
  read -p "Press enter to continue" ;

Еще немного об установке на необработанный раздел через виртуальную машину. В настоящее время раздел не распознается gparted, но я могу создать новую виртуальную машину в virt-manager, и она загрузится. Чтобы установить в virt-manager, просто выберите установку ISO, введите раздел / dev / sda # (или, что более безопасно: / dev / disk / by-id / ...) в настраиваемое поле хранилища. Нажмите «Настроить» перед установкой, и вы сможете добавить дополнительное оборудование (кнопка внизу) для хранения в виде устройств IDE или SATA. Мне пришлось изменить прямую загрузку ядра в параметрах загрузки, чтобы добавить пути и аргументы, указывающие на правильный UUID BOOT_IMAGE = / boot / vmlinuz-4.18.0-14-generic root = UUID = ... , но это было после того, как я преобразовал VirtualBOX VDI, и на этот раз он просто загружается без этих полей. Однако мне нужно проверить, загружается ли он с жесткого диска через мой менеджер загрузки. Кроме того, я слышал, что Vagrant - новый менеджер виртуальных машин. Также измените Network в virt-manager на NAT.

0
ответ дан 5 January 2021 в 22:37

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

Похожие вопросы: