21.12. virt-customize: 仮想マシン設定のカスタマイズ

virt-customize コマンドラインツールは仮想マシンをカスタマイズするために使用できます。たとえば、パッケージをインストールしたり、設定ファイルを編集したりして実行できます。
virt-customize を使用するには、ゲスト仮想マシンをオフラインにする必要があるため、コマンドを実行する前にこれをシャットダウンしてください。virt-customize は、コピーを作成せずに配置済みのゲストまたはディスクイメージを変更することに注意してください。ゲスト仮想マシンの既存のコンテンツを保持するには、最初にディスクのスナップショット、コピー、またはクローンを作成する必要があります。ディスクのコピーまたはクローンに関する詳細は、libguestfs.org を参照してください。

警告

実行中の仮想マシン上で virt-customize を使用したり、他のディスク編集ツールと同時に使用したりすると、ディスクが破損する恐れがあります。このコマンドを使用する前に、仮想マシンを シャットダウンしてください。また、ディスクイメージを同時に編集することはできません。
virt-customize を root で実行することは推奨されていません。
virt-customize をインストールするには、以下のコマンドのいずれかを実行します。
$ sudo yum install /usr/bin/virt-customize
または
$ sudo yum install libguestfs-tools-c
以下のコマンドオプションは virt-customize と使用することができます。

表21.2 virt-customize オプション

コマンド説明
--help特定のコマンドまたは virt-customize ユーティリティーについての簡単な help エントリーを表示します。ヘルプの詳細は、virt-customize の man ページを参照してください。$ virt-customize --help
-a [file] or --add [file]ゲスト仮想マシンからのディスクイメージである指定のfileを追加します。ディスクイメージの形式は自動検出されます。これを無効にし、特定の形式を強制実行するには、--format オプションを使用します。$ virt-customize --add /dev/vms/disk.img
-a [URI] or --add [URI]リモートディスクを追加します。URI 形式は guestfish と互換性があります。詳細は、「guestfish を使用したファイルの追加」 を参照してください。$ virt-customize -a rbd://example.com[:port]/pool/disk
-c [URI] or --connect [URI]libvirt を使用している場合は、指定の URI に接続します。省略されている場合は、KVM ハイパーバイザーから接続されます。ゲストブロックデバイスを直接指定する場合は (virt-customize -a)、libvirt は一切使用されません。$ virt-customize -c qemu:///system
-d [guest] or --domain [guest]指定されたゲスト仮想マシンからすべてのディスクを追加します。ドメイン UUID をドメイン名の代わりに使用できます。$ virt-customize --domain 90df2f3f-8857-5ba9-2714-7d95907b1c9e
-n or --dry-runゲスト仮想マシンに読み取り専用の「dry run」カスタマイズ 操作を実行します。これはカスタム操作を実行しますが、最終的にディスクへの変更を破棄します。$ virt-customize -n
--format [raw|qcow2|auto]-a オプションは、デフォルトでディスクイメージの形式を自動検出します。これを使用すると、コマンドラインに続く -a オプションのディスク形式が強制実行されます。--format auto を使用すると、後続の -a オプションの自動検出に切り替わります (上記の -a コマンドを参照)。$ virt-customize --format raw -a disk.img forces raw format (no auto-detection) for disk.img, but virt-customize --format raw -a disk.img --format auto -a another.img forces raw format (no auto-detection) for disk.img and reverts to auto-detection for another.img. If you have untrusted raw-format guest disk images, you should use this option to specify the disk format. This avoids a possible security problem with malicious guests.
-m [MB] or --memsize [MB]--run スクリプトに割り当てられたメモリーの容量を変更します。--run スクリプトまたは --install オプションがメモリー不足の問題を生じさせる場合は、メモリーの割り当てを増やしてください。$ virt-customize --memsize 1024
--network または --no-networkインストール時にゲストからのネットワークアクセスを有効または無効にします。デフォルトでは有効にされています。--no-network を使用してアクセスを無効にします。このコマンドは、ゲストの起動後のネットワークへのアクセスに影響を与えません。詳細は、libguestfs ドキュメント を参照してください。$ virt-customize -a http://[user@]example.com[:port]/disk.img
-q or --quietログメッセージが出力されないようにします。$ virt-customize -q
-smp [N]N スクリプトで使用できる --install 仮想 CPU を有効にします。N は 2 以上にする必要があります。$ virt-customize -smp 4
-v or --verboseデバッグ目的で詳細なメッセージを有効にします。$ virt-customize --verbose
-V or --versionvirt-customize のバージョン番号を表示し、終了します。$ virt-customize --V
-xlibguestfs API 呼び出しのトレースを有効にします。$ virt-customize -x
virt-customize コマンドはゲストのカスタマイズ方法を設定するためのカスタマイズオプションを使用します。以下は、--selinux-relabel カスタマイズオプションについての情報を提供します。
--selinux-relabel カスタマイズオプションは、ゲストのファイルを再ラベルするため、それらは正しい SELinux ラベルを持ちます。このオプションはファイルの再レベルを即時に試行します。これに失敗する場合、/.autorelabel はイメージ上でアクティべートされます。これにより、次回のイメージの起動時に再ラベル操作がスケジュールされます。

注記

このオプションは、SELinux をサポートするゲストにのみ使用する必要があります。
以下の例では、ゲストに GIMP および Inkscape パッケージをインストールし、ゲストの次回起動時に SELinux ラベルが正しくなるようにします。

例21.1 virt-customize を使用したパッケージのゲストへのインストール

virt-customize -a disk.img --install gimp,inkscape --selinux-relabel
カスタマイズオプションを含む詳細情報は、libguestfs.org を参照してください。