はじめに
本文章は、Vagrant公式サイト内のドキュメント内のOTHERに記載されている内容を意訳に近い形で日本語化したものである。
誤訳が含まれている可能性が十分にあることを踏まえて、参考いただきたい。
その他
このセクションでは、これまでのカテゴリにやや当てはまらない、その他の情報について示す。
Atlas
Atlasは企業向けのHashiCorpスイートであるが、コミュニティ向けの機能も提供している。Vagrantの共有機能の能力と同じように、Vagrant Boxの公開レポジトリを提供する。
VagrantエンタープライズはAtlas経由で提供され、プライベートなBoxに対してホストすることを可能とし、あなたのチームに配布することを可能とする。
Atlasへのサイン・アップ
ここから無料のAtlasアカウントにサイン・アップできる。
デバッグ
Vagrantを安定させ、バグが無いように維持することに努めるのと同じぐらい、問題が発生したり、Vagrantが予期せぬ動きをしたりするのは避けられない。これらのケースの場合、Vagrantは、あなたを手助けすることができる素晴らしいサポートチャンネルをもっている。
これらのサポート・チャンネルを使用する際、通常、どのようなエラー・リポートとともにデバッグ・ログを含むことは、役に立ちます。これらのログはよく、あなたが出会った問題の解決に役立つ。
**繊細な情報がないか細かく調べておくこと!**Vagrantのデバッグ・ログは、その環境変数やユーザ情報など、システムの情報を含みます。もし、環境やユーザ・アカウントに繊細な情報をもっているのであれば、公のインターネットへ中身をアップロードする前に、この情報のデバッグ・ログを細かく調べたり、余計なものを削り落としたりしておくこと。
**GitHubのGistを使用してデバッグ・ログを提出すること。**もし、バグ・リポートやデバッグ・レベルのログを含む問題を提出するのであれば、Gistなどのサービスを使用してほしい。情報をスクロールしたり解析したりするのを非常に難しくしてしまうので、そのままのデバッグ・ログをIssueに張り付けないこと。
詳細なログを記録する為に、環境変数のVAGRANT_LOG
を、debug
(大量)、info
(通常)、warn
(少量)、error
(ごく少量)の中から、望ましいログ・レベルの名前に設定すること。サポートに質問する際は、これをdebug
に設定すること。自分の問題をトラブル・シューティングする場合は、info
から始めるのがよいだろう。これは、より少量のログであるが、Vagrantの動作に関する重要な情報を含んでいる。
LinuxやMacのシステムにおいて、vagrant
コマンドに環境変数の定義をその前につけることで実行できる。
$ VAGRANT_LOG=info vagrant up
Windowsでは、2つの段階を踏む必要がある。
$ set VAGRANT_LOG=info
$ vagrant up
コマンド・ライン・オプションに--debug
を使用することで、デバッグ・レベルの出力を得ることもできる。例を示す。
$ vagrant up --debug
出力にファイルを保存する場合、&>
を使用してstderrとstdoutをリダイレクトする必要がある。
$ vagrant up --debug &> vagrant.log
環境変数
Vagrantは包括的な方法で、設定や制御を行うことができる環境変数を持っている。
VAGRANT_DEBUG_LAUNCHER
パフォーマンス的な理由で、特にWindowsユーザにとって、Vagrantは実際のVagrantのプロセスを起動するのに静的バイナリを使用する。もし、公式のインストーラからVagrantを起動するときの早い段階での問題であれば、起動プロセスに関するデバッグ情報を出力する為にVAGRANT_DEBUG_LAUNCHER
環境変数を指定することができる。
VAGRANT_DEFAULT_PROVIDER
Vagrantが使用するデフォルトのプロバイダを設定する。
通常、Vagrantはデフォルト・プロバイダの検出方法に関して非常に賢いので、設定する必要はない。設定することで、新しいVagrant環境に対してこのプロバイダを強制的に使用させることができる。既存のVagrant環境はup
で起動した場合、そのままそのプロバイダを使い続ける。ただし、一度、既存環境をvagrant destroy
したら、この設定が効果を発揮する。
VAGRANT_BOX_UPDATE_CHECK_DISABLE
デフォルトでVagrantは、ダウンロードできるより新しいBoxがあるかを確認する為に、メタデータAPIサーバに問い合わせる。このオプションは、config.vm.box_check_update
でVagrantfile単位で無効化することができるが、VAGRANT_BOX_UPDATE_CHEC_DISABLE
を空でない値に設定することで、グローバルな範囲で無効化することができる。
このオプションはvagrant box update
のような、グローバルなBox機能には影響しない。
VAGRANT_CHECKPOINT_DISABLE
Vagrantは、ローカルで稼働しているVagrantのバージョンが古くなっていないかどうか、時折ネットワークを呼び出す。いずれにせよインターネットを介してリモート・コールをしているソフトウェアが好ましくないと、我々は考えている。この呼び出しを抑制する為に、VAGRANT_CHECKPOINT_DISABLE
環境変数を空でない値に設定する。
もし、PackerなどそのほかのHashiCorpツールを使用して、この設定を一度だけ設定したいのであれば、その代わりにCHECKPOINT_DISABLE
で設定することができる。.
VAGRANT_CWD
VAGRANT_CWD
はVagrantの作業用ディレクトリを変更する為に設定することができる。デフォルトでは、Vagrantはあなたがいるカレント・ディレクトリを使用する。作業用ディレクトリは、VagrantがVagrantfileを探すので重要である。また、Vagrantfileが見つかった場所に対して相対関係を拡張するので、Vagrantfileの中の相対パスをどのように拡張するかかも定義する。
この環境変数は、Vagrantをスクリプト環境から稼働したとき、Vagrantが参照するディレクトリを設定する為に、最も一般的に設定される。
VAGRANT_DOTFILE_PATH
VAGRANT_DOTFILE_PATH
は、VagrantがVirtualBox VM UUIDなどのVM特有の状態を格納するディレクトリを変更する為に設定することができる。デフォルトでは、これは.vagrant
である。もし、(例えば)デスクトップとラップトップの間のフォルダを共有する為に、あなたのVagrantfileをDropboxフォルダに維持したい場合、Vagrantはこのディレクトリのファイルを、最も最近に使用されたホスト上のVMの詳細で上書きする。これを避けるために、VAGRANT_DOTFILE_PATH
をそれぞれのマシンの.vagrant-laptop
と.vagrant-desktop
に設定することができる(.gitignore
をアップデートするのを忘れないこと)。
VAGRANT_HOME
VAGRANT_HOME
は、Vagrantがグローバルな状態を格納するためのディレクトリを変更するために設定することができる。デフォルトでは、これは~/.vagrant.d
に設定されている。Vagrantのホーム・ディレクトリは、Boxが格納されるような場所であり、実際にはディスク上でやや大きくなる。
VAGRANT_LOG
VAGRANT_LOG
はVagrantからのログ・メッセージの詳細さを指定する。デフォルトでは、Vagrantはいかなるログメッセージを積極的には表示しない。
ログ・メッセージは、問題をトラブル・シューティングしたり、バグを報告したり、サポートを受けるときにとても有益である。最も詳細なレベルでは、Vagrantは基本的にすべてを出力する。
使用できるログ・レベルは"debug"、"info"、"warn"、そして、"error"である。"warn"と"error"の両方は、これらのケースは非常にまれであり、Vagrantは一般的には通常の出力で報告されるので、ほとんど使用されることはない。
"info"は、通常の出力よりは詳細で、まだ人間が読むことのでき、問題を確かに識別することのできるので、問題があるときに開始するときに適切なレベルである。
"debug"出力はきわめて詳細であり、Vagrantの内部について多少の知識がないと、読むことが難しい。しかしながら、サポートを求めるときやバグを報告するときに添付するのには元雄も適切な出力である。
VAGRANT_NO_COLOR
これが何らかの値に設定された場合、Vagrantは出力にいかなる色も使用しない。これは、ログをファイルに出力したり、色をサポートしないシステム上で有益である。
同じようなふるまいは、コマンド毎に--no-color
フラグを使用することで行える。この環境変数は、このフラグをグローバルに設定する際に有益である。
VAGRANT_FORCE_COLOR
これが何らかの値に設定された場合、たとえ、TTYがないと検出されたり、現在の環境がサポートしていなかったとしても、Vagrantは強制的に色付きで出力する。
同じようなふるまいは、コマンド毎に--color
フラグを使用することで行える。この環境変数は、このフラグをグローバルに設定する際に有益である。
VAGRANT_NO_PLUGINS
これが何らかの値に設定された場合、Vagrantはいかなるサード・パーティ・プラグインをロードしない。もしプラグインをインストールし、それがVagrantに不安定さをもたら素かもしれない場合や、特定のVagrant環境にプラグインをロードしたくない場合、これは有益である。
vagrant plugin
コマンドは、いかなるプラグインも自動的にロードしない点に注意すること。そのため、不安定なプラグインをインストールしても、常に安心してvagrant plugin
を使用することができる。
VAGRANT_NO_PARALLEL
これが設定された場合、Vagrantはいかなるパラレル操作(パラレルBoxプロビジョニングなど)を行わない。すべての操作は、シリアルで行われる。
VAGRANT_SKIP_SUBPROCESS_JAILBREAK
Vagrant 1.7.3では、Vagrantは、インストーラ内で稼働していたり、Bundlerをかいして 稼働しているかを適切に検出しようとする。公式なサポートではないが、Vagrantは、Bundlerを介して実行されたとき、最適に動作しようとする。VagrantがVagrantのインストーラの外部にあるサブ・プロセスから派生したことを検出した場合、Vagrantはサブ・プロセスで保持した環境をリセットする為にベストを尽くす。
もし、Vagrantが、公式なインストーラの外部で起動していることを検出した場合、もともとの環境はつねに復旧される。この自動的なジェイル・ブレイクは、VAGRANT_SKIP_SUBPROCESS_JAILBREAK
を設定することで無効とすることができる。
VAGRANT_VAGRANTFILE
これは、Vagranが探すVagrantfileのファイル名を指定する。デフォルトではこれは"Vagrantfile"である。これはファイル・パスではない点に注意すること。単なるファイル名である。
この環境変数は、一つのフォルダが異なる設定を記載している複数のVagrantfileを含むようなスクリプト環境で共通的に使用される。