web-dev-qa-db-ja.com

VagrantがOS.ISOインストールイメージを直接使用したり、ISOからVagrantボックスをオンザフライで作成したりすることは可能ですか?

元のISOから、OSインストール用のVagrant .boxファイルの作成を自動化することは可能ですか?

私にとって、これは、Vagrantが提供する仮想マシンでのオペレーティングシステムのインストールと構成のエンドツーエンドの自動化における大きなギャップです。

確かに、VagrantBox.esは、使用するための多くの基本.boxOSインストールファイルを提供します。ただし、一部はサードパーティのサプライヤからのものであり、元のOSディストリビューションメーカーからのものではありません。例:Arch Linux:Arch Linux 64(2012-07-02) http://vagrant.pouss.in/archlinux_2012-07-02.box

サードパーティのサプライヤの取り組みについて否定的になりたくないが、一部の組織では、元のOSプロバイダーからの元のインストールイメージが必要な場合があります(たとえば、上記のArchの例では、次のようになります: https:// www。 archlinux.org/download/ )。元のインストールイメージが必要な理由は、セキュリティ(セキュリティの侵害やマルウェアについてサードパーティのイメージを検証できないため)と、余分なものを必要とせずに元のサプライヤが意図したとおりにイメージを取得することです。もう1つの理由は、元のサプライヤーから直接新しいリリースを利用し、サードパーティがVagrant.boxとしてリリースするのを待つ必要がないことです。

.ISOイメージから.boxファイルを作成するためのガイドがあります。

しかし、これらは手動の手順です。これは、自動化と一貫性のVagrantの背後にある哲学に反します。特に、多くの人がオリジナルを使用できるようにするという最終目標を達成したい場合、これは全員の側で重複した努力をすることになります。

したがって、ここでは、.ISOOSインストールイメージをVagrantボックスに変換する一般的な自動化スクリプトを作成する方法を説明する決定的な回答から見ていきます。

18
therobyouknow

VeeWeeは、ISOからVagrantボックスを準備するための優れたメカニズムを提供すると思います。

https://github.com/jedi4ever/veewee

すでにほとんどのディストリビューションにすぐに使用できるテンプレートが多数用意されており、必要に応じてカスタマイズできます(ただし、これは多くの場合必要ありません)。または、独自の定義を作成することもできます。

または、Packerを使用することもできます。

https://packer.io/

これはVagrantを製造しているのと同じ会社によって製造されているため、かなり統合されています。 Packer自体は、私が信じるサンプルテンプレートを提供していませんが、必要に応じて、PuppetLabsが独自のテスト目的で使用するテンプレートを使用できます。

https://github.com/puppetlabs/puppetlabs-packer

これは、独自のテンプレートの強固な基盤として使用し、好みに合わせて変更することも、必要に応じてプロジェクトのPRを上げて貢献することもできます。

21
Ken Barber