# /preseed.cfg # (C) Copyright 2013, Yann Amar # Licence GPL-3.0+ # Certains détails se trouvent ici: # http://www.debian.org/releases/wheezy/amd64/apb.html.fr # http://www.debian.org/releases/wheezy/example-preseed.txt ################################################################################ # # La configuration ci-dessous permet une installation totalement automatisée, # sans paramètre spécifique sur la ligne de commande de démarrage (c'est à dire # avec 'priority=high', qui est la valeur par défaut). # # Il est cependant possible de réaliser une installation interactive avec # 'priority=low' (mode expert), et 'preseed/interactive=true', qui permet de # reposer les questions auxquelles il a été répondu dans ce fichier; ou encore # avec 'modules=network-console' pour une liaison à debian-installer par ssh. # ################################################################################ # Pour contourner les bugs: # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=703146 # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=703404 # Remplacer le script /bin/apt-install; dans cette version, en cas d'échec # d'installation d'un paquet (en l'occurence busybox) après l'étape de # debootstrap, modification du sources.list du système et mise à jour de la # base de données d'APT. Après ça, tout va bien. d-i preseed/early_command string mv /usr/local/apt-install /bin # locale=fr_FR.UTF-8 d-i debian-installer/locale select fr_FR.UTF-8 # keymap=fr d-i keyboard-configuration/xkb-keymap select fr # interface=auto d-i netcfg/choose_interface select auto # Pour désactiver la configuration automatique par DHCP: # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=703747 d-i netcfg/disable_autoconfig boolean true d-i netcfg/disable_dhcp boolean true # Le parametrage IP statique fourni par Tetaneutral.net: # > 91.224.149.171/24 gw/dns 91.224.149.254 # > 2a01:6600:8081:ab00::1/56 gw fe80::31 d-i netcfg/get_ipaddress string 91.224.149.171 d-i netcfg/get_netmask string 255.255.255.0 d-i netcfg/get_gateway string 91.224.149.254 d-i netcfg/get_nameservers string 91.224.149.254 # hostname=bulbe d-i netcfg/get_hostname string bulbe #d-i netcfg/hostname string bulbe # domain=nos-oignons.net d-i netcfg/get_domain string nos-oignons.net # modules=network-console #d-i anna/choose_modules multiselect network-console # protocol=http d-i mirror/protocol string http # Ça c"est le chemin le plus couru: #d-i mirror/country string FR #d-i mirror/http/mirror select ftp.fr.debian.org # Ça ça permet d'utiliser des sources qui ne sont pas dans la liste: d-i mirror/country string manual d-i mirror/http/hostname string http.debian.net d-i mirror/http/directory string /debian/ d-i mirror/http/proxy string # suite=testing d-i mirror/suite string testing # Création des comptes et des mots de passe. # La documentation officielle en est encore à parler d'un hash MD5 pour le # mot de passe chiffré; mais en réalité, il peut s'agir de n'importe quoi # d'autre, la chaîne est copiée verbatim dans /etc/shadow; donc, comme ici, # pour du SHA512 - qui est maintenant le standard de Debian - on peut faire # echo "blah blah foobar" | mkpasswd -s -m sha-512 user-setup-udeb passwd/root-login boolean false user-setup-udeb passwd/user-fullname string user-setup-udeb passwd/username string quidame user-setup-udeb passwd/user-password-crypted password $6$VVITJRiyY7uFSPDh$hIBCbFzik8kA5G94LLv6biTIvJeNxsx8pHXzNLfQNoRKtaHCxnVO5XSZeXbMsjSDLHd9JUGNBnj5lFhloDeOv/ user-setup-udeb passwd/user-default-groups string sudo ### PARTITIONNEMENT ### # Le premier disque, réel ou virtuel (/dev/sda ou /dev/vda). # Un disque virtuel est celui qu'on obtient dans QEMU ou KVM # (kvm -drive file=disk.img,format=raw,if=virtio -device virtio-net-pci) partman-auto partman-auto/disk string /dev/[sv]da partman-auto partman-auto/method string lvm partman-auto partman-auto/choose_recipe select nos-oignons #partman-auto-lvm partman-auto-lvm/new_vg_name string bulbe # La recette aux oignons: une partition primaire (Volume Physique) de la # taille du disque, qui se répartit en quatre Volumes Logiques: # /boot 256MB # / 8GB # swap 1GB # /srv 10GB # et le reste conçu comme espace disponible pour plus tard. Il est cependant # nécessaire (?) de remplir cet espace disponible par un LV supplémentaire, # qui sera supprimé en fin d'installation avec 'preseed/late_command'. # Je n'ai pas trouvé mieux pour le moment. partman-auto partman-auto/expert_recipe string \ nos-oignons :: \ 20000 50000 -1 lvm \ $defaultinore{ } \ $primary{ } \ method{ lvm } \ vg_name{ bulbe } \ . \ 128 256 256 ext4 \ $lvmok{ } \ $lv_name{ boot } \ in_vg{ bulbe } \ method{ format } \ format{ } \ use_filesystem{ } \ filesystem{ ext4 } \ options/noatime{ noatime } \ options/noexec{ noexec } \ options/nosuid{ nosuid } \ options/nodev{ nodev } \ label{ boot } \ mountpoint{ /boot } \ . \ 4096 8192 8192 ext4 \ $lvmok{ } \ $lv_name{ root } \ in_vg{ bulbe } \ method{ format } \ format{ } \ use_filesystem{ } \ filesystem{ ext4 } \ options/noatime{ noatime } \ label{ rootfs } \ mountpoint{ / } \ . \ 1024 1024 1024 linux-swap \ $lvmok{ } \ $lv_name{ swap } \ in_vg{ bulbe } \ method{ swap } \ format{ } \ . \ 10240 10240 10240 ext4 \ $lvmok{ } \ $lv_name{ srv } \ in_vg{ bulbe } \ method{ format } \ format{ } \ use_filesystem{ } \ filesystem{ ext4 } \ options/noatime{ noatime } \ options/nosuid{ nosuid } \ options/nodev{ nodev } \ mountpoint{ /srv } \ . \ 4000 4000 -1 ext4 \ $lvmok{ } \ $lv_name{ dummy } \ in_vg{ bulbe } \ method{ keep } \ . # Inhiber toutes les demandes de confirmation relatives au partitionnement: partman-base partman/confirm boolean true partman-base partman/confirm_nooverwrite boolean true partman-base partman/choose_partition select Finish partman-lvm partman-lvm/confirm boolean true partman-lvm partman-lvm/device_remove_lvm boolean true partman-auto-lvm partman-auto-lvm/no_boot boolean true partman-basicmethods partman-basicmethods/method_only boolean false partman-partitioning partman-partitioning/confirm_new_label boolean true ### INSTALLATION ### # Pour inclure des paquets dans le système de base (mais ici on utilisera les # autres mécanismes disponibles - tasksel et pkgsel): #bootstrap-base base-installer/includes string openssh-server # device-mapper nécessite parfois un petit délai pour éviter de se retrouver # dans le shell de busybox. Ce paramètre peut être défini depuis la ligne de # commande de démarrage d'une manière originale: c'est tout ce qui se trouve # après '--' (sauf 'quiet'). d-i debian-installer/add-kernel-opts string rootdelay=1 # La participation aux statistiques de popularité des paquets n'est pas # activée par défaut. popularity-contest popularity-contest/participate boolean true # tasks=ssh-server,standard tasksel tasksel/first multiselect ssh-server, standard # Paquets supplémentaires à installer: pkgsel pkgsel/include string vim screen emacs23-nox safe-rm molly-guard fail2ban # Installer automatiquement GRUB2 sur le secteur d'amorçage grub-installer grub-installer/only_debian boolean true # Supprimer le dernier LV; il n'a été créé que pour éviter que le # pécédent prenne toute la place disponible. Copier les références # des conditions d'install sur le nouveau système (le reste se # trouvera dans /var/log/installer). Obliger quidame à modifier # son mot de passe à sa première connexion. Ajouter la clef ssh # publique de quidame. d-i preseed/late_command string \ lvchange -an bulbe/dummy; \ lvremove bulbe/dummy; \ cp /proc/cmdline /preseed.cfg /target/root; \ in-target passwd --expire quidame; \ mkdir -p -m 700 /target/home/quidame/.ssh; \ cp /usr/local/authorized_keys /target/home/quidame/.ssh; \ in-target chown -R quidame:quidame /home/quidame # Redémarrer automatiquement. finish-install finish-install/reboot_in_progress note ################################################################################ # vim: et ts=4 sts=4 sw=4