Skip to content

tar コマンドで OVA ファイルを取り扱う

以前に以下のメモを書きました。

前回、Ubuntu 18.04LTS ベースの TE エージェント新規インストールはサポート終了 というメモを書きましたが、このメモに伴いリリースされたばかりの ThousandEyes OVA ファイルを題材に、tar コマンドを使った OVA ファイルの取り扱い方を改めてメモしておきます。

OVA ファイルは Tape Archive

file コマンドで確認すると分かりますが、.OVA ファイルの実態は Tape Archive です。 つまり、「複数のファイルをひとつにまとめたもの」(但し、圧縮はされていない) ものです。 Tape Archive ですので tar コマンドで扱うことが出来ます。

1
2
# file thousandeyes-va-0.224.ova
thousandeyes-va-0.224.ova: POSIX tar archive (GNU)

tar コマンドの基本的なオプション

今回登場する tar コマンドのオプションは以下の通りです。

オプション 意味
f ファイル名を指定する
t アーカイブに含まれるファイル名を表示する
c アーカイブを作成する
x アーカイブを展開する
v 処理中のファイル名を表示する

展開せずに中身を確認する

展開はせずにアーカイブに含まれるファイル名を確認するには tf オプションを指定します。

1
2
3
# tar tf thousandeyes-va-0.224.ova
thousandeyes-va-64-20.04.5.ovf
thousandeyes-va-64-20.04.5.vmdk

展開する

展開するには xf オプションを指定します。

1
# tar xf thousandeyes-va-0.224.ova

オプションに v を加えると、展開したファイルを順次表示します。 進捗が分かりやすくなります。

1
2
3
# tar xvf thousandeyes-va-0.224.ova
thousandeyes-va-64-20.04.5.ovf
thousandeyes-va-64-20.04.5.vmdk

アーカイブを作成する

アーカイブを作成する場合は cf オプションを指定します。 一点ポイントがあり、OVA ファイルを作成する際は「アーカイブの先頭に .ovf ファイルが位置していること」が必要です。 下記は正しい OVA ファイルの作成例です。

1
# tar cf thousandeyes-va-0.224-NEW.ova thousandeyes-va-64-20.04.5.ovf thousandeyes-va-64-20.04.5.vmdk

以下は誤った OVA ファイルの作成例です (.ovf ファイルが最初では無く、後になっています)。

1
# tar cf thousandeyes-va-0.224-NEW.ova thousandeyes-va-64-20.04.5.vmdk thousandeyes-va-64-20.04.5.ovf

一部のファイルだけ、展開する

アーカイブから (全てのファイルでは無く) 指定した一部のファイルだけを展開するには xf オプションに続けて、アーカイブから取り出したいファイル名を指定します。

1
# tar xf thousandeyes-va-0.224.ova thousandeyes-va-64-20.04.5.ovf