सवाल वीएमवेयर लिनक्स सर्वर - आप कैसे बता सकते हैं कि आप वीएम या असली हार्डवेयर हैं या नहीं?


एक दिलचस्प सवाल है। मैंने एक लिनक्स (सबसे अधिक संभावना एसयूएसई) मेजबान में लॉग इन किया है। क्या कोई तरीका है कि मैं प्रोग्रामेटिक रूप से बता सकता हूं कि मैं वीएम होस्ट हूं या नहीं?

यह भी मान लें कि vmtools स्थापित नहीं हैं।


44
2017-09-15 23:21


मूल


इस उत्तर को भी देखें: unix.stackexchange.com/a/32605/103980 - Muhamed Huseinbašić


जवाब:


सिस्टम पर हार्डवेयर का निरीक्षण करने के लिए मानक लिनक्स उपकरण का प्रयोग करें।

cat /proc/scsi/scsi

या

ethtool -i eth0

या

dmidecode | grep -i vmware

यदि इन आदेशों का आउटपुट हार्डवेयर को "वीएमवेयर" के निर्माता नाम के साथ दिखाता है, तो आप वीएमवेयर वीएम पर हैं। एकाधिक आदेश यहां उपलब्ध कराए गए हैं क्योंकि सिस्टम कॉन्फ़िगरेशन और टूल भिन्न हैं।


28
2018-06-10 19:24



क्या आप केवल अस्पष्ट आदेश प्रदान करने के बजाय, इन आदेशों को क्या समझा सकते हैं? - Stefan Lasiewski
धन्यवाद। cat /proc/scsi/scsi अच्छा है क्योंकि ऐसा लगता है कि यह हर जगह उपलब्ध है और नए सॉफ्टवेयर को स्थापित करने या विशेषाधिकार प्राप्त अधिकारों के साथ चलाने की आवश्यकता नहीं है। - tiktak
@tiktak मैं नहीं देखता हूँ /proc/scsi/scsi मेरे डेबियन 7 बॉक्स पर ... - Kyle Strand
ध्यान दें कि यह 100% विश्वसनीय नहीं है। उदाहरण के लिए, एडब्ल्यूएस बॉक्स वीएम नहीं दिखेंगे। देख man virt-what इस पहचान उद्देश्य (रेडहाट / फेडोरा सिस्टम के लिए) और शामिल चेतावनी के लिए बनाई गई ह्युरिस्टिक स्क्रिप्ट के लिए। - Wildcard


facter virtual 
xenu

इंगित करता है कि यह एक वीएम है। अगर यह "भौतिक" लौटा तो विपरीत है (वीएम नहीं), उदाहरण के लिए:

facter virtual
Physical

13
2018-01-22 19:14



हालांकि, यह एक गैर-मानक विशेष पैकेज है .... लेकिन मुझे यह पसंद है। - mdpc
@mdpc यह कठपुतली का उपयोग कर किसी भी प्रणाली पर मौजूद होना चाहिए। - Michael Hampton♦


एक आसान ऐप है जो कॉल करने में मदद कर सकता है virt-क्या। मैंने इसे वीएमवेयर के साथ उपयोग नहीं किया है, लेकिन यह क्यूमु के साथ अच्छी तरह से काम करता है।


11
2017-09-16 00:34



दुर्भाग्य से बाइनरी आरपीएम में एसयूएसई वाणिज्यिक पर प्रयास किए जाने पर दो निर्भरता dmidecode और उपयोग-लिनक्स-एनजी है। - mdpc


आप नीचे देखकर प्राप्त करने और विचार करने में सक्षम हो सकते हैं /sys। उदाहरण के लिए /sys/class/dmi/id/sys_vendor का मूल्य है VMware, Inc.

यदि यह स्थापित है तो आप इसका उपयोग कर सकते हैं lshw। आदेश lshw -class system यह मेरे सिस्टम पर देता है:

server1
    description: Computer
    product: VMware Virtual Platform
    vendor: VMware, Inc.
    version: None
    serial: VMware-...
    width: 64 bits
    capabilities: smbios-2.4 dmi-2.4 vsyscall64 vsyscall32

10
2017-09-15 23:37



एसयूएसई उदाहरणों पर कि मेरे पास lshw तक पहुंच नहीं है। इसके अलावा, / sys / class / dmi / ... मौजूद नहीं है। - mdpc


कुछ आभासी वातावरण उनके कुछ आभासी उपकरणों को नामों के साथ नाम देते हैं जो थोड़ी सी कहानियां हैं, उदाहरण के लिए, वर्चुअलबॉक्स एक ग्राफिक्स कार्ड पेश करता है जो स्वयं को "वर्चुअलबॉक्स डिस्प्ले एडाप्टर" कहते हैं। लेकिन उन लोगों की तलाश करना जो आपको एक विशेष वीएम और संभवतः संस्करणों की एक संकीर्ण श्रृंखला से जोड़ते हैं।

