#### Pour commencer. # Pour utiliser un fichier de préconfiguration, vous devez d'abord amorcer # l'installateur et lui dire où se trouve ce fichier. Il suffit de passer un # paramètre d'amorçage au noyau, soit au moment de l'amorçage, soit en modifiant # le fichier syslinux.cfg (ou un fichier du même type) pour ajouter les paramètres # à la fin des lignes append pour le noyau. # # Si vous faites une installation par le réseau, utilisez ce paramètre : # preseed/url=http://host/path/to/preseed # Si vous recréez un cédérom, vous pouvez utiliser celui-ci : # preseed/file=/cdrom/preseed # Si vous faites une installation à partir d'un support USB, utilisez ce # paramètre et mettez le fichier de préconfiguration dans le répertoire racine # de la clé USB. # preseed/file=/hd-media/preseed # Faites attention à mettre le fichier à l'endroit indiqué. # # On ne peut pas automatiser certaines étapes de l'installation avec certains types # de préconfiguration car les questions sont posées avant que le fichier # ne soit chargé. Si par exemple le fichier est téléchargé sur le réseau, la # configuration du réseau doit être faite préalablement. L'une des raisons d'utiliser # la préconfiguration avec initrd est qu'il est alors possible de préconfigurer # ces étapes. # # Quand on ne peut pas utiliser un fichier de préconfiguration pour préconfigurer # certaines étapes, on peut quand même automatiser l'installation car il est possible # de passer des paramètres au noyau sur la ligne de commande. Il suffit d'indiquer # une paire de type path/to/variable=valeur pour toutes les variables listées # ci-dessous. # Pendant que vous y êtes, vous pourriez déclarer un debconf/priority=critical # pour éviter la plupart des questions, même s'il n'y en a pas beaucoup dans # la préconfiguration qui suit. # Et vous pourriez aussi mettre le compte à rebours à 1 dans syslinux.cfg et # éviter ainsi d'avoir à appuyer sur la touche Entrée pour lancer # l'installateur. # # Il faut savoir que le noyau accepte un maximum de huit options ligne de # de commandes et huit variables d'environnement. Et les options ajoutées # par l'installateur sont comprises dans ces chiffres. S'il y a dépassement, # les noyaux 2.4 ignorent les options en trop et les noyaux 2.6 paniquent. # À partir des noyaux 2.6.9, vous pouvez employer 32 options ligne de # commandes et 32 variables d'environnement. # # On peut sans risque supprimer certaines options par défaut, comme # 'vga=normal'. Cela permet de rajouter autant d'options # pour la préconfiguration. # # On ne peut pas préconfigurer la langue, le pays ou le clavier. Vous devez # à la place utiliser les paramètres du noyau. Par exemple : # languagechooser/language-name=French # countrychooser/shortlist=fr_FR # console-keymaps-at/keymap=fr-latin9 #### Configuration du réseau. # Bien sûr, si vous récupérez le fichier de préconfiguration sur le réseau, # cela ne marchera pas ! Mais c'est parfait si vous amorcez à partir d'un # cédérom ou d'une clé USB. Vous pouvez aussi ajouter des paramètres réseau # aux paramètres du noyau si vous récupérez le fichier de préconfiguration # sur le réseau. # Netcfg choisira une interface connectée si possible. Cela empêchera d'afficher # une liste s'il y a plusieurs interfaces. d-i netcfg/choose_interface select auto # Quand le serveur dhcp est lent et que l'installateur s'arrête pour l'attendre, # ceci peut être utile. #d-i netcfg/dhcp_timeout string 60 # Si vous préférez configurer vous-même le réseau, voici comment faire : #d-i netcfg/disable_dhcp boolean true #d-i netcfg/get_nameservers string 192.168.1.1 #d-i netcfg/get_ipaddress string 192.168.1.42 #d-i netcfg/get_netmask string 255.255.255.0 #d-i netcfg/get_gateway string 192.168.1.1 #d-i netcfg/confirm_static boolean true # Remarquez que les valeurs données par dhcp, nom de domaine ou nom de # machine, prennent le pas sur les valeurs déclarées ici. Cependant, # cette déclaration empêche que les questions ne soient posées même si les # valeurs viennent de dhcp. d-i netcfg/get_hostname string unassigned-hostname d-i netcfg/get_domain string unassigned-domain # Supprimer le dialogue irritant sur la clé WEP. d-i netcfg/wireless_wep string # Et l'étonnant nom de machine dhcp que certains FAI utilisent comme mot de # passe. #d-i netcfg/dhcp_hostname string radish #### Valeurs pour les miroirs d-i mirror/country string enter information manually d-i mirror/http/hostname string http.us.debian.org d-i mirror/http/directory string /debian d-i mirror/suite string testing d-i mirror/http/proxy string ### Partitionnement. # Si le système possède un espace libre, vous pouvez ne partitionner que cet # espace. #d-i partman-auto/init_automatically_partition \ # select Use the largest continuous free space # Vous pouvez aussi choisir un disque entier. Le format de son nom peut être # donné selon le format devfs ou le format traditionnel. # Par exemple, pour utiliser le premier disque connu sous devfs : d-i partman-auto/disk string /dev/discs/disc0/disc # Vous pouvez choisir parmi tous les schémas prédefinis... d-i partman-auto/choose_recipe select \ Tous les fichiers dans une seule partition (recommandé aux débutants) #d-i partman-auto/choose_recipe select Desktop machine #d-i partman-auto/choose_recipe select Multi-user workstation # ...ou donner vous-même votre schéma. # Le format des schémas est expliqué dans le fichier # devel/partman-auto-recipe.txt. # Si vous avez la possibilité d'obtenir un schéma dans l'environnement de # l'installateur, vous pouvez simplement pointer sur lui. #d-i partman-auto/expert_recipe_file string /hd-media/recipe # Sinon, vous pouvez écrire un schéma en une seule ligne. L'exemple suivant # crée une petite partition /boot, une partition swap convenable, et utilise le # reste de l'espace libre pour la partition racine : #d-i partman-auto/expert_recipe string boot-root :: \ # 20 50 100 ext3 $primary{ } $bootable{ } method{ format } format{ } \ # use_filesystem{ } filesystem{ ext3 } mountpoint{ /boot } . \ # 500 10000 1000000000 ext3 method{ format } format{ } \ # use_filesystem{ } filesystem{ ext3 } mountpoint{ / } . \ # 64 512 300% linux-swap method{ swap } format{ } . # Pour explication, voici le même schéma dans une forme plus lisible : # boot-root :: # 40 50 100 ext3 # $primary{ } $bootable{ } # method{ format } format{ } # use_filesystem{ } filesystem{ ext3 } # mountpoint{ /boot } # . # 500 10000 1000000000 ext3 # method{ format } format{ } # use_filesystem{ } filesystem{ ext3 } # mountpoint{ / } # . # 64 512 300% linux-swap # method{ swap } format{ } # . # Partman créera automatiquement les partitions sans demander de confirmation. d-i partman/confirm_write_new_label boolean true d-i partman/choose_partition select \ Terminer le partitionnement et enregistrer les modifications sur le disque d-i partman/confirm boolean true #### Installation du programme d'amorçage. # Grub est le programme d'amorçage par défaut (pour x86). Si vous préférez # LILO, décommentez la ligne suivante : #d-i grub-installer/skip boolean true # Il n'y a aucun danger à donner ce paramètre : il installe grub sur le # secteur d'amorçage principal s'il n'existe aucun autre système d'exploitation # sur la machine. d-i grub-installer/only_debian boolean true # Ce paramètre installe grub sur le secteur d'amorçage principal même s'il # existe un autre système d'exploitation, ce qui est moins sûr car il pourrait # ne pas savoir amorcer cet autre système. d-i grub-installer/with_other_os boolean true # Vous pouvez aussi l'installer ailleurs que dans le secteur d'amorçage # principal. Décommentez et modifiez les lignes suivantes : #d-i grub-installer/bootdev string (hd0,0) #d-i grub-installer/only-debian boolean false #d-i grub-installer/with_other_os boolean false #### Terminer la première étape de l'installation. # Pour éviter le dernier message disant que l'installation est terminée. d-i prebaseconfig/reboot_in_progress note #### Les commandes du shell. # La préconfiguration de l'installation n'est pas sécurisée. Rien dans # dans l'installateur ne vérifie que des dépassements de tampons ou des # exploitations quelconques des valeurs données dans ce fichier n'ont pas lieu. # N'utilisez que les fichiers dont vous connaissez la provenance ! # Pour tout dire, et parce que c'est en général utile, voici un # moyen d'exécuter automatiquement une commande dans l'installateur. # La première commande est exécutée aussi tôt que possible, juste après # la lecture du fichier. #d-i preseed/early_command string anna-install some-udeb # Cette commande est exécutée juste avant que l'installation ne se termine, # mais quand le répertoire /target est encore utilisable. #d-i preseed/late_command string echo foo > /target/etc/bar # Cette commande est exécutée au moment où base-config commence. #base-config base-config/early_command string echo hi mom # Cette commande est exécutée après base-config, juste avant la connexion. # C'est un bon moyen d'installer les paquets que vous voulez ou d'affiner la # la configuration du système. #base-config base-config/late_command string \ # apt-get install zsh; chsh -s /bin/zsh ###### Preseeding the 2nd stage of the installation. #### Préconfiguration de base-config. # Pour éviter le message d'introduction. base-config base-config/intro note # Pour éviter le dernier message. base-config base-config/login note # Si vous installez un gestionnaire d'affichage et si vous ne voulez pas le # lancer immédiatemment après base-config : #base-config base-config/start-display-manager boolean false # Certaines versions de l'installateur peuvent dire ce que vous avez installé. # Par défaut, rien n'est signalé. Mais l'envoi de rapport d'installation aide le projet # à connaître les logiciels populaires. #popularity-contest popularity-contest/participate boolean false #### Configuration du fuseau horaire. # Cette commande règle l'horloge matérielle sur UTC ou non : #base-config tzconfig/gmt boolean true # Si vous avez dit à l'installateur que vous habitez aux USA, vous pouvez # utiliser cette valeur pour déclarer le fuseau horaire. # (Les choix sont les suivants : Eastern, Central, Mountain, Pacific, # Alaska, Hawaii, Aleutian, Arizona East-Indiana, Indiana-Starke, Michigan, # Samoa, autre) #base-config tzconfig/choose_country_zone/US select Eastern # Si vous avez dit à l'installateur que vous habitez au Canada. # (Choix : Newfoundland, Atlantic, Eastern, Central, # East-Saskatchewan, Saskatchewan, Mountain, Pacific, Yukon, autre) #base-config tzconfig/choose_country_zone/CA select Eastern # Si vous avez dit à l'installateur que vous habitez au Brésil. (Choix : # East, West, Acre, DeNoronha, autre) #base-config tzconfig/choose_country_zone/BR select East # Beaucoup de pays n'ont qu'un seul fuseau horaire. Si vous avez dit à # l'installateur que vous habitez dans l'un de ces pays, vous pouvez le choisir # avec cette question. #base-config tzconfig/choose_country_zone_single boolean true # Cette question est posée pour les pays qui n'appartiennent pas à la liste # précédente et qui ont plusieurs fuseaux horaires. Vous pouvez préconfigurer # l'un des fuseaux ou autre. #base-config tzconfig/choose_country_zone_multiple select #### Configuration des comptes. # Pour préconfigurer le mot de passe de root, vous devez le mettre en clair # dans le fichier. Ce n'est pas une très bonne idée, faites attention ! #passwd passwd/root-password password r00tme #passwd passwd/root-password-again password r00tme # Si vous voulez ne pas créer d'utilisateur : #passwd passwd/make-user boolean false # Vous pouvez aussi présélectionner le nom de l'utilisateur et son identifiant # de connexion. #passwd passwd/user-fullname string Debian User #passwd passwd/username string debian # Et le mot de passe, mais faites attention ! #passwd passwd/user-password password insecure #passwd passwd/user-password-again password insecure #### Configuration d'Apt.. # Cette question contrôle la source des paquets qui sera utilisée dans la # deuxième étape de l'installation. Les choix sont cdrom, http, ftp, # filesystem, modifier soi-même le fichier sources list. base-config apt-setup/uri_type select http # Si vous choisissez ftp ou http, on vous demandera un pays et un miroir. base-config apt-setup/country select enter information manually base-config apt-setup/hostname string http.us.debian.org base-config apt-setup/directory string /debian # Ne faire le choix que d'un miroir. base-config apt-setup/another boolean false # Vous pouvez choisir d'installer des paquets de non-free et contrib. #base-config apt-setup/non-free boolean true #base-config apt-setup/contrib boolean true # Pour autoriser les mises à jour de sécurité. base-config apt-setup/security-updates boolean true #### Sélection des paquets. # Vous pouvez installer toute combinaison de tâches parmi celles disponibles. # Pour l'heure, les tâches disponibles sont les suivantes : environnement # de bureau, serveur Web, serveur d'impression, serveur DNS, serveur de # fichiers, serveur de courrier, base SQL, portable, système standard, sélection manuelle # des paquets. # La dernière utilise aptitude. Vous pouvez aussi de ne pas installer de tâches # et de forcer l'installation de paquets par un autre moyen. # Il est recommandé de toujours inclure la tâche Système standard tasksel tasksel/first multiselect Desktop environment, Standard system #tasksel tasksel/first multiselect Web server, Standard system #### Configuration du MTA. # Pendant une installation normale, exim pose peu de questions. Voici # comment les éviter. Une préconfiguration plus complexe est possible. exim4-config exim4/dc_eximconfig_configtype \ select no configuration at this time exim4-config exim4/no_config boolean true exim4-config exim4/no_config boolean true # C'est une bonne idée d'indiquer ici le nom de l'utilisateur que vous avez # créé. Si vous n'indiquez aucune valeur, le courrier pour postmaster ira dans # /var/mail/mail. exim4-config exim4/dc_postmaster string #### Configuration du serveur X. # Préconfigurer le serveur X est possible, mais vous devrez sans doute # connaître les caractéristiques du matériel video de votre machine. Le # configurateur Debian du serveur X ne configure rien automatiquement. # X peut détecter le bon pilote pour certaines cartes, mais si vous faites une # préconfiguration, vous annulez ce qu'il aura choisi. Cependant vesa # fonctionne la plupart du temps. #xserver-xfree86 xserver-xfree86/config/device/driver select vesa # Pour la détection automatique de la souris, il faut savoir que si elle # échoue, X recommence sans fin le processus. Donc, s'il y a préconfiguration, # une boucle infinie peut apparaître si la souris n'est pas détectée. #xserver-xfree86 xserver-xfree86/autodetect_mouse boolean true # La détection automatique du moniteur est recommandée. xserver-xfree86 xserver-xfree86/autodetect_monitor boolean true # Décommentez la ligne suivante si vous posséder un écran LCD. #xserver-xfree86 xserver-xfree86/config/monitor/lcd boolean true # X possède trois adresses pour la configuration du moniteur. Voici comment # présélectionner l'adresse medium, qui est toujours disponible. # L'adresse simple peut ne pas être disponible et l'adresse # advanced pose trop de questions. xserver-xfree86 xserver-xfree86/config/monitor/selection-method \ select medium xserver-xfree86 xserver-xfree86/config/monitor/mode-list \ select 1024x768 @ 60 Hz #### Les autres questions. # Selon les logiciels que vous avez installés et s'il y a eu des problèmes # pendant le processus d'installation, d'autres questions peuvent être posées. # Vous pouvez bien sûr les préconfigurer ! Pour obtenir la liste de toutes # les questions possibles, faites une installation, et exécutez ces # commandes : # debconf-get-selections --installer > fichier # debconf-get-selections >> fichier # Si vous voulez, vous pouvez inclure dans ce fichier d'autres fichiers de # de préconfiguration. Toutes les valeurs de ces fichiers annuleront les # valeurs préexistantes. Vous pouvez indiquer plus d'un fichier, en les # séparant par des espaces ; tous seront chargés. Ces fichiers peuvent # à leur tour contenir d'autres directives de préconfiguration ou d'inclusion. # Notez que si les fichiers sont relatifs, ils seront pris dans le répertoire # où se trouve le fichier qui les inclut. #d-i preseed/include string x.cfg # L'installateur peut vérifier la somme de contrôle des fichiers de # préconfiguration avant de les utiliser. Pour le moment, cette somme doit être # de type md5sum. Il faut lister les sommes de contrôles dans le même ordre # que les fichiers à inclure. L'installateur de sarge # n'accepte pas les sommes de contrôle. #d-i preseed/include/checksum string 5da499872becccfeda2c4872f9171c3d # D'une manière plus souple, cela exécute des commandes du shell et si le # résultat donne les noms de ces fichiers, ils sont inclus. Par exemple, # pour changer de configuration, selon tel périphérique de stockage USB, # dans ce cas, un lecteur carte intégré : #d-i preseed/include_command string \ # if $(grep -q "GUID: 0aec3050aec305000001a003" /proc/scsi/usb-storage-*/*); \ # then echo kraken.cfg; else echo otherusb.cfg; fi # Pour vérifier le format de votre fichier de préconfiguration avant de # commencer une installation, vous pouvez utiliser debconf-set-selections : # debconf-set-selections -c preseed.cfg