जवाबों:
जैसा कि टिप्पणियों में उल्लेख किया गया है, उबंटू 18.04 और लिनक्स मिंट तारा के साथ शुरू करना आपको पहले की आवश्यकता है sudo apt install qemu-kvm
।
/dev/kvm
उपयोग के स्वामित्व की जांच करने के लिए
ls -al /dev/kvm
उपयोगकर्ता था root
, समूह kvm
। यह जाँचने के लिए कि कौन से उपयोगकर्ता kvm
समूह में हैं, का उपयोग करें
grep kvm /etc/group
यह लौट आया
kvm:x:some_number:
मेरे सिस्टम पर: जैसा कि फाइनल का कुछ भी सही :
नहीं है, kvm
समूह में कोई उपयोगकर्ता नहीं हैं ।
करने के लिए केवीएम समूह के लिए अपने उपयोगकर्ता को जोड़ने के लिए, आप इस्तेमाल कर सकते हैं
sudo adduser $USER kvm
जो उपयोगकर्ता को समूह में जोड़ता है, और एक बार फिर से जांचता है grep kvm /etc/group
।
जैसा कि @marcolz द्वारा उल्लेख किया गया है, कमांड newgrp kvm
को आपके लिए लाइव ग्रुप सदस्यता को बदलना चाहिए। यदि वह काम नहीं करता है, तो @Knossos ने उल्लेख किया कि आप अनुमति लेने के लिए लॉग आउट और वापस (या पुनः आरंभ) करना चाह सकते हैं। या के रूप में @nmirceac उल्लेख किया है और के माध्यम से एक ही खोल में फिर से लॉगिन su - $USER
।
root
और समूह था root
। क्या हमें इसका समूह बदलना चाहिए?
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
यह मुझे उबंटू 18.04 में काम करने के लिए मिला
sudo apt install qemu-kvm
अपने उपयोगकर्ता को kvm समूह का उपयोग करके जोड़ें:
sudo adduser <Replace with username> kvm
यदि फिर भी अनुमति देने से इनकार किया जा रहा है :
sudo chown <Replace with username> /dev/kvm
कोशिश करो।
/dev/kvm/
फ़ोल्डर का स्वामित्व नहीं बदलना चाहिए । इसके बजाय आपको उपयोगकर्ता को kvm
इस उत्तर में समूह में जोड़ना चाहिए : stackoverflow.com/a/45749003/1213934
यह कोशिश करो, यह मेरे लिए काम किया:
sudo apt install qemu-kvm
sudo chown -R <username>:<username> /dev/kvm –
chown
- अपने उपयोगकर्ता नाम को उचित समूहों में जोड़ें - kvm या libvirt। [ Help.ubuntu.com/community/KVM/Installationiding(Ubuntu) के लिए दस्तावेज़ देखें ।
–
प्रत्यय के साथ क्या है ? यह निश्चित रूप से एक त्रुटि देता है।
क्या आपने भी कोशिश की है, यह काम करना चाहिए:
sudo chown <username> /dev/kvm
sudo chmod o+x /dev/kvm
chmod o+x
पूरी तरह से बेकार है। पहला कमांड इसे काम करता है - लेकिन मेरी अन्य टिप्पणियों को नीचे देखें कि यह एक बुरा विचार क्यों है।
/dev/kvm
। यह सिर्फ यह नहीं है कि यह रिबूट / सिस्टम अपडेट के बीच कायम नहीं रहेगा। यह जबरदस्ती सिस्टम सेटिंग्स को भी संशोधित करता है। दूर रहो।
ऐसा इसलिए है क्योंकि /dev/kvm
यह सुलभ नहीं है। बनाने के लिए एंड्रॉइड स्टूडियो से सुलभ है नीचे दिए गए कमांड को चलाएं
sudo chmod 777 -R /dev/kvm
यह आपका पासवर्ड पूछेगा। इसके बाद Android Studio को पुनरारंभ करें।
KVM
रम एमुलेटर की आवश्यकता है। यदि आपने अभी तक इसे स्थापित नहीं किया है तो इसे स्थापित करें
sudo apt install qemu-kvm
-R
किसी एकल डिवाइस फ़ाइल पर पुनरावृत्ति ( ) परिवर्तन क्यों करते हैं ? इसके अलावा, निष्पादित अनुमतियाँ बहुत कम हैं। अंत में, udv प्रत्येक एमुलेटर शुरू होने के बाद अनुमतियों को समायोजित कर सकता है।
sudo chown $USER /dev/kvm
बस चल रहा है कि सितंबर 2019 में यहां मेरे लिए एक कमांड ने काम किया:
विवरण: Ubuntu 18.04.3
एलटीएस रिलीज: 18.04
कोडनाम: बायोनिक
/dev/kvm
अपने रनटाइम के दौरान स्वामित्व को फिर से पा सकते हैं ।
मैं ubuntu 18.04 का उपयोग कर रहा हूं। मैं उसी समस्या का सामना कर रहा था। मैं टर्मिनल में कमांड के इस टुकड़े को चलाता हूं और समस्या हल हो गई है।
sudo chown $USER /dev/kvm
उपरोक्त कमांड आपके सिस्टम में मौजूद सभी उपयोगकर्ता के लिए है।
यदि आप केवल एक विशिष्ट उपयोगकर्ता को पहुंच देना चाहते हैं तो इस कमांड को चलाएं
sudo chown UserNameHere /dev/kvm
यह गर्ड के उत्तर का एक संक्षिप्त संस्करण है
sudo groupadd -r kvm
sudo gedit /lib/udev/rules.d/60-qemu-system-common.rules
खोली गई फ़ाइल में निम्न पंक्ति जोड़ें और इसे सहेजें
KERNEL == "kvm", GROUP = "kvm", MODE = "0660"
अंत में चलाएं:
sudo usermod -a -G kvm <your_username>
अपने पीसी और रिबूट करें!
/lib/udev/rules.d
। Udev के पास एक ओवरले तंत्र है जहां विन्यास /etc/udev/rules.d
को एक से अधिक उपलब्ध के तहत प्राथमिकता दी गई है /lib/udev/rules.d
।
मैंने उसी समस्या को गिना और इस समस्या को हल करने के लिए लिनक्स ग्राहकों के लिए टर्मिनल में निम्न कमांड टाइप करें
sudo apt-get install qemu-kvm
// type your password
sudo chmod 777 -R /dev/kvm
और उसके बाद सिम्युलेटर चलाने की कोशिश करें यह काम करेगा
qemu-kvm
यदि आप केवल Android Studio Emulator चलाना चाहते हैं, तो (और इसकी सभी निर्भरताएँ) स्थापित करने की कोई आवश्यकता नहीं है ।
केवल एक चीज जो आपको करनी है, वह है अपने उपयोगकर्ता को (यानी जिसे आप लॉग इन किया हुआ है) /dev/kvm
-Dvice तक पहुँचने का अधिकार।
यह तीन सरल चरणों में किया जाता है।
प्रथम:kvm
-Group बनाएँ
groupadd -r kvm
विकल्प -r
एक प्रणाली समूह बनाता है, अर्थात GID के साथ <= 999 (देखें /etc/login.defs
=> SYS_GID_MAX
)
पर अनुमतियाँ बदलें /dev/kvm
। यह qemu-kvm
स्थापना के हिस्से के रूप में किया जा सकता है , क्योंकि निर्भरता में से एक स्थापित है qemu-system-common
(वर्तमान उबंटू सिस्टम पर, पैकेज का नाम भिन्न हो सकता है), जो बदले /lib/udev/rules.d/60-qemu-system-common.rules
में निम्नलिखित युक्त फ़ाइल को स्थापित करता है :
KERNEL=="kvm", GROUP="kvm", MODE="0660"
इसलिए यदि आप /etc/udev/rules.d/60-qemu-permissions.rules
उपरोक्त लाइन वाली फ़ाइल बना रहे हैं , तो आप पहले चरण के साथ काम कर रहे हैं।
निष्पादित करके समूह में अपना उपयोगकर्ता नाम जोड़ें
usermod -a -G kvm <your_username>
- kvm-group में अपने उपयोगकर्ता को जोड़ने के-a
लिए महत्वपूर्ण है । इसके बिना आप केवल "kvm" से संबंधित अपने उपयोगकर्ता के लिए समूह-सेटिंग्स को अधिलेखित कर देंगे ...
बस।
नए udv नियम और समूह सेटिंग को प्रभावी करने के लिए इसे फिर से रीबूट और लॉगिन करना सबसे आसान है।
आप निष्पादित भी कर सकते हैं
udevadm control --reload-rules && udevadm trigger
नियमों को फिर से लोड करने के लिए लेकिन आपको अभी भी लॉगआउट करना है और नए समूह के संबंध में फिर से लॉगिन करना है।
मैं लिनक्स डेबियन का उपयोग कर रहा हूं, और मैं उसी तरह से सामना कर रहा हूं। मेरे AVD में मुझे एक संदेश दिखा "/ dev / kvm अनुमति से वंचित" और मैंने समाधान खोजने की कोशिश की, फिर मैं इसे हल करने के लिए क्या करता हूं, टर्मिनल प्रकार में यह है:
sudo chmod -R 777 /dev/kvm
यह फ़ोल्डर / देव / kvm के लिए एक पहुंच प्रदान करेगा, फिर अपने AVD पर फिर से जांचें , त्रुटि संदेश गायब हो जाएगा, आशा है कि यह मदद करेगा।
sudo setfacl -m u:$USER:rwx /dev/kvm
मेरे लिए काम किया।
chown
यहां सभी उदाहरणों की तुलना में बेहतर है , लेकिन मैं x
अनुमतियों से हटूंगा ।
बैश टर्मिनल में उपलब्ध चर का उपयोग करके इस त्रुटि को उबंटू 18.04 के साथ ठीक करने पर जेरिन के जवाब में बस एक मामूली सुधार $USER
। तो आप निम्न कमांड दो कमांड का उपयोग कर सकते हैं:
sudo apt install qemu-kvm
वर्तमान उपयोगकर्ता को kvm समूह में जोड़ें
sudo adduser $USER kvm
यदि आप अभी भी समस्या कर रहे हैं, तो मेरे लिए एक और समस्या थी जिस तरह से मैंने उबंटू स्थापित किया। मैंने 3 पार्टी सॉफ्टवेयर स्थापित करने के लिए स्थापना के दौरान बॉक्स की जांच करने की गलती की जो विकास के लिए मेरे एनवीडिया ग्राफिक्स कार्ड के साथ अच्छा नहीं खेलता था। इसलिए मैंने इस थर्ड पार्टी सॉफ्टवेयर के साथ उबंटू को अनियंत्रित किया ।
फिर स्थापना के बाद, सॉफ़्टवेयर और अपडेट खोलें और अतिरिक्त ड्राइवर टैब पर जाएं। अद्यतित स्वामित्व वाले ड्राइवरों का सबसे अधिक चयन करें और परिवर्तनों का परीक्षण भी करें। परिवर्तनों को प्रभावित करने के लिए मशीन को पुनः आरंभ करना चाहिए।
यह मेरे लिए लिनक्स पर काम किया (x18) Will आशा है कि यह आपके लिए काम करेगा
sudo chown hp /dev/kvm
उबंटू के तहत, /dev/kvm
आमतौर पर इस तरह की अनुमति दी जाती है :
$ ls -l /dev/kvm
crw-rw---- 1 root kvm 10, 232 May 24 09:54 /dev/kvm
एंड्रॉइड एमुलेटर (यानी आपका उपयोगकर्ता) चलाने वाले उपयोगकर्ता को इस उपकरण तक पहुंचने की आवश्यकता है।
इस प्रकार, मूल रूप से पहुँच प्राप्त करने के 2 तरीके हैं:
जांचें कि क्या आपका उपयोगकर्ता पहले से ही kvm समूह का हिस्सा है, जैसे:
$ id
uid=1000(juser) gid=1000(juser) groups=1000(gms),10(wheel)
यदि यह उदाहरण के लिए इसे जोड़ने से नहीं है:
$ sudo usermod --append --groups kvm juser
उस परिवर्तन के बाद आपको समूह परिवर्तन को प्रभावी बनाने के लिए लॉगआउट करना होगा और फिर से लॉगिन करना होगा (फिर से जाँचें id
)।
वैकल्पिक रूप से, आप केवल /dev/kvm
डिवाइस की अनुमति को चौड़ा कर सकते हैं ।
उदाहरण:
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' \
| sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
एफडब्ल्यूआईडब्ल्यू, यह फेडोरा और सेंटोस जैसे अन्य वितरणों पर डिफ़ॉल्ट है।
दूसरे के साथ उपरोक्त आदेशों की प्रभावशीलता की जांच करें ls
। आपको आउटपुट भी समान दिखना चाहिए:
$ ls -l /dev/kvm
crw-rw-rw-. 1 root kvm 10, 232 2020-05-16 09:19 /dev/kvm
बड़ा फायदा: इस बदलाव के प्रभावी होने के लिए आपको लॉगआउट और लॉगिन करने की आवश्यकता नहीं है।
chmod
और chown
सीधे /dev/kvm
- 1) ये बदलाव रिबूट और 2 पर लगातार नहीं होते हैं) क्योंकि /dev/kvm
अनुमतियाँ udv डेमन द्वारा नियंत्रित होती हैं, यह किसी भी समय अपनी अनुमतियों को 'ठीक' कर सकता है, जैसे प्रत्येक एमुलेटर के चलने के बाद/dev/kvm
- आपके एमुलेटर को केवल पढ़ने और लिखने की अनुमति की आवश्यकता होती है/dev/kvm
- मुझे नहीं पता कि इसके साथ क्या है - कार्गो पंथ जैसा दिखता है/dev/kvm
डिवाइस तक पहुंचने की आवश्यकता हैटर्मिनल खोलें और व्यवस्थापक के रूप में लॉग इन करें
sudo su
देव फ़ोल्डर पर जाएं
cd /dev/
Kvm मोड बदलें
chmod 777 -R kvm
cd /dev
सूदो के बजाय मतलब है ।
chmod
के साथ -R
? किसी एकल डिवाइस फ़ाइल पर पुन: अनुमतियाँ बदलना /dev/kvm
बहुत उपयोगी नहीं लगता है। इसके अलावा, निष्पादन की अनुमति उस डिवाइस पर बहुत अधिक होती है। अंत में, udv /dev/kvm
प्रत्येक रन के बाद अनुमतियों को पुन: अन्याय कर सकता है । इस प्रकार, यह विधि बहुत प्रभावी नहीं है।
मैं इसी तरह की स्थिति में / dev / kvm पर अनुमतियों की समान त्रुटि के साथ था, मैंने आवश्यक स्थापनाएं की थीं, लेकिन उपयोगकर्ता को kvm समूह में नहीं जोड़ा था, जो मुझे करना था
sudo adduser <Replace with username> kvm
और टोना के अपने Ubuntu उदाहरण को पुनः आरंभ करने के लिए मत भूलना।
अंततः मेरे लिए उबंटू 18.04 पर यह तय था:
sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
मुझे 18.04.1 को अपने ubuntu को अपडेट करने के बाद यह त्रुटि मिली। मैं सिर्फ एमुलेटर के लिए नई प्रणाली छवि डाउनलोड करता हूं या आप कह सकते हैं कि नया एमुलेटर डाउनलोड करें और यह मेरे लिए काम करता है।
/dev/kvm
-mmissions के साथ मूल समस्या के बारे में कुछ भी नहीं बदलेगा ।
हालांकि KVM लिनक्स कर्नेल में निर्मित एक मॉड्यूल है, लेकिन इसका मतलब यह नहीं है कि सभी आवश्यक पैकेज डिफ़ॉल्ट रूप से आपके Ubuntu / Linux इंस्टॉल में शामिल हैं। आपको आरंभ करने के लिए कुछ की आवश्यकता होगी, और वे टर्मिनल में इस कमांड के साथ स्थापित किए जा सकते हैं:
& sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager
नेटवर्क ब्रिज कॉन्फ़िगर करें
आपके वर्चुअल मशीनों के लिए आपके नेटवर्क इंटरफ़ेस तक पहुँचने और उनके स्वयं के आईपी पते निर्दिष्ट करने के लिए, हमें अपने सिस्टम पर ब्रिजिंग नेटवर्किंग को कॉन्फ़िगर करने की आवश्यकता है।
सबसे पहले, अपने नेटवर्क इंटरफेस को क्या नाम दिया गया है, यह जानने के लिए निम्नलिखित लिनक्स कमांड चलाएं। यह जानने के बाद हमें अतिरिक्त कॉन्फ़िगरेशन करने की अनुमति मिलेगी।
$ ip a
मेरे मामले में, नेटवर्क इंटरफ़ेस कहा जाता है enp2s0
। तुम्हारा नाम बहुत समान रूप से नाम दिया जाएगा।
उबंटू को यह बताने के लिए कि हम अपने कनेक्शन को पाटना चाहते हैं, हमें नेटवर्क इंटरफेस कॉन्फ़िगरेशन फ़ाइल को संपादित करना होगा। ऐसा करने से आपके कनेक्शन पर नकारात्मक प्रभाव नहीं पड़ेगा। यह केवल उस कनेक्शन को VMs के साथ साझा करने की अनुमति देगा।
का प्रयोग करें code
(विजुअल स्टूडियो संहिता) या अपने पसंदीदा पाठ संपादक निम्न फ़ाइल को खोलने के लिए:
$ code /etc/network/interfaces
जब आप पहली बार इस फ़ाइल को खोलते हैं, तो यह खाली हो सकती है या इसमें केवल कुछ पंक्तियाँ होती हैं। आपका ब्रिज इंटरफ़ेस कहा जाता है br0
, इसलिए इंटरफ़ेस के लिए डिफ़ॉल्ट रूप से आने के लिए निम्न पंक्ति जोड़ें:
auto br0
इस पंक्ति के नीचे, अपने वर्तमान नेटवर्क इंटरफ़ेस के लिए निम्न पंक्ति जोड़ें (जिसे आपने पहले निर्धारित किया था)।
iface enp2s0 inet manual
इसके बाद, आप पुल की जानकारी जोड़ सकते हैं। ये पंक्तियाँ उबंटू को बताती हैं कि आपका पुल स्वचालित आईपी एड्रेस असाइनमेंट के लिए डीएचसीपी का उपयोग करेगा, और आपका पुल आपके वर्तमान इंटरफ़ेस का प्रबंधन करेगा।
iface br0 inet dhcp
bridge_ports enp2s0
इस तरह आपकी फ़ाइल को एक बार देखना चाहिए कि सभी परिवर्तन लागू हो गए हैं (यदि आपके पास कुछ पंक्तियाँ हैं जो पहले से थीं, तो उनके लिए भी ठीक है):
अपने परिवर्तन सहेजें और फ़ाइल से बाहर निकलें।
अपने उपयोगकर्ता को समूहों में जोड़ें
रूट विशेषाधिकार के बिना अपनी वर्चुअल मशीन (यों) को प्रबंधित करने के लिए, आपके उपयोगकर्ता को दो उपयोगकर्ता समूहों से संबंधित होना चाहिए। अपने उपयोगकर्ता को उपयुक्त समूहों में जोड़ने के लिए निम्नलिखित कमांड चलाएँ (अपने उपयोगकर्ता के नाम के साथ user1 को प्रतिस्थापित करें):
$ sudo adduser user1 libvirt
$ sudo adduser user1 libvirt-qemu
$ sudo adduser user1 kvm
जब आप काम पूरा कर लेते हैं, तो आपको यह सुनिश्चित करने के लिए अपने सिस्टम को पुनरारंभ करना चाहिए कि आपके उपयोगकर्ता और नेटवर्क कॉन्फ़िगरेशन में किए गए सभी परिवर्तनों को प्रभावी होने का मौका है।
libvirt
और इंटरफेस को कॉन्फ़िगर करने के लिए कोई ज़रूरत नहीं है ...
लिनक्स में एक वर्चुअल डिवाइस बनाने के लिए - मुझे इस तीन कमांड का पालन करना होगा और यह मुझे एवीडी डिवाइस बनाने में परेशानी से बचने में मदद करता है - प्रक्रिया ये हैं -
sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
तो, अब आप जाने के लिए अच्छे हैं, एंड्रॉइड स्टूडियो को पुनरारंभ करें और एमुलेटर के साथ एप्लिकेशन का निर्माण शुरू करें।
इस आदेश के साथ उचित अनुमति प्रदान करें
sudo chmod 777 -R /dev/kvm
उबंटू 18.04 में नीचे की कमांड को चलाना मेरे लिए सुडो चो-आर / देव / केवीएम के लिए काम किया
/dev/kvm
कि एक फ़ाइल -R
का कोई प्रभाव नहीं होता है --- तीसरा: chown
एक new owner
तर्क की आवश्यकता है --- चौथा: रिबूट करने के बाद आपको बार-बार ऐसा करना होगा।
यदि आप सूडो के साथ अपना विचार खोलते हैं। आपको यह समस्या नहीं होने वाली है।
qemu-kvm
मेरे उपयोगकर्ता को उस समूह में स्थापित करने और जोड़ने के बादkvm
काम नहीं किया। लेकिन यह कंप्यूटर (Ubuntu 18.04) को पुनरारंभ करने के बाद किया ।