Yanıtlar:
Yorumlarda belirtildiği gibi, Ubuntu 18.04 ve Linux Mint Tara ile başlayarak önce yapmanız gerekir sudo apt install qemu-kvm
.
/dev/kvm
Kullanımın sahipliğini kontrol etmek
ls -al /dev/kvm
Kullanıcı root
gruptu kvm
. kvm
Grupta hangi kullanıcıların bulunduğunu kontrol etmek için şunu kullanın:
grep kvm /etc/group
Bu geri döndü
kvm:x:some_number:
sistemimde: finalde doğru bir şey :
olmadığı için kvm
grupta kullanıcı yok .
To kvm grubuna kullanıcı eklemek şunu kullanabilirsiniz
sudo adduser $USER kvm
bu da kullanıcıyı gruba ekler ve ile bir kez daha kontrol edin grep kvm /etc/group
.
@Marcolz tarafından belirtildiği gibi, komut newgrp kvm
grup üyeliğini sizin için canlı olarak değiştirmelidir. Bu işe yaramazsa, @Knossos, izinlerin geçerli olması için oturumu kapatıp tekrar açmak (veya yeniden başlatmak) isteyebileceğinizi belirtti. Ya da @nmirceac belirtildiği gibi yapın ve aynı kabukta tekrar giriş yapın su - $USER
.
root
ve grup olsaydı ne olurdu root
. Grubunu değiştirmeli miyiz?
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
Ubuntu 18.04'te bu şekilde çalıştım
sudo apt install qemu-kvm
Kullanıcıyı kullanarak kvm grubuna ekle:
sudo adduser <Replace with username> kvm
Hala izin gösteriliyorsa :
sudo chown <Replace with username> /dev/kvm
Dene.
/dev/kvm/
klasörün sahipliğini değiştirmemelisiniz . bunun yerine kullanıcıyı şu kvm
yanıttaki gibi gruba eklemelisiniz : stackoverflow.com/a/45749003/1213934
Bunu dene, benim için çalıştı:
sudo apt install qemu-kvm
sudo chown -R <username>:<username> /dev/kvm –
chown
- Uygun gruplara adınızı eklemek - kvm veya libvirt. [ Help.ubuntu.com/community/KVM/Installationülür(Ubuntu) belgelerine bakın .
–
son ekin nesi var ? Bu kesinlikle bir hata verir.
Ayrıca aşağıdakileri denediniz mi, işe yaramalı:
sudo chown <username> /dev/kvm
sudo chmod o+x /dev/kvm
chmod o+x
tamamen işe yaramaz. İlk komut işe yaradı - ama bunun neden kötü bir fikir olduğunu diğer yorumlarıma bakın.
/dev/kvm
. Sadece yeniden başlatmalar / sistem güncellemeleri arasında kalmayacak. Ayrıca sistem ayarlarını zorla değiştirir. Uzak dur.
Bunun nedeni /dev/kvm
erişilebilir olmamasıdır. Yapmak için erişilebilir android stüdyo aşağıdaki komutu çalıştırın
sudo chmod 777 -R /dev/kvm
Parolanızı soracaktır. Bundan sonra Android Studio'yu yeniden başlatın.
KVM
emülatörü rum için gereklidir. Henüz yüklemediyseniz kurun
sudo apt install qemu-kvm
-R
Tek bir aygıt dosyasındaki izinleri neden yinelemeli olarak değiştiriyorsunuz ( )? Ayrıca, yürütme izinleri gereksizdir. Son olarak, udev her emülatör başladıktan sonra izinleri ayarlayabilir.
sudo chown $USER /dev/kvm
Tek bir komutu çalıştırmak Eylül 2019'da burada benim için çalıştı:
Açıklama: Ubuntu 18.04.3
LTS Sürümü: 18.04
Kod adı: biyonik
/dev/kvm
çalışma süresi boyunca sahipliğini yeniden ayarlayabilir .
Ubuntu 18.04 kullanıyorum. Aynı sorunla karşı karşıyaydım. Bu komut parçasını terminalde çalıştırıyorum ve sorun çözüldü.
sudo chown $USER /dev/kvm
Yukarıdaki komut sisteminizde bulunan tüm kullanıcılar içindir.
Yalnızca belirli bir kullanıcıya erişim vermek istiyorsanız bu komutu çalıştırın
sudo chown UserNameHere /dev/kvm
Bu Gerd cevabının kısa bir versiyonudur
sudo groupadd -r kvm
sudo gedit /lib/udev/rules.d/60-qemu-system-common.rules
Aşağıdaki satırı açılan dosyaya ekleyin ve kaydedin
KERNEL == "kvm", GROUP = "kvm", MODE = "0660"
Sonunda çalıştırın:
sudo usermod -a -G kvm <your_username>
Bilgisayarınızı yeniden başlatın ve Bitti!
/lib/udev/rules.d
. Udev'in yerleştirilmiş konfigürasyonun /etc/udev/rules.d
altında mevcut olandan daha öncelikli olduğu bir kaplama mekanizması vardır /lib/udev/rules.d
.
Aynı sorunu karşıladım ve bu sorunu çözmek için sadece Linux istemcileri için terminalde aşağıdaki komutları yazın
sudo apt-get install qemu-kvm
// type your password
sudo chmod 777 -R /dev/kvm
ve bundan sonra simülatörü çalıştırmayı deneyin
qemu-kvm
Yalnızca Android Studio Emulator'u çalıştırmak istiyorsanız yüklemenize (ve tüm bağımlılıklarına) kesinlikle gerek yoktur .
Yapmanız gereken tek şey, kullanıcıya (yani oturum açtığınız kişiye) /dev/kvm
-device'ye erişim hakkı vermektir.
Bu üç basit adımda yapılır.
İlk:kvm
-Grubu oluşturun
groupadd -r kvm
Seçenek -r
bir sistem grubu oluşturur, yani GID <= 999 (bkz. /etc/login.defs
=> SYS_GID_MAX
)
Üzerindeki izinleri değiştir /dev/kvm
. Bu, qemu-kvm
-kurulumun bir parçası olarak yapılabilir , çünkü bağımlılıklardan biri yüklenir qemu-system-common
(mevcut Ubuntu sistemlerinde, paket adı değişebilir) ve bu /lib/udev/rules.d/60-qemu-system-common.rules
da aşağıdakileri içeren dosyayı yükler :
KERNEL=="kvm", GROUP="kvm", MODE="0660"
Dolayısıyla, sadece /etc/udev/rules.d/60-qemu-permissions.rules
yukarıdaki satırı içeren bir dosya oluşturuyorsanız, ilk adımla işiniz bitti demektir.
Yürüterek kullanıcı adınızı gruba ekleyin
usermod -a -G kvm <your_username>
- kvm grubuna kullanıcı eklemek için -a
önemlidir . Bu olmadan, yalnızca "kvm" ye ait kullanıcı için grup ayarlarının üzerine yazacaksınız ...
Bu kadar.
Yeni udev kuralının ve grup ayarının etkili olması için yeniden başlatmak ve tekrar giriş yapmak en kolay yoldur.
Ayrıca,
udevadm control --reload-rules && udevadm trigger
ancak yeni gruba ilişkin oturumunuzu kapatıp tekrar oturum açmanız gerekir.
Linux debian kullanıyorum ve aynı şekilde karşı karşıyayım. Benim AVD bana bir mesaj "/ dev / kvm izni reddedildi" gösteren ve ben çözüm bulmak için çalıştı, sonra ben bunu çözmek için ne, terminal yazın bu:
sudo chmod -R 777 /dev/kvm
O zaman, klasör / dev / KVM için bir erişim izni için tekrar kontrol edecektir AVD , hata mesajı, kaybolur o yardımcı olacağını umuyoruz.
sudo setfacl -m u:$USER:rwx /dev/kvm
Benim için çalıştı.
chown
Burada tüm örneklerden daha iyi , ama x
izinleri atlamak istiyorum .
Jerrin'in bu hatayı Ubuntu 18.04 ile $USER
bash terminalinde bulunan değişkeni kullanarak çözme konusundaki cevabında sadece küçük bir gelişme . Böylece aşağıdaki komutları iki komut kullanabilirsiniz:
sudo apt install qemu-kvm
Geçerli kullanıcıyı kvm grubuna ekle
sudo adduser $USER kvm
Ayrıca hala sorun yaşıyorsanız, benim için başka bir sorun Ubuntu'yu kurduğum yoldu. Geliştirme için nvidia grafik kartımla iyi oynamamış olan 3. taraf yazılımları yüklemek için kurulum sırasında kutuyu kontrol etme hatasını yaptım. Bu yüzden, bu üçüncü taraf yazılımı işaretlenmemiş olarak Ubuntu'yu yeniden kurdum .
Ardından, kurulumdan sonra Yazılım ve Güncellemeler'i açın ve Ek Sürücüler sekmesine gidin. Test edilmiş en güncel tescilli sürücüleri seçin ve değişiklikleri uygulayın. Değişikliklerin etkili olması için makineyi yeniden başlatmanız gerekir.
Linux'ta Benim İçin Çalıştı (x18) ☑ Umarım Senin İçin Çalışır
sudo chown hp /dev/kvm
Ubuntu altında, izinleri /dev/kvm
genellikle şöyle görünür:
$ ls -l /dev/kvm
crw-rw---- 1 root kvm 10, 232 May 24 09:54 /dev/kvm
Android emülatörünü çalıştıran kullanıcının (yani kullanıcınız) bu cihaza erişmesi gerekir.
Bu nedenle, temel olarak erişim elde etmenin 2 yolu vardır:
Kullanıcının zaten kvm grubunun bir parçası olup olmadığını kontrol edin, örn:
$ id
uid=1000(juser) gid=1000(juser) groups=1000(gms),10(wheel)
Eklemek yerine, örneğin:
$ sudo usermod --append --groups kvm juser
Bu değişiklikten sonra, grup değişikliğini etkili hale getirmek için oturumu kapatıp tekrar giriş yapmanız gerekir (ile tekrar kontrol edin id
).
Alternatif olarak, /dev/kvm
cihazın izinlerini genişletebilirsiniz .
Misal:
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
FWIW, bu Fedora ve CentOS gibi diğer dağıtımlarda varsayılan değerdir.
Yukarıdaki komutların etkinliğini bir başkasıyla kontrol edin ls
. Benzer çıktıyı da görmelisiniz:
$ ls -l /dev/kvm
crw-rw-rw-. 1 root kvm 10, 232 2020-05-16 09:19 /dev/kvm
Büyük avantaj: Bu değişikliğin etkili olması için oturumu kapatıp tekrar oturum açmanıza gerek yok.
chmod
ve chown
doğrudan /dev/kvm
- 1) bu değişiklikler yeniden başlatmalarda kalıcı değildir ve 2) /dev/kvm
izinler udev arka plan programı tarafından kontrol edildiğinden, izinlerini herhangi bir zamanda `` her emülatör çalıştırıldıktan sonra '' düzeltebilir ''/dev/kvm
- öykünücünüz için sadece okuma ve yazma izinleri gerekir/dev/kvm
- bunun ne olduğunu bilmiyorum - kargo kültüne benziyor/dev/kvm
cihaza erişmeniz gerekiyorTerminal'i açın ve yönetici olarak oturum açın
sudo su
Dev klasörüne gidin
cd /dev/
Kvm modunu değiştirme
chmod 777 -R kvm
cd /dev
sudo yerine demek istiyorsun .
chmod
ile -R
? Tek bir cihaz dosyasındaki izinleri tekrar tekrar değiştirmek /dev/kvm
çok kullanışlı görünmüyor. Ayrıca, yürütme izinleri bu aygıtta gereksizdir. Son olarak, udev /dev/kvm
her çalıştırmadan sonra izinleri yeniden ayarlayabilir . Bu nedenle, bu yöntem çok etkili değildir.
/ Dev / kvm'de aynı izin hatası ile benzer bir durumdaydım Gerekli kurulumları yaptım ama kullanıcıyı kvm grubuna eklemedim. Tüm yapmam gereken
sudo adduser <Replace with username> kvm
ve tabii ki Ubuntu örneğinizi yeniden başlatmayı UNUTMAYIN.
Sonunda benim için Ubuntu 18.04'te sabitleyen şey:
sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
Ubuntu'mu 18.04.1'e güncelledikten sonra bu hatayı aldım. Sadece emülatör için yeni sistem resmi indiriyorum ya da yeni emülatör indirdiğinizi ve benim için çalıştığını söyleyebilirsiniz.
/dev/kvm
-permissions ile ilgili orijinal sorunla ilgili hiçbir şeyi değiştirmez .
KVM, Linux çekirdeğinin içine yerleştirilmiş bir modül olmasına rağmen, gerekli tüm paketlerin varsayılan olarak Ubuntu / Linux kurulumunuza dahil olduğu anlamına gelmez. Başlamak için birkaçına ihtiyacınız olacak ve bunlar terminalde bu komutla kurulabilir:
& sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager
Ağ köprüsünü yapılandırma
Sanal makinelerinizin ağ arabiriminize erişmesi ve kendi IP adreslerine atanabilmesi için sistemimizde köprülü ağ yapılandırması yapmamız gerekir.
İlk olarak, ağ arayüzünüze hangi adın atandığını bulmak için aşağıdaki Linux komutunu çalıştırın. Bunu bilmek, daha sonra ek yapılandırma yapmamıza izin verecektir.
$ ip a
Benim durumumda, ağ arayüzü denir enp2s0
. Sizinki büyük olasılıkla çok benzer şekilde adlandırılacaktır.
Ubuntu'ya bağlantımızın köprülenmesini istediğimizi söylemek için ağ arayüzleri yapılandırma dosyasını düzenlememiz gerekecek. Bunu yapmak bağlantınızı olumsuz etkilemez. Sadece bu bağlantının VM'lerle paylaşılmasına izin verecektir.
Kullanım code
(Visual Studio Kod) ya da en sevdiğiniz metin editörü aşağıdaki dosyayı açmak için:
$ code /etc/network/interfaces
Bu dosyayı ilk açtığınızda boş olabilir veya sadece birkaç satır içerebilir. Köprü arayüzünüz çağrılır br0
, bu nedenle arayüzün varsayılan olarak gelmesi için aşağıdaki satırı ekleyin:
auto br0
Bu satırın altına, geçerli ağ arabiriminiz için (daha önce belirlediğiniz, adlandırdığınız) aşağıdaki satırı ekleyin.
iface enp2s0 inet manual
Ardından, köprü bilgilerini ekleyebilirsiniz. Bu satırlar Ubuntu'ya köprünüzün otomatik IP adresi ataması için DHCP kullanacağını ve köprünüzün geçerli arayüzünüzü yöneteceğini söyler.
iface br0 inet dhcp
bridge_ports enp2s0
Tüm değişiklikler uygulandıktan sonra dosyanız şu şekilde görünmelidir (zaten orada olan birkaç satırınız varsa, bunları da almanız iyi olur):
Değişikliklerinizi kaydedin ve dosyadan çıkın.
Kullanıcılarınızı gruplara ekleyin
Sanal makinelerinizi kök ayrıcalıkları olmadan yönetmek için, kullanıcınızın iki kullanıcı grubuna ait olması gerekir. Kullanıcınızı uygun gruplara eklemek için aşağıdaki komutları çalıştırın (user1 yerine kullanıcı adınızı yazın):
$ sudo adduser user1 libvirt
$ sudo adduser user1 libvirt-qemu
$ sudo adduser user1 kvm
İşiniz bittiğinde, kullanıcı ve ağ yapılandırmanızda yapılan tüm değişikliklerin etkili olma şansını sağlamak için sisteminizi yeniden başlatmalısınız.
libvirt
ve arayüzler yapılandırılması için gerek ...
Linux'ta sanal bir cihaz yapmak için - bu üç komutu izlemeliyim ve avd cihazları oluşturmakta sorun yaşamamaya yardımcı oluyor - süreç -
sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
yani, şimdi gitmek iyi, android studio yeniden başlatmak ve emülatör ile uygulama oluşturmaya başlamak.
Bu komutla uygun izinleri sağlayın
sudo chmod 777 -R /dev/kvm
Ubuntu 18.04'te aşağıdaki komutu çalıştırmak benim için çalıştı sudo chown -R / dev / kvm
/dev/kvm
Bir dosyanın -R
etkisi yoktur --- Üçüncü olarak: chown
bir new owner
argümana ihtiyaç duyar --- Dördüncü: Yeniden başlattıktan sonra bunu tekrar tekrar yapmanız gerekir.
Eğer udo'yu sudo ile açarsan. Bu sorunu yaşamayacaksınız.
qemu-kvm
ve kullanıcımı gruba ekledikten sonrakvm
çalışmadı. Ancak bilgisayarı yeniden başlattıktan sonra yaptı (Ubuntu 18.04).