Ce fichier est un exemple complet et fonctionnel de fichier de préconfiguration pour les installations automatiques. Son usage est expliqué dans Section 4.4, « Installation automatisée ». N'hésitez pas à modifier certaines lignes avant d'utiliser ce fichier.
#### Modification de syslinux.cfg. # Éditez le fichier syslinux.cfg, et ajoutez les paramètres après les lignes # « append » pour le noyau. # # Vous voudrez au moins dire à l'installateur où se trouve ce fichier de # préconfiguration. # 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 # 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 # N'oubliez pas de mettre le fichier à l'endroit que vous indiquez. # # 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. # # Langue, pays et clavier ne peuvent être présélectionnés dans ce fichier # car ces questions sont posées avant que le fichier ne soit chargé. # Pour éviter ces questions, il faut ajouter ces paramètres aux paramètres du # noyau : # # languagechooser/language-name=English # countrychooser/shortlist=US # console-keymaps-at/keymap=us # # 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. # On peut sans risque supprimer certaines options par défaut, comme # 'vga=normal' ou 'devfs=mount'. Cela permet de rajouter autant d'options # pour la préconfiguration. #### 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 le dire comme c'est 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 wget http://url/to/my.udeb -O /tmp/my.udeb ; udpkg -i /tmp/my.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 for deb in /hd-media/*.deb; do cp $deb /target/tmp; chroot /target dpkg -i /tmp/$(basename $deb); done # 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 #### 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. # Choisir une interface précise pour netcfg. Ce n'est normalement pas # nécessaire puisque netcfg utilise toute interface connectée #d-i netcfg/choose_interface select eth0 # 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'environnemt 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 Finish partitioning and write changes to disk 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 # TODO comment présélectionner l'installation de LILO ? Les questions posées # rendent la tâche difficile. ##### 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 ##### Préconfiguration de base-config. # XXX: La plupart de ces commandes ne fonctionneront correctement qu'avec # base-config version 2.40.4. # 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 ###### Configuration du fuseau horaire. # Cette commande règle l'horloge matérielle sur GMT 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, 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. # XXX: cela ne fonctionnera qu'avec tasksel version 2.12. tasksel tasksel/first multiselect Desktop environment #tasksel tasksel/first multiselect Web server, Mail server, DNS server ###### Configuration du MTA. # Pendant une installation normale, exim pose seulement deux questions. Voici # comment les éviter. Une préconfiguration plus complexe est possible. exim4-config exim4/dc_eximconfig_configtype select no configuration at this time # 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 tout contenir d'autres directives de préconfiguration ou d'inclusion. # Notez que si les fichiers sont relatifs, ils seront pris dans le répertoire # ou se trouve le fichier qui les inclut. #d-i preseed/include string x.cfg # 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 |