J'essaie de trouver la meilleure méthode moderne pour faire ce que je faisais avec python-vm-builder (alias ubuntu-vm-builder).
Je veux un moyen scripté et reproductible de commencer à partir de quelque chose comme ubuntu-core (alias l'artiste anciennement connu sous le nom de JeOS ), ajouter des packages, définir des scripts de première exécution, etc.
Ce que je recherche, c'est quelque chose qui ressemble à la rotation d'une image ISO personnalisée (même si ce ne sera pas une image ISO, ce sera un système "installé"). Le résultat doit être un noyau, une image initrd et rootfs qui convient pour un démarrage PXE sans disque avec NFS.
Quels outils sont utilisés pour créer, par exemple, l'image du netboot Ubuntu (ou toute image Ubuntu d'ailleurs)? Sont-ils suffisamment flexibles pour mes besoins?
Qu'en est-il des outils utilisés pour créer les nouveaux environnements d'installation utilisés pour les tests d'intégration d'Ubuntu? Seraient-ils appropriés?
Notez qu'au moment de l'exécution, les rootfs seront montés en lecture seule, donc je ne cherche pas à gérer une instance au fil du temps. Je cherche à relancer une installation automatisée à chaque nouvelle version d'Ubuntu, et périodiquement au cours des 6 mois qui s'écoulent.
debootstrap
pour créer le système de base (un "chroot" qui peut ensuite être copié sur une image disque). Jetez un oeil et voyez si cela aide.Réponses:
Vous pouvez utiliser directement une image cloud officielle, puis créer une petite image ISO en utilisant
cloud-localds
(à partir ducloud-utils
package) à utiliser comme source de données "nocloud" pour cloud-init.Ensuite, vous pouvez utiliser des données utilisateur cloud-init (exemple) comme mécanisme unique pour ajouter des packages et exécuter vos propres scripts de première exécution sur des fournisseurs de cloud qui fournissent des images cloud Ubuntu officielles ainsi que sur vos machines virtuelles locales.
Si vous exécutez
cloud-localds
sans paramètres, il affichera un exemple d'utilisation pour configurer et exécuter une machine virtuelle à l'aide de kvm directement.Pour exécuter la machine virtuelle d'une autre manière, il suffit de fournir une image cloud (par exemple, téléchargée à partir de https://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img pour 12.04) comme premier disque et présenter la sortie d'image ISO à partir
cloud-localds
d'un CD-ROM.Plus d'informations sont dans le blog de Scott Moser .
la source
Je n'ai jamais empaqueté un ISO, donc je ne peux pas commenter de ma propre expérience, mais il semble que la réponse à votre question soit Cobbler ( http://cobbler.github.com ).
De la documentation de la communauté Ubuntu:
"Ubuntu utilise cobbler comme serveur de provisioning préféré pour les machines Ubuntu." - https://help.ubuntu.com/community/Cobbler
la source
Pour tous ceux qui recherchent une réponse à cette question, Oz ( https://github.com/clalancette/oz ) semble vraiment bien.
la source