GNU/Linux >> Linux の 問題 >  >> Linux

Sys ::Detector ::Virtualization Perlスクリプトを使用して仮想化を検出する方法は?

遅くなって、仮想マシンを実行するハイパーバイザーのタイプを検出する必要があるクラウドセキュリティプロジェクトに取り組み始めました。実験のために、基盤となるハイパーバイザーとしてKVMを備えたOpenStackクラウドプラットフォームと、QEMU、Xen、VirtualBoxを備えたスタンドアロンKVMに基づいたテスト環境をセットアップしました。アイデアは、これらの環境上で仮想マシンを起動し、現在のVMを強化する仮想化テクノロジーを検出できるかどうかを確認することです。ありがたいことに、それはとても簡単です。

注: dmesgなどのネイティブLinuxコマンドはほとんどありません。 (システムログの分析)、 lshw、dmidecode など…これは、この仕事を達成するのに役立ちます。これについては、別のチュートリアルで説明します。

ここでは、「 Sys ::Detect ::Virtualization」を使用します 」perlスクリプト。このリンクからダウンロードできます。

仮想マシン(VM)から仮想化タイプを検出する方法

Sys::Detect ::Virtualization 」を取得したら、 上記のリンクからダウンロードした「」スクリプトを仮想マシンにコピーして、以下に示すようにインストールします。

[root@vm ]# tar xvfz Sys-Detect-Virtualization-0.107.tar.gz
[root@vm ]# cd Sys-Detect-Virtualization-0.107
[root@vm Sys-Detect-Virtualization-0.107]# perl Makefile.PL
Checking if your kit is complete...
Looks good
Warning: prerequisite ExtUtils::MakeMaker 6.59 not found. We have 6.30.
Warning: prerequisite Test::Deep 0 not found.
Warning: prerequisite Test::Exception 0 not found.
Warning: prerequisite Test::More 0.82 not found. We have 0.62.
Writing Makefile for Sys::Detect::Virtualization

作成

[root@vm Sys-Detect-Virtualization-0.107]# make
cp lib/Sys/Detect/Virtualization.pm blib/lib/Sys/Detect/Virtualization.pm
cp lib/Sys/Detect/Virtualization/linux.pm blib/lib/Sys/Detect/Virtualization/linux.pm
cp lib/Sys/Detect/Virtualization/freebsd.pm blib/lib/Sys/Detect/Virtualization/freebsd.pm
cp script/virtdetect blib/script/virtdetect
/usr/bin/perl "-Iinc" "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/virtdetect
Manifying blib/man1/virtdetect.1
Manifying blib/man3/Sys::Detect::Virtualization.3pm
Manifying blib/man3/Sys::Detect::Virtualization::freebsd.3pm
Manifying blib/man3/Sys::Detect::Virtualization::linux.3pm

インストール

[root@vm Sys-Detect-Virtualization-0.107]# make install
Installing /usr/lib/perl5/site_perl/5.8.8/Sys/Detect/Virtualization.pm
Installing /usr/lib/perl5/site_perl/5.8.8/Sys/Detect/Virtualization/linux.pm
Installing /usr/lib/perl5/site_perl/5.8.8/Sys/Detect/Virtualization/freebsd.pm
Installing /usr/share/man/man1/virtdetect.1
Installing /usr/share/man/man3/Sys::Detect::Virtualization::freebsd.3pm
Installing /usr/share/man/man3/Sys::Detect::Virtualization::linux.3pm
Installing /usr/share/man/man3/Sys::Detect::Virtualization.3pm
Installing /usr/bin/virtdetect
Writing /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/Sys/Detect/Virtualization/.packlist
Appending installation info to /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/perllocal.pod

virtdetect」を使用して仮想化を検出する ‘コマンド

[root@vm Sys-Detect-Virtualization-0.107]# virtdetect
Multiple possible virtualization systems detected:
 Linux KVM
 Qemu

virtdetect」を実行することもできます ‘非仮想化環境でコマンドの出力を確認します。

[peter@non-virtualized-machine ]$ virtdetect
No virtualization detected

Linux
  1. Pythonスクリプトを使用してSFTPサーバーからファイルをダウンロードする方法

  2. LinuxのbashコマンドをPERLスクリプトで実行する方法は?

  3. bash スクリプトを使用してファイル名のスペースを置き換える方法

  1. Python スクリプトで、PYTHONPATH を設定するにはどうすればよいですか?

  2. bashスクリプトを使用してcrontabジョブをcrontabに追加するには?

  3. サーバーでスケジューラを使用してノードjsスクリプトを自動的に実行するにはどうすればよいですか

  1. CPAN コマンドを使用して Perl モジュールを手動でインストールする方法

  2. LinuxでPerlスクリプトをシステムデーモンとして実行するにはどうすればよいですか?

  3. Perl スクリプトが無限に実行されています - 何が起こったのかをデバッグする方法は?