これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド guestfs-testing です。
プログラム:
NAME
guestfs-testing - libguestfs の手動テスト、お手伝いできます!
DESCRIPTION
このページには、libguestfs で試すことができる手動テストがあります。 みんな微妙に違う
プラットフォーム、ハードウェア、およびゲストの組み合わせであるため、このテストは非常に価値があります。 ありがとう
手伝ってくれて!
でマークされたテスト * (アスタリスク) できる 破壊する データ 気をつけないと。 他は
安全で、何も変更しません。
これらのテストのほとんどは、1.14 以上の libguestfs で動作します。 これらのテストの一部 (マーク付き)
libguestfs ≥ 1.22 が必要です。
このリンクから見つけたバグを報告できます。
https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
またはメーリングリストに投稿する(登録は 必須ですが、登録していない場合
その後、モデレーターがメッセージを手動で承認するまで待つ必要があります):
https://www.redhat.com/mailman/listinfo/libguestfs
TESTS
ラン libguestfs-テストツール
実行:
libguestfs-テストツール
このコマンドは、基本的な libguestfs が有効であることを非常に単純で非破壊的にテストします。
機能しています。 root として実行する必要はありません。
それであれば しない print "===== TEST FINISHED OK =====", バグとして報告してください。 とても
を含めることが重要です。 完了、 未編集 あなたの「libguestfs-test-tool」の出力
バグ報告。 このページの最後にある「バグ」セクションを参照してください。
チェック KVM 加速 is さ 中古。
ホストにハードウェア virt アクセラレーションがある場合、ホット キャッシュを使用すると libguestfs が
数秒で起動できます。 次のコマンドを数回実行します。
time guestfish -a /dev/null 実行
数回実行した後、時間は数秒に落ち着くはずです (高速 5 では 64 秒未満)。
ビット ハードウェア)。
ハードウェア virt を確認する方法:
http://virt-tools.org/learning/check-hardware-virt/
上記のコマンドがまったく機能しない場合は、 libguestfs-テストツールとします。
チェック which バージョン of libguestfs、 ケム、 libvirt、 等 is さ 中古。
「libguestfs-test-tool」の出力を見て、次を確認します。
· libguestfs のどのバージョンが使用されていますか? 出力の開始近くで、
次のような行を参照してください。
ライブラリのバージョン: 1.22.0fedora=19、リリース=1.fc19、libvirt
· libvirt は使用されていますか? バックエンドを探すと、違いがわかります。
guestfs_get_backend: 直接
または:
guestfs_get_backend: libvirt
· どのバージョンの qemu が使用されていますか? それは印刷されるかもしれません:
libguestfs: qemu バージョン 1.5
ただし、libvirt を使用している場合、libguestfs にはこの情報がないことに注意してください。
· どのカーネルが使用されていますか? スーパーミン(1) インストールされている最新のカーネルを選択しようとします
あなたのマシンで。 アプライアンスの出力でバージョンを確認できます。例:
[ 0.000000] Linux バージョン 3.9.2-200.fc18.x86_64 [...]
意図に基づいて、適切なメッセージを適切なユーザーに適切なタイミングで 〜へ 開いた a ローカル ゲスト 画像 ゲストフィッシュ。
このテストには、任意のゲスト ディスク イメージを使用できます。 「--ro」フラグを使用していることを確認してください。
ゲストフィッシュ(1) ディスクイメージを読み取り専用で開きます。
guestfish --ro -a /path/to/disk.img -i
コマンドが成功すると、ゲスト OS 名が出力され、
ゲストフィッシュであなた "> " プロンプト。"ll /" などの guestfish コマンドを使用して確認できます。
ディスクイメージ内。 終了するには、「exit」と入力します。
エラーが発生した場合は、デバッグを有効にしてみてください (コマンド ラインに「-v」を追加します)。 また作る
確実に libguestfs-テストツール(1) 成功します。
意図に基づいて、適切なメッセージを適切なユーザーに適切なタイミングで 〜へ 開いた a リモート ゲスト 画像 ゲストフィッシュ。
Note このテストには、libguestfs ≥ 1.22 および qemu ≥ 1.5 が必要です。 無効にする必要がある場合もあります
これを設定してlibvirt:
エクスポート LIBGUESTFS_BACKEND=直接
HTTP/FTP 経由で利用可能なディスク イメージがある場合は、それを開いてみてください。
guestfish --ro -i --format=raw -a http://www.example.com/disk.img
SSH の場合、パスワードが不要になるように ssh-agent が設定されていることを確認する必要があります。
リモート マシンにログインします。 次に、次のようなコマンドが機能するはずです。
guestfish --ro -i --format=raw \
-a ssh://remote.example.com/path/to/disk.img
エラーが発生した場合は、デバッグを有効にしてみてください (コマンド ラインに「-v」を追加します)。 また作る
確実に libguestfs-テストツール(1) 成功します。
ラン virt-alignment-scan on を ゲスト
ラン virt-alignment-scan(1) ゲストまたはディスク イメージ:
virt-alignment-scan -a /path/to/disk.img
または:
virt-alignment-scan -d ゲスト
アライメント レポートは、ゲスト パーティションのアライメント方法と一致していますか?
ラン 仮想猫 on 一部 ファイル in ゲスト
仮想猫(1) ゲストからのファイルを表示できます。 Linux ゲストの場合は、次を試してください。
virt-cat Linuxゲスト /etc/passwd
最近の機能は、Windows パスのサポートです。たとえば、次のとおりです。
virt-cat WindowsGuest 'c:\windows\win.ini'
複数のドライブを備えた Windows ゲストがある場合は、さらに優れたテストになります。 「D:」、「E:」を実行
などのパスは正しく機能しますか?
* コピー 一部 ファイル に a シャット オフ ゲスト。
仮想コピーイン(1) ファイルとディレクトリをゲストまたはディスク イメージに再帰的にコピーできます。
virt-copy-in -d ゲスト の/ etc / tmpに
これにより、ローカルディレクトリがコピーされます の/ etc 〜へ /tmp/etc ゲストで(再帰的に)。 起動すれば
ゲスト、コピーされたすべてのファイルとディレクトリを確認できますか?
ゲストをシャットダウンし、複数のファイルとディレクトリをコピーしてみてください:
virt-copy-in -d ゲスト /ホーム /etc/issue / tmpに
コピー 一部 ファイル でる of a ゲスト。
仮想コピーアウト(1) ゲストまたはディスク イメージからファイルとディレクトリを再帰的にコピーできます。
virt-copy-out -d ゲスト /ホーム .
コマンドの最後のスペースとピリオドはタイプミスではないことに注意してください。
これはコピーする必要があります /ホーム ゲストから現在のディレクトリに。
ラン virt-df。
virt-df(1) ディスク容量を一覧表示します。 走る:
virt-df
これを次の結果と比較してみてください。 df(1)ゲストの中に、いくつかありますが、
但し書き:
· ゲストはアイドル状態である必要があります。
· ゲスト ディスクは、次を使用して同期する必要があります。 syncとします。
· ゲストの起動などのアクションにより、ログ ファイルが書き込まれ、数値が
変更します。
このような状況でも数値が同じになることは保証されません。
それらは似ているはずです。 数値が大きく異なる場合は、バグを示しています。
意図に基づいて、適切なメッセージを適切なユーザーに適切なタイミングで インポート virt-df CSV 出力 に a スプレッドシート or データベース。
実行:
virt-df --csv > /tmp/report.csv
これをお気に入りのスプレッドシートまたはデータベースにロードしてみてください。 結果ですか
スプレッドシート/データベースで忠実に再現されていますか?
http://www.postgresql.org/docs/8.1/static/sql-copy.html
http://dev.mysql.com/doc/refman/5.1/en/load-data.html
* 編集 a file in a シャット オフ ゲスト。
virt-編集(1) ゲストでファイルを編集できます。 RHEL または Fedora ゲストで次のコマンドを試してください。
virt-edit LinuxGuest /etc/sysconfig/network
他の Linux ゲストでは、次のような他のファイルを編集してみてください。
virt-edit LinuxGuest /etc/motd
ゲストの起動時にゲスト内で変更が見られますか?
ディスプレイ ファイルシステム / パーティション / LV in a ゲスト。
virt-ファイルシステム(1) ゲストのファイルシステムを表示するために使用できます。 このコマンドを試してください
任意のディスク イメージまたはゲスト:
virt-filesystems -a /path/to/disk.img --all --long -h
または:
virt-filesystems -d ゲスト --all --long -h
結果はゲストに見られるものと一致しますか?
ラン virt-インスペクター on を ゲスト
virt-インスペクター(1) すべてのゲストまたはディスク イメージに関するレポートを取得するには:
virt-inspector -a /path/to/disk.img | 以下
または:
virt-inspector -d ゲスト | 以下
結果は実際にゲストに含まれているものと一致しますか?
意図に基づいて、適切なメッセージを適切なユーザーに適切なタイミングで 監査 機能を使用 of virt-ls on を ゲスト
Linux 仮想マシン内のすべての setuid または setgid プログラムを一覧表示します。
virt-ls -lR -d ゲスト / | grep '^- [42]'
Linux 仮想マシン内のパブリック書き込み可能なディレクトリをすべて一覧表示します。
virt-ls -lR -d ゲスト / | grep '^d ...7'
Linux 仮想マシン内のすべての Unix ドメイン ソケットを一覧表示します。
virt-ls -lR -d ゲスト / | grep '^s'
ファイル名が「.png」で終わるすべての通常ファイルをリストします。
virt-ls -lR -d ゲスト / | grep -i '^-.*\.png$'
ホーム ディレクトリにある 10MB を超えるファイルを表示します。
virt-ls -lR -d ゲスト /ホーム | awk '$3 > 10*1024*1024'
過去 7 日間に変更されたものをすべて検索します。
virt-ls -lR -d ゲスト --time-days / | awk '$6 <= 7'
過去 24 時間以内に変更された通常のファイルを検索します。
virt-ls -lR -d ゲスト --time-days / | grep '^-' | awk '$6 < 1'
結果はゲストの内容と一致しますか?
創造する a ディスク 画像 から a タールボール。
virt-make-fs(1) たまたま持っている tarball からディスク イメージを作成するには:
virt-make-fs --partition=mbr --type=vfat /any/tarball.tar.gz Output.img
「output.img」を raw ディスクとして既存のゲストに追加します。 ゲストがファイルを表示できることを確認します。
このテストは、Windows ゲストで試す場合に特に役立ちます。
他のパーティション分割スキームを試してください。 --パーティション=gpt.
他のファイルシステム形式を試してください。 --type=ntfs, --type=ext2.
* ラン 仮想レスキュー on a シャット オフ ディスク 画像 or ゲスト。
仮想レスキュー(1) 調査、救出または修理すること シャット オフ ゲストまたはディスク イメージ:
virt-rescue -a /path/to/disk.img
または:
virt-rescue -d ゲスト
通常のシェル コマンドを使用してゲストを調べることはできますか?
* リサイズ ゲスト
virt-サイズ変更(1) ゲストにより多くのディスク容量を与えるため。 たとえば、ディスクがある場合
30G より小さいイメージの場合、次のようにして 30G に増やします。
切り捨て -s 30G newdisk.img
virt-filesystems -a /path/to/olddisk.img --all --long -h
virt-resize /path/to/olddisk.img newdisk.img --expand /dev/sda1
qemu-kvm -m 1024 -hda newdisk.img
ゲストはまだ起動しますか? 他のパーティションを拡張してみてください。
* スパース化 a ゲスト ディスク。
使い方 仮想スパース化(1)、ディスク イメージをよりまばらにする:
virt-sparsify /path/to/olddisk.img newdisk.img
Is 新しいディスク.img スパース化後も起動可能ですか? 結果のディスク イメージは小さいか (使用
"du" でチェック)?
* 「シスプレップ」 a シャット オフ Linux ゲスト。
Note これは本当に既存のゲストを台無しにするので、ゲストを複製する方が良い
これを試す前に。
virt-sysprep --hostname newhost.example.com -a /path/to/disk.img
sysprep は成功しましたか? 起動後、どのような変更が行われましたか?
成功しましたか?
ダンプ Windows レジストリ から Windows ゲスト
virt-win-reg(1) Windows ゲストから Windows レジストリをダンプします。
持ってる。
virt-win-reg --unsafe-printable-strings WindowsGuest 'HKLM\Software' |
less
virt-win-reg --unsafe-printable-strings WindowsGuest 'HKLM\System' |
less
出力は、ゲスト内で実行中の「regedit」と一致しますか?
最近の機能は、ユーザー レジストリをダンプする機能です。 ユーザ名
ゲストのローカル ユーザーの名前:
virt-win-reg --unsafe-printable-strings WindowsGuest 'HKEY_USERS\username' |
less
onworks.net サービスを使用してオンラインで guestfs-testing を使用する