Je souhaite installer Ubuntu Desktop 16.04.1 LTS de manière totalement autonome. Mettez ISO CD dans et partir.
Je suis tombé sur ce message ici et c'était proche de ce dont j'avais besoin, mais je n'ai pas tout à fait accompli ce dont j'avais besoin, car c'était pour Ubuntu Server. La publication suggère d'utiliser une installation "non graphique" d'Ubuntu, mais je ne pouvais pas 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.
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:
J'ai actuellement créé une installation sans assistance, mais je ne suis pas sûr qu'elle soit correcte, ce qui signifie que j'aurais dû modifier le fichier isolinux/isolinux.cfg.
Il y avait beaucoup de différences entre le message que j'ai lié et l'image Ubuntu Desktop. Voici ma solution:
Ubuntu ISO monté afin de pouvoir copier le contenu dans un autre répertoire, puis modifier les fichiers pertinents.
mkdir -p /mnt/iso
mount -o loop ubuntu.iso /mnt/iso
J'ai ensuite copié les fichiers ISO dans un autre répertoire pour les éditer.
mkdir -p /opt/ubuntuiso
cp -rT /mnt/iso /opt/ubuntuiso
J'ai édité le fichier isolinux/isolinux.cfg
et j'ai tout remplacé à l'intérieur par ce qui suit:
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, alors 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 constaté que tous ces paramètres de démarrage étaient nécessaires pour obtenir une installation complètement sans surveillance. Pour Ubuntu Server, cela peut être différent.
J'ai essayé d'utiliser et de créer de nombreux fichiers de préconfiguration, mais j'ai trouvé que le plus complexe, le plus de chances d'erreurs. 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 de préconfiguration, veuillez les remplacer par un mot de passe crypté. Ici est 3 façons de faire le mot de passe.
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
Je l'ai finalement testé avec Virtualbox et cela a créé une installation complètement sans surveillance.
Devrais-je modifier le fichier isolinux/isolinux.cfg
?
Dans l'autre article, il semble qu'ils soient capables de modifier le fichier isolinux/txt.cfg
et de le faire fonctionner. 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 de partman de travail plus complexe qui spécifie directement les partitions? Ou une configuration LVM qui fonctionne? J'ai essayé d'utiliser une configuration simple de LVM, mais après le redémarrage, elle ne démarrerait pas et resterait assise sur un écran noir. En outre, pas un seul des exemples de préconfiguration que j'ai énumérés dans la documentation n'a fonctionné non plus.
Merci pour toute aide.
Je lui ai donné un peu de temps depuis l'origine pour poser ma question afin de voir s'il existait d'autres solutions, mais il semble que la solution que j'ai proposée en attendant soit la seule solution viable que j'ai vue jusqu'à présent.
Comme cela a été la source de beaucoup de confusion, je vais essayer de clarifier la situation. Il semble que certaines des réponses aient essayé d'utiliser l'image Ubuntu 16 Server ] == alors que j'essayais précisément de créer une installation d'image sans surveillance Ubuntu 16 Desktop. Le problème se pose en raison des différences de mise en œuvre de d-i (installateur Debian) et de l’ubiquité. Étant donné que l'image du serveur sera attentive et utilisera toutes les commandes d-i du fichier de préconfiguration, la plupart des questions que j'ai posées ne sont pas pertinentes pour l'image du serveur. Cependant, en raison de l'implémentation de l'ubiquité en tant qu'installateur de l'image du bureau, de nombreuses commandes d-i sont ignorées. Vous êtes très limité et de nombreux documents sont manquants.
Voici mon processus pour créer avec succès un buntu Desktop 16.04 LTS sans surveillance iso.
Vous devrez monter les fichiers ISO pour pouvoir modifier les fichiers pertinents.
mkdir -p /mnt/iso
mount -o loop ~/Downloads/ubuntu-16.04.1-desktop-AMD64.iso /mnt/iso
Nous devrons copier les fichiers au format ISO monté dans un répertoire différent pour pouvoir les éditer. N'hésitez pas à utiliser le répertoire de votre choix. J'ai choisi le répertoire/opt en raison d'un autre guide d'utilisation, mais/tmp peut tout aussi bien être utilisé.
mkdir -p /opt/ubuntuiso
cp -rT /mnt/iso /opt/ubuntuiso
Ici, nous allons éditer le fichier /opt/ubuntuiso/isolinux/txt.cfg et personnaliser nos paramètres d’amorçage pour obtenir une installation complètement autonome comprenant un fichier de préconfiguration. Utilisez n'importe quel éditeur de votre choix:
#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 ---
Veuillez prendre note de quelques points:
Utilisez un fichier de préconfiguration existant avec prudence! Je n'ai trouvé aucun qui fonctionne juste. Cela ne veut pas dire qu’ils n’existent pas, je n’en ai trouvé aucun avec un peu de recherche. Il existe de nombreuses façons de configurer un fichier de préconfiguration, mais j’ai trouvé que de nombreuses options devaient être ignorées, décrites dans la documentation Ubiquity I liée ci-dessus et dans le lien correspondant à preseed/late_command et à ubiquity/success_command. J'inclus mon fichier de preseed de travail simple qui fonctionne avec le fichier txt.cfg ci-dessus.
Pour chaîne netcfg/get_hostname et chaîne netcfg/get_domain, vous pouvez indiquer ce que vous voulez. J'ai utilisé non-assign-hostname et non-assign-domain puisque je le changerai plus tard par le biais d'un processus de script.
Pour toute commande personnalisée que vous souhaitez exécuter après l'installation, vous devez utiliser:
ubiquity ubiquity/success_command string
Suivi de toute commande que vous souhaitez exécuter. Faites attention à continuer les chaînes avec "; \" et à utiliser le "/ target" pour changer tout ce qui concerne le nouveau système installé.
# 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/
Veuillez noter ces éléments tels que je les ai laissés à des fins d'illustration et ils seront probablement différents dans votre commande preseed.
Créez l'ISO pour pouvoir tester votre fichier de préconfiguration. Si vous en utilisez un ou créez le vôtre, vous devrez le tester car ce sera PROBABLE l'endroit où votre processus échouera. J'ai écrit un script pour un test rapide, mais vous pouvez simplement pointer le fichier de préconfiguration sur un fichier de préconfiguration hébergé http: // et le tester très rapidement de cette façon.
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
N'hésitez pas à changer le nom de sortie et le répertoire dans lequel vous allez l'enregistrer.
Je suggère de tester sur virtualbox ou similaire et une fois que cela fonctionne, puis gravez-le sur un DVD. Vous devriez maintenant disposer d’un DVD d’installation sans assistance d’Ubuntu Desktop 16.04 LTS.
J'ai tout écrit en une seule fois et il peut y avoir des erreurs, des fautes de frappe ou des choses qui se sont égarées en cours de route. Si quelqu'un essaie, merci de me prévenir si vous rencontrez une erreur dans le processus. Et rappelez-vous que si vous créez votre propre fichier de préconfiguration, je ne serai probablement pas en mesure de vous expliquer pourquoi votre installation non surveillée est interrompue et ne fonctionne pas car l’ubiquité aime ignorer et ne pas faire certaines choses dans le fichier de préconfiguration. J'espère que cela aide à quelqu'un.
VEUILLEZ NE PAS ESSAYER CETTE MÉTHODE. NE FONCTIONNE PAS (SI VOUS NE ESSAYEZ PAS DE TUER DU TEMPS):
J'ai vu la réponse à tout cela. Je vais vous dire la solution la plus commune. Je n'ai jamais essayé avant moi-même, alors il est peut-être dépassé. Je ne comprends vraiment pas l'intérêt de ce document, car il serait plus simple de procéder à une installation manuelle, mais de toute façon ...
Connectez-vous en tant qu'utilisateur root ou exécutez $ Sudo su -
Téléchargez et montez l'ISO. Ne le faites PAS manuellement sur le site Web Ubuntu.
# mkdir -p /mnt/iso
# mount -o loop ubuntu.iso /mnt/iso
sauvegarder et déplacer les fichiers pertinents.
# mkdir -p /opt/ubuntuiso
# cp -rT /mnt/iso /opt/ubuntuiso
Empêcher la partie linguistique de l'interface graphique d'apparaître
# cd /opt/ubuntuiso
# echo en >isolinux/lang
Ajouter un fichier "Kickstart".
# apt install system-config-kickstart
# system-config-kickstart
[FACULTATIF] Ajoutez des packages pour votre installation
# vim /path/to/ks.cfg #[OPTIONAL]
Ou simplement le rechercher dans vos fichiers et le modifier directement. Ajoutez la section %packages
et placez vos packages sous celle-ci.
%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
Comme je l'ai dit, je ne l'ai jamais fait moi-même. Par conséquent, si vous avez une configuration comme celle décrite ci-dessus, la pile LAMP ne sera peut-être pas installée et vous devrez le faire manuellement plus tard.
Supprimer les questions avec un fichier "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
Activer les fichiers:
# vi isolinux/txt.cfg
Puis chercher:
label install
menu label ^Install Ubuntu Server
kernel /install/vmlinuz
append file=/cdrom/preseed/ubuntu-server.seed vga=788 initrd=/install/initrd.gz quiet --
Vous devrez ensuite ajouter ks=cdrom:/ks.cfg
et preseed/file=/cdrom/ks.preseed
. Supprimez les mots quiet
et vga=788
, ainsi il se présente comme suit:
append file=/cdrom/preseed/ubuntu-server.seed initrd=/install/initrd.gz ks=cdrom:/ks.cfg preseed/file=/cdrom/ks.preseed --
Maintenant, vous pouvez créer la nouvelle réponse:
# 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
Et voilà!
Regardez: https://github.com/core-process/linux-unattended-installation
Ce projet fournit tout ce dont vous avez besoin pour créer une installation sans assistance d’une configuration minimale de Linux, tandis que celle-ci se traduit par une configuration plus légère - comprenant un service OpenSSH et Python - que vous pouvez dériver du programme d’installation standard d’une machine. Distribution Linux. L'idée est que vous effectuerez tout le déploiement ultérieur de vos configurations et services à l'aide d'outils Ansible ou d'outils similaires une fois la configuration minimale terminée.
Bravo Brandon Authier pour votre message et vos instructions, vous m'avez beaucoup aidé.
Cependant, j’ai eu un problème avec votre méthode: j’ai découvert qu’après l’installation et le redémarrage de PC, le GRUB se bloque.
J'ai donc ajouté à la ks.preseed ce qui suit:
# 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
Cela évite de bloquer l'installation de grub si vous ne retirez pas la clé USB. Je l'ai eu de https://www.debian.org/releases/stable/example-preseed.txt
Je suis désolé d'apprendre que ma méthode précédente ne fonctionnait pas. Heureusement, j'ai trouvé un script conçu par Rinck Sonnenberg ( netson ) qui créerait des images ISO AMD64 sans surveillance de Ubuntu Server sur GitHub, et je l'ai créé. J'ai ensuite amélioré le script en ajoutant la possibilité de créer des images ISO I386. J'ai également changé le système d'exploitation d'Ubuntu Server à Ubuntu Desktop. Vous n'avez pas besoin de visiter le référentiel GitHub, vous pouvez simplement suivre les instructions ci-dessous.
Exécutez ces commandes:
$ 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
Parfois, wget
n'est pas disponible. Si tel est le cas, utilisez curl
:
$ curl -O https://raw.githubusercontent.com/iPlus-TechNet/ubuntu-unattended/master/create-unattended-iso.sh
Si aucun fonctionne, téléchargez-le et déplacez-le dans votre dossier personnel.
On vous demandera ensuite quelle version d'Ubuntu installer, puis les questions que Ubuntu poserait si vous effectuez une installation manuelle. Le script téléchargera ensuite l'ISO Ubuntu, puis appliquera les modifications demandées. Vous avez maintenant une image ISO qui est prête pour une installation sans assistance!
Cela devrait répondre à votre question, car cela a bien fonctionné pour moi. Il est également bon que cette méthode soit beaucoup plus facile que ma réponse précédente. J'espère que cela fonctionne pour vous comme pour nous.