आपके कोड के लिए यह देखना संभव हो सकता है कि यह किस तरह का वर्चुअलाइजेशन स्थापित हो सकता है। अगर यह पूरी तरह से विफल रहता है, तो आप एक वीएम में हो सकते हैं। लेकिन आप बस एक बॉक्स पर आसानी से हो सकते हैं जिसमें कोई भी वीएम सक्षम हार्डवेयर नहीं है।


6
2017-09-15 23:38



आपका पहला जवाब सही था। डिवाइस ड्राइवर नामों की जांच करें। - Izzy


लिनक्स के लिए आप टाइप करें dmesg |grep DMI:

वर्टिकल होस्ट आउटपुट

[रूट @ myhost ~] # dmesg | grep डीएमआई
डीएमआई 2.3 उपस्थित।
डीएमआई: माइक्रोसॉफ्ट कॉर्पोरेशन वर्चुअल मशीन / वर्चुअल मशीन, बीआईओएस 090006 05/23/2012

[रूट @ myhost ~] # dmesg | grep -i वर्चुअल
डीएमआई: माइक्रोसॉफ्ट कॉर्पोरेशन वर्चुअल मशीन / वर्चुअल मशीन, बीआईओएस 090006 05/23/2012
नंगे हार्डवेयर पर paravirtualized कर्नेल बूटिंग
इनपुट: मैकिंतोश माउस बटन इम्यूलेशन / डिवाइस / आभासी / इनपुट / इनपुट 1 के रूप में
एससीआई 0: 0: 0: 0: डायरेक्ट-एक्सेस एमएसएफटी वर्चुअल डिस्क 1.0 पीक्यू: 0 एएनएसआई: 4
इनपुट: माइक्रोसॉफ्ट Vmbus छुपा-अनुरूप माउस के रूप में / डिवाइस / वर्चुअल / इनपुट / इनपुट 4

भौतिक होस्ट उदाहरण के लिए

[रूट @ backdev1 ~] # dmesg | grep डीएमआई
डीएमआई 2.5 उपस्थित है।
डीएमआई: आईबीएम सिस्टम x3650 एम 3 - [7 9 45AC1] - / 90Y4784, BIOS - [D6E153AUS-1.12] - 06/30/2011

4
2018-04-10 18:43



आपके समाधान के साथ एक बड़ी समस्या यह है कि dmesg कर्नेल बफर को पढ़ता है और यह सीमित आकार का है। अगर सिस्टम को रीबूट करने के बाद बहुत सारे संदेश या थोड़े समय हैं, तो यह जानकारी उपलब्ध नहीं होगी। - mdpc


यह पता लगाने के लिए वहां बहुत सारे कोड हैं कि आप वीएम में हैं या नहीं। के साथ शुरू लाल गोली और वहां से खोज करें। आपत्तिजनक कंप्यूटिंग पर यह पत्र भी एक अच्छा पढ़ा है।

ऐसा लगता है कि काम से ऊपर उन आसान लोगों में से कोई नहीं :)


4
2017-09-18 20:25



पहला लिंक टूटा हुआ है। दूसरा तो टूटा या धीमा है। - Wildcard
आप सही हे। समय के रेत उन्हें खा चुके हैं ... मैं देखूंगा कि मैं वैकल्पिक लिंक के साथ आ सकता हूं या नहीं। - Bill Weiss
यह शर्मनाक है; "लाल गोली" दिलचस्प लग रहा था। :) - Wildcard
Archive.org लिंक के साथ अपडेट किया गया। - Bill Weiss


आप अपने मैक पते के पहले भाग को भी खोज सकते हैं यहाँ और देखें कि क्या यह किसी भी वर्चुअलाइजेशन कंपनियों को असाइन किया गया है।


3
2017-09-16 00:18



दिलचस्प विचार .... मुझे लगता है कि काम करता है (जब तक एक नेटवर्क डिवाइस वीएम में शामिल है ;-)) - mdpc
भरोसेमंद नहीं होगा। कई मामलों में मैक को मनमाने ढंग से मूल्य पर सेट किया जा सकता है। यह मूल मशीन के मैक को क्लोन करने में सक्षम बनाता है जब इसे वीएम में परिवर्तित किया जाता है। कुछ सॉफ़्टवेयर मैक के लिए अपना लाइसेंस जोड़ता है और अक्सर एक नया लाइसेंस प्राप्त करना असंभव है (विक्रेता बस्ट या लागत निषिद्ध है)। - Tonny


आभासी उपकरणों को lspci और / या डिस्क डिवाइस जानकारी / proc में भी प्रकट किया जाएगा:

lspci | grep -i vmware

grep -i vmware /proc/scsi/scsi /proc/ide/*/model

3
2017-09-18 18:55