esx-tools-for-esxi を vSphere 5.0 にインストールする


前のエントリで紹介した Nested ESXi 用の VMware Tools ですが、System Requirements には vSphere 5.x とあるにも関わらず、vSphere 5.0U3 にインストールできません。

requires の出力がおかしいところから察するに制約に問題があるようなので、Vib の中にある descriptor.xml の constraint 要素を編集することで回避させます。

Vib ファイルは ar 形式でアーカイブされているので、作業は適当な Linux 上で行います。

ar コマンドは x オプションで展開することが出来ます。Vib ファイルの中には以下の 3 つのファイルがあることが分かります。

  • descriptor.xml
    • Vib ファイルの定義ファイル。Vib の依存関係、展開されるファイル一覧、再起動の必要性、AcceptanceLevel が含まれています。
  • sig.pkcs7
    • Vib の署名ファイル。
  • esx-tool
    • Vib でインストールされるファイルを tar+gzip 形式でアーカイブしたファイルです。Vib では Payload と表現されます。

descriptor.xml の constraint 要素を見ると、5.0 <= esx-base < 6.0 であろうことは予測できます。

が、その記述は特に公開されていないので、ここでは constraint 要素から relation 属性と version 属性を削除することで対応します。

descriptor.xml を編集した後に、ar コマンドで再度 Vib にアーカイブします。このときアーカイブするファイルの順序に気をつけます。esx-tools-for-esxi の Vib ファイルは descriptor.xml, sig.pkcs7, esx-tool の順番でアーカイブされています。この順序が異なっている場合、Vib インストール時に期待されているファイルがない警告されてしまいます。

新しく作成した Vib ファイルを ESXi 上にコピーし esxcli software vib install コマンドでインストールします。

まとめ

  • 少なくとも vSphere 5.0U3 では esx-tools-for-esxi の Vib ファイルをそのままインストールできない
  • Vib ファイルは ar 形式でアーカイブされている
  • Vib ファイルの依存関係は descriptor.xml に記述されている
  • descriptor.xml の constraint 要素を編集することで依存関係を変更可能

コメントを残す