これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドvirt-customizeです。
プログラム:
NAME
virt-customize-仮想マシンをカスタマイズします
SYNOPSIS
virt-カスタマイズ
[-a disk.img [-a disk.img ...] | -ddomname]
[--attach ISOFILE] [--attach-format フォーマット]
[-c URI | -接続URI] [-n | -ドライラン]
[--format FORMAT] [-m MB | --memsize MB]
[--network | - 圏外 ]
[-q | --quiet] [--smp N] [-v | --verbose] [-x]
[--chmod PERMISSIONS:FILE] [--commands-from-file FILENAME]
[--copy SOURCE:DEST] [--copy-in LOCALPATH:REMOTEDIR]
[--delete PATH] [--edit FILE:EXPR] [--firstboot SCRIPT]
[--firstboot-command'CMD + ARGS '] [--firstboot-install PKG、PKG ..]
[--hostname HOSTNAME] [--install PKG、PKG ..]
[--link TARGET:LINK [:LINK ..]] [--mkdir DIR] [--move SOURCE:DEST]
[--password USER:SELECTOR] [--root-password SELECTOR]
[--run SCRIPT] [--run-command'CMD + ARGS '] [--scrub FILE]
[--sm-attach セレクター] [--sm-register] [--sm-remove]
[--sm-unregister] [--ssh-inject USER [:SELECTOR]] [--truncate FILE]
[--truncate-recursive パス] [--timezone タイムゾーン] [--touch ファイル]
[--update] [--upload FILE:DEST] [--write FILE:CONTENT]
[--no-logfile] [--password-crypto md5 | sha256 | sha512]
[--selinux-relabel] [--sm-credentials セレクター]
virt-customize [-V | - バージョン ]
警告
ライブ仮想マシンで「virt-customize」を使用するか、他のディスク編集と同時に使用する
ツールは危険であり、ディスクの破損を引き起こす可能性があります。 仮想マシンは
このコマンドを使用する前にシャットダウンしてください。ディスクイメージを同時に編集しないでください。
DESCRIPTION
Virt-customizeは、パッケージをインストールすることで仮想マシン(ディスクイメージ)をカスタマイズできます。
構成ファイルの編集など。
Virt-customizeはゲストまたはディスクイメージを変更します in 場所。 ゲストをシャットダウンする必要があります。
ゲストの既存のコンテンツを保持する場合は、 フォーム しなければなりません スナップショット、 copy or
ディスク 最初の.
あなたが行う rootとしてvirt-customizeを実行する必要があります。 実際、私たちは一般的にあなたをお勧めします
しないでください。
関連するツールは次のとおりです。 virt-sysprep(1)と 仮想ビルダーとします。
OPTIONS
- 助けて
簡単なヘルプを表示します。
-a file
- 追加 file
Add file これは、仮想マシンからのディスクイメージである必要があります。
ディスクイメージのフォーマットは自動検出されます。 これをオーバーライドして強制するには
特定の形式は - フォーマット オプションを選択します。
-a URI
- 追加 URI
リモートディスクを追加します。 URI形式はguestfishと互換性があります。 「リモートの追加」を参照してください
STORAGE」 ゲストフィッシュとします。
-添付 ISOファイル
指定されたディスクはlibguestfsアプライアンスに接続されています。 これは余分なものを提供するために使用されます
カスタマイズ用のソフトウェアリポジトリまたはその他のデータ。
接続されているディスクのボリュームまたはファイルシステムが次のようになっていることを確認する必要があります。
ラベルを付けて(またはISOボリューム名を使用して)、実行時にラベルでマウントできるようにします-
スクリプト:
mkdir / tmp / mount
LABEL = EXTRA / tmp / mountをマウントします
あなたは複数を持つことができます -添付 オプションであり、フォーマットは任意のディスクフォーマットにすることができます(
単なるISO)。
--添付フォーマット FORMAT
次のディスクフォーマットを指定します -添付 オプション。 「FORMAT」は通常「raw」です
または「qcow2」。 ISOには「raw」を使用します。
-c URI
- 接続 URI
libvirtを使用している場合は、指定されたものに接続します URI。 省略した場合は、に接続します
デフォルトのlibvirtハイパーバイザー。
ゲストブロックデバイスを直接指定する場合(-a)、libvirtはまったく使用されません。
-d ゲスト
- ドメイン ゲスト
指定されたlibvirtゲストからすべてのディスクを追加します。 代わりにドメインUUIDを使用できます
名前。
-n
-ドライラン
ゲストに対して読み取り専用の「ドライラン」を実行します。 これはsysprep操作を実行しますが、
最後にディスクへの変更を破棄します。
- フォーマット raw | qcow2 | ..
- フォーマット オート
のデフォルト -a オプションは、ディスクイメージのフォーマットを自動検出することです。 使用する
これにより、ディスクフォーマットが強制されます -a コマンドラインに続くオプション。 使用する
- フォーマット オート その後の自動検出に切り替えます -a オプション。
例:
virt-customize --format raw -a disc.img
のraw形式(自動検出なし)を強制します ディスク.img.
virt-customize --format raw -a disc.img --format auto -a another.img
のraw形式(自動検出なし)を強制します ディスク.img の自動検出に戻ります
別の.img.
信頼できないraw形式のゲストディスクイメージがある場合は、このオプションを使用して次のことを行う必要があります。
ディスクフォーマットを指定します。 これにより、悪意のあるセキュリティ問題の可能性を回避できます
ゲスト(CVE-2010-3851)。
-m MB
--memsize MB
に割り当てられたメモリの量を変更します - 走る スクリプト。 あなたが見つけたらこれを増やしてください
それ - 走る スクリプトまたは - インストール オプションのメモリが不足しています。
デフォルトは、次のコマンドで見つけることができます。
ゲストフィッシュの取得-memsize
- 通信網
- 圏外
インストール中にゲストからのネットワークアクセスを有効または無効にします。
デフォルトは有効です。 使用する - 圏外 アクセスを無効にします。
ネットワークは発信接続のみを許可し、その他の小さな制限があります。 見る
の「ネットワーク」 仮想レスキューとします。
あなたが使用している場合 - 圏外 次に、次のような特定の他のオプション - インストール 動作しないでしょう。
これは、起動後にゲストがネットワークにアクセスできるかどうかには影響しません。
これは、ハイパーバイザーまたはクラウド環境によって制御され、何もすることがないためです。
virt-customizeを使用します。
一般的に言えば、あなたはすべきです つかいます - 圏外。 しかし、ここにあなたが
したいかもしれません:
1.使用しているlibguestfsバックエンドがネットワークをサポートしていないため。
(参照:の「バックエンド」 ゲスト(3))。
2.インストールする必要のあるソフトウェアはすべて添付のISOからのものであるため、
ネットワーク。
3.信頼できないゲストコードがホストネットワークにアクセスしようとするのは望ましくありません。
virt-customizeを実行しています。 これは、信頼できない場合に特に問題になります。
オペレーティングシステムテンプレートのソース。 (以下の「セキュリティ」を参照してください)。
4.ホストネットワークがありません(たとえば、安全な/制限された環境)。
-q
- 静かな
ログメッセージを印刷しないでください。
個々のファイル操作の詳細なログを有効にするには、 -x.
--smp N
N≥2の仮想CPUを有効にする - 走る 使用するスクリプト。
-v
-詳細
デバッグ用の詳細メッセージを有効にします。
-V
- バージョン
バージョン番号を表示して終了します。
-x libguestfsAPI呼び出しのトレースを有効にします。
カスタマイズ オプション
--chmod 権限:ファイル
「FILE」の権限を「PERMISSIONS」に変更します。
注意:「PERMISSIONS」は、接頭辞0を付けて取得しない限り、デフォルトではXNUMX進数になります。
0700進数、つまり。 700ではなくXNUMXを使用してください。
--ファイルからのコマンド ファイル名
各行にXNUMXつずつ(およびその引数)、ファイルからカスタマイズコマンドを読み取ります。
各行には、単一のカスタマイズコマンドとその引数が含まれています。次に例を示します。
/ some / fileを削除します
一部のパッケージをインストールする
パスワードsome-user:password:its-new-password
空の行は無視され、「#」で始まる行はコメントであり、次のように無視されます。
良い。 さらに、「\」を追加することにより、引数を複数の行に分散させることができます
(継続文字)たとえば、行の
/ some / fileを編集します:\
s / ^ OPT =。* / OPT = ok /
コマンドは、ファイル内と同じ順序で、あたかもそうであるかのように処理されます。
として指定 - 消去 / some / file コマンドラインで。
- コピー 出典:DEST
ゲスト内でファイルまたはディレクトリを再帰的にコピーします。
ワイルドカードは使用できません。
-コピーイン LOCALPATH:REMOTEDIR
ローカルファイルまたはディレクトリをディスクイメージに再帰的にコピーし、それらをディスクイメージに配置します。
ディレクトリ「REMOTEDIR」(存在する必要があります)。
ワイルドカードは使用できません。
- 消去 パス
ゲストからファイルを削除します。 または、ディレクトリ(およびそのすべてのコンテンツ、
再帰的に)。
も参照してください。 - アップロード, - スクラブ.
--編集 FILE:EXPR
Perl式「EXPR」を使用して「FILE」を編集します。
式が変更されないように、式を適切に引用するように注意してください。
シェル。
このオプションは、Perl5がインストールされている場合にのみ使用可能であることに注意してください。
の「非対話型編集」を参照してください。 virt-編集とします。
--firstboot SCRIPT
ゲスト内に「SCRIPT」をインストールして、ゲストが最初に起動したときにスクリプトが実行されるようにします。
実行されます(rootとして、ブートプロセスの後半)。
ゲストにインストールすると、スクリプトは自動的にchmod + xになります。
代替バージョン --firstboot-コマンド 同じですが、便利にラップします
XNUMX行のスクリプトでコマンドを実行できます。
あなたは複数を持つことができます --firstboot オプション。 彼らは彼らと同じ順序で実行されます
コマンドラインに表示されます。
の「FIRSTBOOTSCRIPTS」をご覧ください。 仮想ビルダー(1)詳細および
最初のブートスクリプトに関する警告。
参照 - 走る.
--firstboot-コマンド 「CMD + ARGS」
ゲストが最初に起動したときに(rootとして、ゲスト内で)コマンド(および引数)を実行します。
起動プロセスの後半)。
あなたは複数を持つことができます --firstboot オプション。 彼らは彼らと同じ順序で実行されます
コマンドラインに表示されます。
の「FIRSTBOOTSCRIPTS」をご覧ください。 仮想ビルダー(1)詳細および
最初のブートスクリプトに関する警告。
参照 - 走る.
--firstboot-install PKG、PKG ..
名前付きパッケージ(コンマ区切りのリスト)をインストールします。 これらは、
ゲストは、ゲストのパッケージマネージャー(apt、yumなど)と
ゲストのネットワーク接続。
パッケージをインストールするさまざまな方法の概要については、「パッケージのインストール」を参照してください。
in 仮想ビルダーとします。
-ホスト名 ホスト名
ゲストのホスト名を「HOSTNAME」に設定します。 点線のhostname.domainnameを使用できます
(FQDN)必要に応じて。
- インストール PKG、PKG ..
名前付きパッケージ(コンマ区切りのリスト)をインストールします。 これらは、
ゲストのパッケージマネージャー(apt、yumなど)とホストのパッケージマネージャーを使用したイメージビルド
ネットワーク接続。
パッケージをインストールするさまざまな方法の概要については、「パッケージのインストール」を参照してください。
in 仮想ビルダーとします。
参照 - 更新.
- リンク TARGET:LINK [:LINK ..]
「LINK」から始まり「TARGET」を指すシンボリックリンクをゲストに作成します。
--mkdir DIR
ゲストにディレクトリを作成します。
これは「mkdir-p」を使用するため、中間ディレクトリが作成されます。
ディレクトリはすでに存在します。
- 動く 出典:DEST
ゲスト内でファイルまたはディレクトリを移動します。
ワイルドカードは使用できません。
--ログファイルなし
ビルド後にイメージから「builder.log」(ビルドコマンドのログファイル)をスクラブします。
完了。 イメージがどのように作成されたかを正確に明らかにしたくない場合は、これを使用してください
オプションを選択します。
「ログファイル」も参照してください。
- パスワード USER:SELECTOR
「USER」のパスワードを設定します。 (このオプションは ユーザーアカウントを作成します)。
の「ユーザーとパスワード」を参照してください。 仮想ビルダー(1)「SELECTOR」フィールドの形式については、
また、ユーザーアカウントの設定方法も説明します。
--パスワード暗号化 md5 | sha256 | sha512
virtツールがゲストのパスワードを変更または設定する場合、このオプションは
そのパスワードの「md5」、「sha256」、または「sha512」へのパスワード暗号化。
「sha256」および「sha512」には、glibc≥2.7が必要です(チェック 陰窩(3)ゲスト内)。
「md5」は比較的古いLinuxゲスト(RHEL 3など)で動作しますが、安全ではありません
現代の攻撃に対して。
libguestfsが持っていなかった古いゲストを検出しない限り、デフォルトは「sha512」です。
SHA-512のサポート。この場合、「md5」を使用します。 libguestfsをオーバーライドできます
このオプションを指定します。
これにより、ゲストが使用するデフォルトのパスワード暗号化は変更されないことに注意してください。
ゲスト内に新しいユーザーアカウントを作成します。 あなたがそれをしたいのなら、あなたはすべきです
使用 --編集 「/ etc / sysconfig / authconfig」(Fedora、RHEL)を変更するオプションまたは
"/etc/pam.d/共通パスワード"(Debian、Ubuntu)。
--root-パスワード セレクタ
rootパスワードを設定します。
の「ユーザーとパスワード」を参照してください。 仮想ビルダー(1)「SELECTOR」フィールドの形式については、
また、ユーザーアカウントの設定方法も説明します。
注:virt-builderでは、 しない セッションに --root-パスワード その後、ゲストは与えられます
ランダム rootパスワード。
- 走る SCRIPT
ディスクイメージ上で「SCRIPT」と呼ばれるシェルスクリプト(または任意のプログラム)を実行します。 スクリプト
小さなアプライアンス内で仮想化され、ゲストファイルシステムにchrootされて実行されます。
スクリプトは自動的にchmod + xになります。
libguestfsがそれをサポートしている場合、限られたネットワーク接続が利用可能ですが、それは
発信ネットワーク接続を許可します。 データディスク(ISOファイルなど)を接続することもできます
データ(ソフトウェアパッケージなど)をスクリプトに提供する別の方法として、
ネットワーク接続 (-添付)。 データファイルをアップロードすることもできます(- アップロード).
あなたは複数を持つことができます - 走る オプション。 それらは、表示されるのと同じ順序で実行されます
コマンドライン。
も参照してください。 --firstboot, -添付, - アップロード.
--実行コマンド 「CMD + ARGS」
ディスクイメージでコマンドと引数を実行します。 コマンドは内部で仮想化されて実行されます
ゲストファイルシステムにchrootされた小さなアプライアンス。
libguestfsがそれをサポートしている場合、限られたネットワーク接続が利用可能ですが、それは
発信ネットワーク接続を許可します。 データディスク(ISOファイルなど)を接続することもできます
データ(ソフトウェアパッケージなど)をスクリプトに提供する別の方法として、
ネットワーク接続 (-添付)。 データファイルをアップロードすることもできます(- アップロード).
あなたは複数を持つことができます --実行コマンド オプション。 彼らは彼らと同じ順序で実行されます
コマンドラインに表示されます。
も参照してください。 --firstboot, -添付, - アップロード.
- スクラブ FILE
ゲストからファイルをスクラブします。 これは - 消去 それ以外で:
・ゲストがデータを回復できないようにデータをスクラブします。
・ディレクトリは削除できず、通常のファイルのみが削除されます。
--selinux-relabel
ゲストのファイルにラベルを付け直して、正しいSELinuxラベルを付けます。
このオプションは、SELinuxをサポートするゲストにのみ使用してください。
--sm-アタッチ セレクタ
「subscription-manager」を使用してプールに接続します。
の「SUBSCRIPTION-MANAGER」を参照してください。 仮想ビルダー(1)「SELECTOR」フィールドのフォーマット。
--sm-クレデンシャル セレクタ
「subscription-manager」の資格情報を設定します。
の「SUBSCRIPTION-MANAGER」を参照してください。 仮想ビルダー(1)「SELECTOR」フィールドのフォーマット。
--sm-登録
「subscription-manager」を使用してゲストを登録します。
これには、を使用してクレデンシャルを設定する必要があります --sm-クレデンシャル.
--sm-削除
「subscription-manager」を使用して、ゲストからすべてのサブスクリプションを削除します。
--sm-登録解除
「subscription-manager」を使用してゲストの登録を解除します。
--ssh-注入 USER [:SELECTOR]
sshキーを挿入して、指定された「ユーザー」がsshを使用せずにログインできるようにします。
パスワードを提供します。 「USER」はゲストにすでに存在している必要があります。
の「SSHキー」を参照してください 仮想ビルダー(1)「SELECTOR」フィールドのフォーマット。
あなたは複数を持つことができます --ssh-注入 オプション、さまざまなユーザー用、さらに多くのキー用
ユーザーごとに。
-タイムゾーン タイムゾーン
ゲストのデフォルトのタイムゾーンを「TIMEZONE」に設定します。 次のような場所の文字列を使用します
「ヨーロッパ/ロンドン」
- 接する FILE
このコマンドは、 touch(1)-「FILE」に対する同様の操作。
-切り捨て FILE
このコマンドは、長さがゼロのファイルへの「パス」を切り捨てます。 ファイルはすでに存在している必要があります。
--truncate-recursive パス
このコマンドは、「パス」の下にあるすべてのファイルを再帰的に切り捨てて長さをゼロにします。
- 更新
「yumupdate」、「apt-get upgrade」、または必要なコマンドと同等の処理を実行します
テンプレートにすでにインストールされているパッケージを最新バージョンに更新します。
参照 - インストール.
- アップロード FILE:DEST
ローカルファイル「FILE」をディスクイメージの宛先「DEST」にアップロードします。 ファイルの所有者と
元の権限は保持されるため、必要なものに設定する必要があります
それらはディスクイメージに含まれます。
「DEST」が最終ファイル名になる可能性があります。 これは、アップロード時にファイルの名前を変更するために使用できます。
「DEST」がディレクトリ名(ゲストにすでに存在している必要があります)の場合、ファイルは次のようになります。
そのディレクトリにアップロードされ、ローカルファイルシステムと同じ名前を保持します。
も参照してください。 --mkdir, - 消去, - スクラブ.
- 書きます ファイル:コンテンツ
「コンテンツ」を「ファイル」に書き込みます。
セリナックス
SELinuxを使用するゲストの場合、使用時に特別な処理が必要になる場合があります
新しいファイルを作成したり、既存のファイルを変更したりする操作。
詳細については、の「SELINUX」を参照してください。 仮想ビルダーとします。
EXIT ステータス
このプログラムは、成功した場合は0を返し、エラーがあった場合は1を返します。
ENVIRONMENT 変数
「VIRT_TOOLS_DATA_DIR」
これは、Windowsのfirstbootに使用されるデータファイルを含むディレクトリを指すことができます
インストール。
通常、これを設定する必要はありません。 設定されていない場合、コンパイルされたデフォルトが使用されます
(何かのようなもの / usr / share / virt-tools).
このディレクトリには、次のファイルが含まれている可能性があります。
rhsrvany.exe
これはRHSrvAnyWindowsバイナリであり、「firstboot」スクリプトをインストールするために使用されます。
Windowsゲスト。 使用する場合は必須です --firstboot or
--firstboot-コマンド Windowsゲストのオプション。
参照:「https://github.com/rwmjones/rhsrvany」
その他の環境変数については、の「環境変数」を参照してください。 ゲストとします。
virtを使用する-onworks.netサービスを使用してオンラインでカスタマイズする