C.1. Exemple de fichier de préconfiguration
Précédent | Annexe C. Éclats hasardeux | Suivant

## C.1. Exemple de fichier de préconfiguration

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

Précédent | Niveau supérieur | Suivant
Annexe C. Éclats hasardeux | Sommaire | C.2. Périphériques Linux