Debian Med prépare un méta-paquet pour des images machines polyvalentes rassemblant tous les outils distribués par Debian pour la bio-informatique et utilisés en ligne de commande ou via des scripts, qui ne dépendent pas de systèmes graphiques trop lourds.

Je voudrais préparer une telle image pour le nuage Amazon, de la manière la plus sûre possible, et le plus simple est de la construire automatiquement de manière à ne rien avoir à nettoyer à la fin de l'opération. J'ai essayé pendant plusieurs mois de passer par l'installeur Debian, et me suis tapé longuement la tête contre les murs, car il était impossible de re-partitionner le disque depuis lequel l'installeur était démarré. Cela n'était finalement pas nécessaire.

Par exemple, on peut démarrer une image contenant l'installeur sur une micro-instance (-t t1.micro) avec un disque supplémentaire de un gibibyte (-b /dev/sdb=:1:false) pour y installer Debian, et pré-configurer l'installeur via les métadonnées passées à l'instance (-f preseed.txt) avec un fichier préparé à l'avance. À la fin de l'installation, l'instance se termine au lieu de s'arrêter (--instance-initiated-shutdown-behavior terminate) et ses volumes disparaissent, sauf celui où l'on a installé Debian (/dev/sdb=:1:false).

L'installeur de Debian Stable n'est pas souvent mis à jour, et sa taille est très réduite. On peut donc envisager de distribuer à peu de frais une image machine par zone et par architecture. Je viens de le faire pour Tôkyô (ap-northeast-1) sur amd64. Elle contient le noyau, son initrd, et un menu GRUB 1 pour pvgrub qui lui passe les options console=hvc0 auto=true priority=critical url=http://169.254.169.254/latest/user-data DEBIAN_FRONTEND=text.

Il manque au système ainsi produit deux éléments importants. Il faut que lors de l'installation du noyau et de ses mises à jours, le fichier de configuration GRUB 1 pour pvgrub soit rafraîchi. Ensuite, il faut que le système soit capable de télécharger une clé SSH publique via les métadonnées d'instance, afin que l'on s'y connecte sans mot de passe défini à l'avance. Ces deux fonctions sont disponibles dans le paquet cloud-init, disponible chez Ubuntu et Fedora. Je cherche des volontaires pour maintenir ou co-maintenir cloud-init dans Debian.