Pour automatiser ses installations Debian, il faut savoir concevoir sa petite graine, preseed pour les anglophones. Cet article est le premier volet d’une série où je vais décortiquer celle que j’utilise afin d’aider par l’exemple celles et ceux qui voudrait se lancer dans le planter de petite graine.
Comme je l’ai déjà abordé dans mon précédent article De l’automatisation de l’installation et de la pré-configuration, cette petite graine sera stockée sur un serveur web quelconque. Et donc ce site convient très bien, vous la trouverez ici.
Comme vous pouvez le constater, pour ce genre de sujet que l’on étudie que ponctuellement, j’ai pour habitude de placer dans le cartouche les liens vers la documentation (un pour navigateur et l’autre pour wget
). Ensuite les chapitres sont rappelés en remarque pour chaque section, pour être plus efficace dans ma maintenance. Enfin, tant que c’est chaud, je préfère placer des options désactivées, quitte à les activer ultérieurement. Il sera toujours plus aisé à transformer un false en true que d’avoir à retrouver l’option.
Découvrons la plus en détails…
# B.4.1 Localisation
d-i debian-installer/locale string fr_FR.UTF-8
d-i keyboard-configuration/xkb-keymap select fr(latin9)
Rien de sorcier, avec la première ligne on répond conjointement à la langue et au pays, la second permet de définir notre cher clavier avec ses précieux accents.
# B.4.2. Configuration du réseau
# d-i netcfg/choose_interface select eth0
# d-i hw-detect/load_firmware boolean false
Ces deux lignes sont décrites parce qu’elles contiennent des informations pertinentes et qu’il est toujours bon de les conserver dans son référentiel. Et si elles sont mises en remarque c’est pour éviter la redondance ou le conflit puisqu’elles sont paramétrées lors du lancement (on y reviendra).
La première définit l’interface utilisée par l’installation ici l’interface Ethernet, et non WiFi.
La seconde définit qu’en cas de besoin de firmware non libre, l’installation passera l’étape (Et j’en ai le besoin, Cf. Gangue de WiFi).
# B.4.5. Configuration des comptes
d-i passwd/root-login boolean true
d-i passwd/root-password password toor
d-i passwd/root-password-again password toor
d-i passwd/user-fullname string Olivier Locard
d-i passwd/username string oloc
d-i passwd/user-password password colo
d-i passwd/user-password-again password colo
Je définis les mots de passe root et le profile oloc que j’utilise couramment. A noter que je change les mots passe (toor et colo) à ma première connexion.
# B.4.6. Configuration du fuseau horaire
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Paris
d-i clock-setup/ntp boolean true
Trois lignes pour régler l’horloge sur UTC, Paris, et autoriser le NTP (Network Time Protocol) pour régler l’heure sur un serveur de temps.
# B.4.10. Choix des paquets
tasksel tasksel/first multiselect standard, desktop, laptop
tasksel tasksel/desktop multiselect xfce
Ici, je ne choisis que standard, desktop et laptop et je complète avec le desktop qui ne sera pas celui par défaut (Gnome) mais xfce.
Point d’orgue de ce premier article sur le sujet : une petite mise en lumière sur la tasksel
. Cette instruction permet d’installer ou de désinstaller un ensemble de logiciels regroupés par, je dirais, thématiques appelées tâches.
Elles correspondent à celles du fameux menu Software Selection de l’installateur vous proposant Desktop environment, Web server, Print server, DNS server, etc.
Dans les faits, la tasksel
fournit une liste de paquets à aptitude pour procéder à leur installation. La maitrise de cette instruction permet de mieux cibler son installation.
Pour connaitre la liste des tâches, lors de ses travaux préparatoires, on peut procéder par la commande : tasksel --list-tasks
.
Les réponses sont précédées d’un i pour installed et u pour uninstalled.
A l’aide de cette liste, on peut récupérer la description et le contenu de la tâche par les commandes respectives : tasksel --task-desc <tâche> , tasksel --task-packages <tâche>
.
Pour l’exemple, on découvre ainsi que Gimp, OpenOffice et Iceweasel sont installés avec la tâche Desktop.
Par curiosité et pour aller encore plus loin dans cet exposé, « explorons » la mystérieuse tâche standard. Mystérieuse puisque le retour de tasksel --task-packages standard
est ~pstandard ~prequired ~pimportant
. Qu’est-ce donc que ça ?
Comme dit précédemment tasksel
fournit une liste de paquets à aptitude
, donc pour connaitre l’exacte liste des paquets, il suffit de l’interroger ainsi : sudo aptitude search ~pstandard ~prequired ~pimportant
.
Fin du premier volet qui, j’en suis sûr, vous laisse sur votre faim