Objectif
Je souhaite installer Ubuntu Desktop 16.04.1 LTS sans surveillance. Placez le CD ISO et éloignez-vous.
Problèmes
- Paramètres de démarrage incorrects
- Questions toujours posées et nécessitant des clics de souris
- Réponses compliquées en utilisant kickstart / preseed
- Les exemples de documentation ne fonctionnent pas comme indiqué, en particulier de partman et ubunutu
Je suis tombé sur cet article ici et il était proche de ce dont j'avais besoin, mais n’a pas tout à fait accompli ce dont j’avais besoin depuis Ubuntu Server. Le post suggère d'utiliser une installation Ubuntu "non graphique", mais je n'ai pas pu trouver d'installation non graphique pour Ubuntu Desktop, ce qui est logique. J'ai essayé d'adapter les étapes et de le faire fonctionner pour Ubuntu Desktop 16.04.1 LTS.
Documentation utilisée
J'ai utilisé toutes les ressources suivantes ...
Apparemment, je ne peux pas inclure toutes mes ressources car askubuntu n'autorise pas plus de 2 liens. Eh bien, ce n'est pas très utile - alors voici juste une liste:
- AskUbuntu
- Ubuntu install.en.pdf
- Exemples de présélection
- Ubiquity Installer Documentation
- Documentation et exemples Partman
- Recette de partition Explication des 3 nombres et de leur pondération
- Un exemple de Preseed plus complexe
Solution actuelle
J'ai actuellement créé une installation sans surveillance, mais je ne suis pas sûr que ce soit correct - ce qui signifie que j'aurais dû éditer le fichier isolinux / isolinux.cfg
Il y avait beaucoup de différences entre la publication liée et l’image du bureau Ubuntu. Voici ma solution:
Étape 1
ISO Ubuntu montée pour que je puisse copier le contenu dans un autre répertoire, puis éditer les fichiers pertinents.
mkdir -p /mnt/iso
mount -o loop ubuntu.iso /mnt/iso
Étape 2
J'ai ensuite copié les fichiers ISO dans un autre répertoire pour les modifier.
mkdir -p /opt/ubuntuiso
cp -rT /mnt/iso /opt/ubuntuiso
Étape 3
J'ai édité le fichier isolinux/isolinux.cfg
et remplacé tous les éléments par les éléments suivants:
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 ---
La ligne d’ajout est très longue donc, pour faciliter la lecture, voici toutes les options que j’ai utilisées:
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
J'ai trouvé que tous ces paramètres de démarrage étaient nécessaires pour obtenir une installation complètement automatique. Pour Ubuntu Server, il peut être différent.
Étape 4
J'ai essayé d'utiliser et de créer de nombreux fichiers préconçus, mais j'ai trouvé le plus complexe, le plus de risques d'erreur. C'est actuellement mon simple fichier de préconfiguration qui fonctionne avec le fichier isolinux.cfg
ci-dessus.
### 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
Je n'ai pas inclus mes mots de passe cryptés, donc si vous essayez ce fichier préconfiguré, veuillez les remplacer par un mot de passe crypté. Ici se trouve 3 façons de créer un mot de passe.
Étape 5
J'ai créé la nouvelle image ISO à partir du répertoire /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
Étape 6
Je l'ai finalement testé avec Virtualbox et il a créé une installation complètement sans surveillance.
Questions
Dois-je modifier le fichier isolinux/isolinux.cfg
?
Dans l’autre article, il semble qu’ils soient capables d’éditer le fichier isolinux/txt.cfg
et de pouvoir faire ce travail. J'ai essayé pendant environ une heure d'utiliser le isolinux/txt.cfg
, mais cela n'a pas fonctionné.
Quelqu'un at-il une recette partman plus complexe qui spécifie directement les partitions? Ou une configuration LVM fonctionnelle? J'ai essayé d'utiliser une configuration LVM simple, mais après le redémarrage, il ne démarrerait pas et se contenterait d'un écran noir. En outre, aucun des exemples de préconfiguration que j'ai répertoriés dans la documentation n'a fonctionné non plus.
Merci pour toute aide.