Table of Contents
Ubuntu Installation automatique avec kickstart
Table of Contents
Pour les installations sans assistance sur plusieurs ordinateurs, il est possible d'effectuer des installations entièrement automatiques à l'aide de Kickstart ou du programme d'installation Ubuntu lui-même.
Installation automatique à l'aide du programme d'installation Ubuntu
Le programme d'installation Ubuntu prend en charge l'automatisation des installations via des fichiers de préconfiguration. Un fichier de préconfiguration peut être chargé à partir du réseau ou d'un support amovible, et utilisé pour répondre aux questions posées pendant le processus d'installation.
Automatisation de l'installation à l'aide de la préconfiguration, présente une documentation complète sur la préconfiguration, avec un exemple de fichier.
Installation automatique à l'aide de Kickstart
Le programme d’installation Ubuntu prend en charge l’automatisation des installations à l’aide des fichiers Kickstart, conçus par Red Hat pour une utilisation dans le programme d’installation Anaconda. Cette méthode n’est pas aussi souple que la méthode du fichier de préconfiguration ci-dessus, mais elle nécessite moins de connaissances sur le fonctionnement du programme d’installation.
Cette section décrit uniquement les bases et les différences entre Anaconda et le programme d’installation Ubuntu. Reportez-vous à la documentation Red Hat pour des instructions détaillées.
Pour générer un fichier Kickstart, installer le paquet system-config-kickstart
. Cela offre une interface utilisateur graphique pour les différentes options disponibles.
Une fois qu'on a le fichier Kickstart, on peut le modifier si nécessaire et le placer sur un serveur Web, FTP ou NFS, ou le copier sur le support de démarrage de l’installateur. Où qu'il soit placé , il faut transmettre un paramètre au programme d'installation au moment du démarrage pour lui indiquer d'utiliser le fichier.
Pour que le programme d'installation utilise un fichier Kickstart téléchargé à partir d'un serveur Web ou FTP, ajouter ks=http://url/to/ks.cfg
ou ks=ftp://url/to/ks.cfg
aux paramètres de démarrage du noyau. Cela nécessite que l'installateur soit capable de configurer le réseau via DHCP sur la première interface connectée sans se poser de questions; il faudra peut-être aussi ajouter ksdevice=eth1
ou similaire si le programme d’installation ne parvient pas à déterminer automatiquement la bonne interface.
De même, pour que le programme d'installation utilise un fichier Kickstart sur un serveur NFS, ajouter ks=nfs:server:/path/to/ks.cfg
aux paramètres de démarrage du noyau. La méthode prise en charge par Anaconda consistant à ajouter un paramètre de démarrage “ks” simple pour déterminer l'emplacement du fichier Kickstart à partir d'une réponse DHCP n'est pas encore prise en charge par le programme d'installation Ubuntu.
Pour placer un fichier Kickstart sur un CD, il faut remanier (avec mkisofs par exemple) l'image ISO afin d'inclure le fichier Kickstart et ajouter ks=cdrom:/path/to/ks.cfg
aux paramètres de démarrage du noyau.
Caractéristiques ajoutées
Le programme d’installation Ubuntu prend en charge quelques extensions de Kickstart nécessaires à l’installation automatique d’Ubuntu:
- La commande rootpw utilise maintenant l'option –disabled pour désactiver le mot de passe root. Si cela est utilisé, l'utilisateur initial recevra les privilèges root via sudo.
- Une nouvelle commande utilisateur a été ajoutée pour contrôler la création de l'utilisateur initial:
user joe --fullname "Joe User" --password iamjoe
- L'option –disabled empêche la création de tout utilisateur non root.
- L'option –fullname spécifie le nom complet de l'utilisateur, par opposition au nom d'utilisateur Unix.
- L'option –password fournit le mot de passe de l'utilisateur, par défaut en clair (dans ce cas, il faut s'assurer que le fichier Kickstart est gardé confidentiel!);
- l'option –iscrypted peut être utilisée pour indiquer que le mot de passe est déjà haché par MD5.
- Une nouvelle commande preseed a été ajoutée pour fournir un moyen pratique de préconfigurer des éléments supplémentaires dans la base de données debconf qui ne sont pas directement accessibles à l'aide de la syntaxe Kickstart ordinaire:
preseed --owner gdm shared/default-x-display-manager select gdm
- Si la valeur contient des caractères spéciaux, elle doit être quotée comme suit:
preseed preseed/late_command string "sed -i 's/foo/bar/g' /target/etc/hosts"
- L'option –owner définit le nom du paquet propriétaire de la question; Si omis, d-i est utilisé par défaut, ce qui est généralement approprié pour les éléments affectant la première étape de l'installateur. Les trois arguments obligatoires sont le nom de la question, le type de question et la réponse, dans cet ordre, tels qu'ils seraient fournis en entrée de la commande debconf-set-selections.
- Depuis Ubuntu 6.10, l'option de clavier prend les noms de mise en page X. Pour utiliser une variante de clavier X, définir cette option sur
layout_variant
, avec les valeurs appropriées de layout et de variante. Par exemple,in_guj
sélectionne la variante gujarati de la présentation indienne. - On peut utiliser la commande apt-install pour installer les packages dans les scripts
%post --nochroot
(bien que l'on puisse également choisir de générer une section%packages
dans un script%pre
et de l’inclure à l’aide de%include
). Cela ne fonctionne pas si le script de post-installation est exécuté dans l'environnement chrooté.
Caractéristiques manquantes
Pour l'instant, le programme d'installation Ubuntu ne prend en charge qu'un sous-ensemble des fonctionnalités de Kickstart. On trouvera ci-dessous un bref résumé des fonctionnalités manquantes:
- Authentification LDAP, Kerberos 5, Hesiod et Samba.
- La commande auth –enablecache pour activer nscd.
- Mises à niveau.
- Partitionnement de plusieurs lecteurs. En raison des limitations actuelles du gestionnaire de partitions, il est uniquement possible de partitionner un seul lecteur.
- Utilisation de la commande device pour installer des modules de noyau supplémentaires.
- Disques de pilotes.
- Configuration du pare-feu.
- Installation à partir d'une archive sur un disque dur local ou d'une archive NFS.
- Les options
logvol
--percent
,--bytes-per-inode
et--fsoptions
pour certains types de configuration détaillée de la gestion de volumes logiques (LVM). (La configuration de LVM en général est supportée expérimentalement à partir d’Ubuntu 9.04.) - Restrictions d'une partition sur un disque ou un périphérique particulier et spécifications du cylindre de départ ou de fin pour une partition.
- Vérification d'une partition pour les secteurs défectueux.
- Configuration RAID.
- Les exclusions dans les sections
%packages
ne sont plus prises en charge à partir d’Ubuntu 6.10, à la suite d’autres améliorations. Il faudra peut-être utiliser un script%post
à la place pour supprimer les packages inutiles. - Les scripts de pré-installation et les scripts de post-installation non chrootés ne peuvent être que des scripts shell; les autres interprètes ne sont pas disponibles à ce stade de l'installation.
Exemple
Voici un exemple de fichier Kickstart qui peut être utilisé comme point de départ:
# Modèle générique de kickstart pour Ubuntu # Plate-forme: x86 et x86-64 # # Langue du système lang en_US # Modules de langue à installer langsupport en_US # Clavier système keyboard us # Souris système mouse # Fuseau horaire du système timezone America/New_York # Mot de passe root rootpw --disabled # Utilisateur initial (utilisateur ayant des capacités sudo) user ubuntu --fullname "Utilisateur Ubuntu" --password root4me2 # Redémarrer après l'installation reboot #Utilisez l'installation en mode texte text # Installer le système d'exploitation au lieu de la mise à niveau install # Support d'installation cdrom #nfs --server=server.com --dir=/path/to/ubuntu/ #url --url http://server.com/path/to/ubuntu/ #url --url ftp://server.com/path/to/ubuntu/ # Configuration du chargeur de démarrage système bootloader --location=mbr # Clear du Master Boot Record zerombr yes # libération de partition clearpart --all --initlabel # Partition de disque de base part / --fstype ext4 --size 1 --grow --asprimary part swap --size 1024 part /boot --fstype ext4 --size 256 --asprimary # Partition avancée #part /boot --fstype=ext4 --size=500 --asprimary #part pv.aQcByA-UM0N-siuB-Y96L-rmd3-n6vz-NMo8Vr --grow --size=1 #volgroup vg_mygroup --pesize=4096 pv.aQcByA-UM0N-siuB-Y96L-rmd3-n6vz-NMo8Vr #logvol / --fstype=ext4 --name=lv_root --vgname=vg_mygroup --grow --size=10240 \ --maxsize=20480 #logvol swap --name=lv_swap --vgname=vg_mygroup --grow --size=1024 --maxsize=8192 # Informations d'autorisation du système auth --useshadow --enablemd5 # Informations réseau network --bootproto=dhcp --device=eth0 # Configuration du pare-feu firewall --disabled --trust=eth0 --ssh # Ne pas configurer le système X Window skipx