Ich versuche, die beste und modernste Methode zu finden, um das zu tun, was ich früher mit Python-VM-Builder (auch bekannt als Ubuntu-VM-Builder) gemacht habe.
Ich möchte einen skriptbasierten, wiederholbaren Weg, um von etwas wie Ubuntu-Core (auch bekannt als der früher als JeOS bekannte Künstler ) zu beginnen, einige Pakete hinzuzufügen, zuerst ausgeführte Skripte zu definieren usw.
Was ich will, ist so etwas wie das Drehen einer benutzerdefinierten ISO (obwohl es keine ISO ist, wird es ein "installiertes" System sein). Das Ergebnis muss ein Kernel, ein initrd-Image und rootfs sein, die für einen plattenlosen PXE-Start mit NFS geeignet sind.
Mit welchen Tools wird beispielsweise das Ubuntu-Netboot-Image (oder Ubuntu-Images) erstellt? Sind sie flexibel genug für meine Bedürfnisse?
Wie wäre es mit den Tools, die zum Erstellen der für die Ubuntu-Integrationstests verwendeten Neuinstallationsumgebungen verwendet werden? Wären sie angemessen?
Beachten Sie, dass die Rootfs zur Laufzeit schreibgeschützt bereitgestellt werden, sodass ich nicht versuche, eine Instanz im Laufe der Zeit zu verwalten. Ich möchte bei jeder neuen Ubuntu-Version und in den 6 Monaten dazwischen regelmäßig eine automatisierte Installation durchführen.
debootstrap
, um das Basissystem zu erstellen (eine "Chroot", die dann auf ein Disk-Image kopiert werden kann). Schauen Sie nach, ob es hilft.Antworten:
Sie können ein offizielles Cloud-Image direkt verwenden und dann ein kleines ISO-Image erstellen, indem Sie
cloud-localds
(aus demcloud-utils
Paket) als "Nocloud" -Datenquelle für Cloud-Init verwenden.Anschließend können Sie Cloud-Init-Benutzerdaten (Beispiel) als einen einzigen Mechanismus verwenden, um Pakete hinzuzufügen und Ihre eigenen Skripts für die erste Ausführung zwischen Cloud-Anbietern auszuführen, die offizielle Ubuntu Cloud-Images sowie auf Ihren lokalen VMs bereitstellen.
Wenn Sie
cloud-localds
ohne Parameter ausführen , wird eine Beispielverwendung zum direkten Konfigurieren und Ausführen einer VM mit kvm angezeigt.Um die VM auf andere Weise auszuführen, geben Sie einfach ein Cloud-Image (z. B. heruntergeladen von https://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img für 12.04) als erste Diskette und präsentieren Sie die ISO-Image-Ausgabe
cloud-localds
als CD-ROM.Weitere Informationen finden Sie in Scott Mosers Blogbeitrag .
quelle
Ich habe noch nie eine ISO verpackt, daher kann ich aus eigener Erfahrung keinen Kommentar abgeben, aber es scheint, dass die Antwort auf Ihre Frage Cobbler ( http://cobbler.github.com ) lautet .
Aus der Ubuntu Community-Dokumentation:
"Ubuntu verwendet Cobbler als bevorzugten Bereitstellungsserver für Ubuntu-Computer." - https://help.ubuntu.com/community/Cobbler
quelle
Für alle, die nach einer Antwort auf diese Frage suchen, scheint Oz ( https://github.com/clalancette/oz ) wirklich gut zu sein.
quelle