同じアーキテクチャを使用したqemu-staticユースケース

同じアーキテクチャを使用したqemu-staticユースケース

私はUbuntuパッケージの64ビットamdバージョンにqemu-user-staticバイナリが含まれていることを発見しました/usr/bin/qemu-x86_64-static

通常、qemu-user-static他のアーキテクチャをエミュレートするために使用されているので、amd64 エミュレータで amd64 をビルドしてデプロイする理由を見つけようとしました。

Timesは、これが単なるラッパー以上であり、amd64のarmhfエミュレーションよりも速いことをdd示しています。qemu-x86_64-staticデバッグ、サンドボックス、および/またはセキュリティにユースケースがありますか?

国の:

me:~$ time /bin/dd if=/dev/zero of=/dev/null count=100000
100000+0 records in
100000+0 records out
51200000 bytes (51 MB) copied, 0.0694854 s, 737 MB/s
real    0m0.075s
user    0m0.017s
sys 0m0.058s

シミュレーション:

me:~$ time qemu-x86_64-static /bin/dd if=/dev/zero of=/dev/null count=100000
100000+0 records in
100000+0 records out
51200000 bytes (51 MB) copied, 0.175123 s, 292 MB/s
real    0m0.198s
user    0m0.121s
sys 0m0.076s

すべてがamd64です:

me:~$ uname -a
Linux 3.13.0-65-generic #105-Ubuntu SMP Mon Sep 21 18:50:58 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

me:~$ file /bin/dd
/bin/dd: ELF 64-bit LSB  executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=83e959307f50e08b797447bd3f673b1f0e7c2386, stripped

me:~$ file /usr/bin/qemu-x86_64-static
/usr/bin/qemu-x86_64-static: ELF 64-bit LSB  executable, x86-64, version 1 (SYSV), statically linked, for GNU/Linux 2.6.24, BuildID[sha1]=8fb7501ac002a3f2cee4c07c77b9e7232d6c501e, stripped

ベストアンサー1

qemu-x86_64-staticは、ARMアーキテクチャ用にコンパイルされたqemu-user-staticパッケージにもあります。これは、ARM環境でx86コンパイルされたアプリケーションを実行する必要がある場合に便利です。私は、qemuの同じコードベースがフィルタリングなしですべてのアーキテクチャに対してコンパイルされたと思います。これがX86 qemu-user-staticパッケージにも存在する理由です。参考として、ARMのqemu-user-staticパッケージにはqemu-arm-staticも含まれています.)

おすすめ記事