У меня была задача развернуть Ubuntu Desktop 16. 04 на нескольких машинах с Windows 10 на них. Конечно, для эффективного выполнения этой задачи мне нужно было найти способ автоматической установки.
Я спросил Google, нашел различные руководства, перепробовал их все ... И вот где я застрял. Что бы я ни делал, у меня всегда был вопрос Выбор типа установки . В качестве бонуса я узнал, что официальная документация ужасно устарела, что есть несколько типов синтаксиса, и все они вообще не работают ...
В конце концов, я увидел свет в конце туннель. Чтобы у других не было такой же борьбы, как у меня, вот инструкции. Он гарантированно сработает, если выполнены все предварительные условия.
Итак:
Вопрос :
Как сделать полностью автоматическую установку Ubuntu 16.04, если у меня есть компьютер или компьютеры с уже установленной системой (например, Microsoft Windows)? И как заставить его устанавливать нужные мне программы после того, как новая система будет готова?
Во-первых, необходимо удовлетворить следующие условия, иначе нет никакой гарантии, это будет работать, если, скажем, Вы будете иметь компьютер с двумя дисками или выберете режим MBR:
Затем:
Загрузите изображение:
wget http://releases.ubuntu.com/16.04.3/ubuntu-16.04.3-desktop-amd64.iso
Извлеките его:
cd folder
xorriso -osirrox on -indev ubuntu-16.04.3-desktop-amd64.iso -extract / custom-iso
Отредактируйте конфигурацию GRUB, например, с nano
:
sudo nano boot/grub/grub.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
set default=0
set timeout=1
menuentry "Install Ubuntu" {
set gfxpayload=keep
linux /casper/vmlinuz.efi file=/cdrom/preseed/ks.seed auto=true priority=critical debian-installer/locale=ru_Ru keyboard-configuration/layoutcode=us ubiquity/reboot=true languagechooser/language-name=Russian countrychooser/shortlist=RU localechooser/supported-locales=ru_RU.UTF-8 boot=casper automatic-ubiquity initrd=/casper/initrd.lz quiet splash noprompt noshell ---
initrd /casper/initrd.lz
}
Обратите внимание на такие параметры как локаль, layoutcode, languagechooser и и т.д. и отредактируйте соответственно.
Создайте конфигурацию для установщика Ubuntu, например, с nano
:
sudo nano preseed/ks.seed
и добавьте следующее:
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
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
d-i partman-md/confirm_nooverwrite boolean true
d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman-efi/non_efi_system boolean true
d-i debian-installer/locale string ru_RU
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
d-i netcfg/choose_interface select auto
d-i clock-setup/utc-auto boolean true
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Moscow
d-i clock-setup/ntp boolean true
d-i mirror/country string RU
d-i apt-setup/multiverse boolean true
d-i apt-setup/restricted boolean true
d-i apt-setup/universe boolean true
d-i passwd/user-fullname string User
d-i passwd/username string user
d-i passwd/user-password-crypted password sOlSUKAdMoT5M
d-i passwd/user-default-groups string adm audio cdrom dip lpadmin sudo plugdev sambashare video
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
ubiquity ubiquity/success_command \
string echo "auto enp0s3" >> /etc/network/interfaces; \
echo "iface enp0s3 inet dhcp" >> /etc/network/interfaces; \
ifup enp0s3; \
apt-get update -y; \
in-target apt-get install -y openssh-server;
Между прочим, обратите внимание на невысказанный feauture Повсеместности. Просто прямо прежде, чем запустить success_command разделяют, он завершает работу интерфейсов (забавный, правильно?), так для установки чего-то из Интернета необходимо настроить интерфейс сначала.
И забыл упоминать, пароль Пользователю здесь является 'qwerty123'. Я настоятельно рекомендую изменить его впоследствии.
Наконец, скомпилируйте новое изображение:
sudo 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 ~/ubuntu/custom-http.iso ~/ubuntu/custom-iso/
И Вы хороши для движения.
Это все. Я надеюсь, что пошаговая демонстрация помогла бы кому-то. Особая благодарность Just_a_fake_account и другим от форума Linux Mint, кто помог решить загадку.