debian:ubuntu-unattended-kickstart

Ubuntu Installation automatique avec kickstart

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
debian/ubuntu-unattended-kickstart.txt · Last modified: 2025/02/19 10:59 by 127.0.0.1