21.12. virt-customize: 仮想マシン設定のカスタマイズ
virt-customize コマンドラインツールを使用すると、仮想マシンをカスタマイズできます。たとえば、パッケージのインストールや設定ファイルの編集を行います。
virt-customize を使用するには、ゲスト仮想マシンがオフラインである必要があるため、シャットダウンしてからコマンドを実行してください。virt-customizeは、ゲストまたはディスクイメージをコピーせずに、その場で変更することに注意してください。ゲスト仮想マシンの既存のコンテンツを保持する場合は、最初にディスクのスナップショット、コピー、またはクローンを作成する必要があります。ディスクのコピーおよびクローン作成の詳細は、libguestfs.org を参照してください。
警告
稼働中の仮想マシンで virt-customize を使用したり、他のディスク編集ツールを併用すると、ディスクが破損する可能性があります。このコマンドを使用する前に、仮想マシンをシャットダウンする必要があります。また、ディスクイメージは同時に編集しないでください。
virt-customize は、root では実行しないことが推奨されます。
virt-customize
をインストールするには、次のいずれかのコマンドを実行します。
# yum install /usr/bin/virt-customize
または
# yum install libguestfs-tools-c
virt-customize では、以下のコマンドオプションを使用できます。
コマンド | 説明 | 例 |
---|---|---|
--help | 特定のコマンドまたは virt-customize ユーティリティーに関する簡単なヘルプエントリーを表示します。詳細なヘルプは、man ページの virt-customize を参照してください。 | 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 は、disk.img に対して raw 形式 (自動検出なし) を強制しますが、virt-customize --format raw -a disk.img --format auto -a another.img は、disk.img に対して raw 形式 (自動検出なし) を強制し、another.img では自動検出に戻ります。信頼できない raw 形式のゲストディスクイメージがある場合は、このオプションを使用してディスク形式を指定する必要があります。これにより、悪意のあるゲストで発生する可能性のあるセキュリティーの問題を回避できます。 |
-m [MB] または --memsize [MB] | --run スクリプトに割り当てるメモリー量を変更します。--run スクリプトや --install オプションでメモリー不足の問題が発生する場合は、メモリーの割り当てを増やします。 | virt-customize --memsize 1024 |
--network または --no-network | インストール時にゲストからのネットワークアクセスを有効または無効にします。デフォルトでは有効になっています。--no-network を使用して、アクセスを無効にします。このコマンドは、システムの起動後のネットワークへのゲストアクセスには影響しません。詳細は、libguestfs documentation を参照してください。 | virt-customize -a http://[user@]example.com[:port]/disk.img |
-q or --quiet | ログメッセージを出力しないようにします。 | virt-customize -q |
-smp [N] | --install スクリプトで使用できるN 仮想 CPU を有効にします。N は 2 以上である必要があります。 | virt-customize -smp 4 |
-v or --verbose | デバッグ目的で詳細なメッセージを有効にします。 | virt-customize --verbose |
-V または --version | virt-customize のバージョン番号を表示し、終了します。 | virt-customize --V |
-x | libguestfs 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 を参照してください。