غالبا از طریق اتصال راه دور ssh به یک سرور (ماشین) لینوکسی متصل می شویم و سپس دستورها را اجرا می کنیم. شاید لازم باشد که تشخیص دهیم که آیا ماشین لینوکسی راه دور بر روی یک ماشین فیزیکی یا بر روی یک ماشین مجازی اجرا می شود.
Hypervisor های متفاوتی برای اجرای لینوکس بر روی ماشین های مجازی وجود دارند که عمده ترین آنها موارد زیر است. در یک حالت می خواهیم بدانیم آیا لینوکس بر روی ماشین فیزیکی یا بر روی ماشین مجازیاجرا می شود. و اگر به صورت مجازی اجرا می شود، کدام Hypervisor استفاده شده است.
- Virtual Box
- KVM
- Xen
- VMWare
استفاده از دستور dmidecode
از دستور dmidecode به همراه سویئچ s- و پارامتر system-product-name به صورت زیر استفاده کنید.
sudo dmidecode -s system-product-name
و یا از دستور dmidecode به تنهایی و بی هیچ سویئچی استفاده کنید و از خروجی بخش System Information را بخوانید.
sudo dmidecode | less
همچنین می توانید مطلب “پیدا کردن حداکثر ساپورت RAM بایوس یا مادربورد ماشین (سرور)” را برای کاربرد دیگر دستور dmidecode نیز مطالعه کنید.
استفاده از اسکریپت virt-what
virt-what اسکریپت است که برای تشخیص اینکه آیا سیستم عامل در حال اجرا بر روی ماشین مجازی است استفاده می شود. virt-what از انواع مختلف Hypervisor ها مانند موارد بالا پشتیبانی می کند.
virt-what
اگر virt-what بر روی سیستم شما نصب نیست می توایند از مخازن توزیع خود آنرا نصب کنید. به صور مثال برای نصب بر روی توزیع openSUSE از دستور زیر استفاده کنید. همچنین می توایند از اینجا کد منبع آنرا دانلود و سپس نصب کنید.
sudo zypper in virt-what
وقتی لینوکس بر روی ماشین مجازی اجرا می شود، تمامی اجزای سخت افزاری نیز به صورت مجازی خواهند بود. به صور مثال از فایل زیر می توانید متوجه شوید که هارد دیسک اول متصل به سیستم (dev/sda/) ار کدام مدل هارد دیسک مجازی استفاده می کند.
cat /sys/block/sda/device/model
اگر از Virtual Box استفاده شود در خروجی عبارت VBOX HARDDISK نشان داده می شود.