Basit bir ifadeyle Qemu, ücretsiz ve açık kaynaklı bir yazılım programıdır; VirtualBox ve VMware iş istasyonu oynatıcısı gibi diğer Linux işletim sistemlerinin üstünde sanal makineler oluşturmak için kullanılır. Yalnızca Linux değil, farklı Linux dağıtımlarını test etmek için bu yazılımı Windows ve MacOS'a da yükleyebilirsiniz. Ancak Linux kullanıcılarının çoğu, kullanımı kolay arayüzü ve geniş donanım uyumluluğu nedeniyle VirtualBox'ı kullanmayı tercih ediyor. VMware Workstation Player Linux için de mevcut olmasına rağmen, VirtualBox ile karşılaştırıldığında özellikler açısından sınırlıdır. Bu gibi durumlarda, herhangi bir çıplak donanım makinesini tam bir sanallaştırma platformuna dönüştürebilen, kendi Linux işletim sistemi ortamına sahip, iyi bilinen birkaç açık kaynaklı donanım sanallaştırma yazılımı vardır. Başka bir yazımızda bu tür platformlardan bahsediyoruz.
Burada, bu Qemu Ubuntu eğitim makalesinde, bu açık kaynaklı makine emülatörünün ve sanallaştırıcı aracının Ubuntu'ya nasıl kurulacağını ve kurulacağını göreceğiz.
Bu yazılımı kullanarak konuk kodunu doğrudan ana CPU'da çalıştırarak işletim sistemlerini ve programları çalıştırabiliriz. Linux'ta KVM çekirdek modülünü kullanarak sanallaştırmayı destekler. KVM kullanıldığında x86, sunucu ve yerleşik PowerPC, 64 bit POWER, S390, 32 bit ve 64 bit ARM ve MIPS konukları sanallaştırılabilir.
Qemu Ubuntu Eğitimi: Komut terminali aracılığıyla nasıl kurulur
Qemu'yu Ubuntu'ya kurmak için aşağıda verilen komutları çalıştırın.
Not: Çekirdek tabanlı bir sanal makine kurmak ve oluşturmak için Ubuntu 18.04'ü kullandık ancak burada verilen komutlar Ubuntu 17.04, Ubuntu 16.04, Ubuntu 15.04 gibi eski sürümler için aynıdır.Qemu 3.1.0'dı.
- Gitubuntu
- Ubuntu'da Komut satırı terminal aracını açın. Kısayol:CTRL+ ALT+T.
- Terminalde aşağıdaki komutu çalıştırın:
sudo apt-get install qemu
- KVM paketini yükleyin, komut
sudo apt-get install qemu-kvm
- Qemu sürümünü kontrol etmek için aşağıdaki komutu kullanın
apt show qemu-system-x86
- KVM sürüm kontrolü için
kvm -version
Örnek çıktı
h2s@h2s-VirtualBox:~$ sudo apt-get install qemu [sudo] password for h2s: Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: binfmt-support cpu-checker ibverbs-providers ipxe-qemu ipxe-qemu-256k-compat-efi-roms libaio1 libcacard0 libfdt1 libibverbs1 libiscsi7 libnl-route-3-200 librados2 librbd1 librdmacm1 libsdl1.2debian libspice-server1 libusbredirparser1 libxen-4.9 libxenstore3.0 libyajl2 msr-tools qemu-block-extra qemu-slof qemu-system qemu-system-arm qemu-system-common qemu-system-mips qemu-system-misc qemu-system-ppc qemu-system-s390x qemu-system-sparc qemu-system-x86 qemu-user qemu-user-binfmt qemu-utils seabios sharutils Suggested packages: qemu-user-static samba vde2 qemu-efi openbios-ppc openhackware openbios-sparc sgabios ovmf debootstrap sharutils-doc bsd-mailx | mailx The following NEW packages will be installed: binfmt-support cpu-checker ibverbs-providers ipxe-qemu ipxe-qemu-256k-compat-efi-roms libaio1 libcacard0 libfdt1 libibverbs1 libiscsi7 libnl-route-3-200 librados2 librbd1 librdmacm1 libsdl1.2debian libspice-server1 libusbredirparser1 libxen-4.9 libxenstore3.0 libyajl2 msr-tools qemu qemu-block-extra qemu-slof qemu-system qemu-system-arm qemu-system-common qemu-system-mips qemu-system-misc qemu-system-ppc qemu-system-s390x qemu-system-sparc qemu-system-x86 qemu-user qemu-user-binfmt qemu-utils seabios sharutils 0 upgraded, 38 newly installed, 0 to remove and 366 not upgraded. Need to get 54.9 MB/62.2 MB of archives. After this operation, 341 MB of additional disk space will be used. Do you want to continue? [Y/n] Y h2s@h2s-VirtualBox:~$ sudo apt-get install qemu-kvm [sudo] password for h2s: Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: qemu-kvm 0 upgraded, 1 newly installed, 0 to remove and 366 not upgraded. Need to get 13.2 kB of archives. After this operation, 120 kB of additional disk space will be used. Get:1 https://in.archive.ubuntu.com/ubuntu bionic-updates/main amd64 qemu-kvm amd64 1:2.11+dfsg-1ubuntu7.9 [13.2 kB] Fetched 13.2 kB in 2s (6,569 B/s) Selecting previously unselected package qemu-kvm. (Reading database ... 113459 files and directories currently installed.) Preparing to unpack .../qemu-kvm_1%3a2.11+dfsg-1ubuntu7.9_amd64.deb ... Unpacking qemu-kvm (1:2.11+dfsg-1ubuntu7.9) ... Setting up qemu-kvm (1:2.11+dfsg-1ubuntu7.9) ... Processing triggers for man-db (2.8.3-2) ...
VirtualMachine Oluştur
Kurulumu yaptıktan sonraQemuUbuntu ana bilgisayar sisteminde sanal makineler oluşturmanın zamanı geldi.
Sanal sabit disk oluştur
Sanal sabit disk oluşturma komutu
qemu-img create Puppy.vdi 10G
Not: Yukarıdaki komutta Puppy.vdi sanal sabit diskimizin adıdır. Tercihinize göre adlandırabilirsiniz. Uzantı.VDI, bir Sanal DİSK görüntü formatı oluşturacaktır; isterseniz bunu .img (ham görüntü formatı) .vhd ve .vmdk formatlarıyla değiştirebilirsiniz, bunu da yapabilirsiniz.
Ayrıca şunu da kullanabiliriz:Qemu varsayılan sanal sabit disk formatlarıbunlar .qcow2, .qed, .qcow ve .cow'dur.
Yani yukarıda oluşturduğumuz sabit diskin aynısı ise; Qemu disk formatında oluşturulması gerekiyorsa komut şu şekilde olacaktır:
qemu-img create -f qcow2 Puppy.qcow 10G
10GSanal sabit sürücüye ayırmak istediğimiz alan miktarıdır. Burada çok fazla alan gerektirmeyen Puppy Linux kuruyoruz, bu yüzden 10 G kullandık (G, Giga Byte GB anlamına gelir). Ancak bu eğitimde VDI disk formatını kullanıyoruz.
ISO görüntüsünden önyükleme
Sanal hard diski oluşturduktan sonra ISO’yu Live ortamda boot edelim. İşletim sistemi tipi Linux kullanıyoruz, yani Ubuntu'muzun masaüstünde bulunan Puppy Linux ISO görüntüsü.
qemu-system-x86_64 -boot d -cdrom Desktop/puppy.iso -m 512
Yukarıdaki komutta masaüstü klasörümüzde bulunan ISO imajını kullandık. Aynı şekilde ISO dosyanızın yolunu da komutta belirtmeniz gerekiyor; komutun geri kalanı aynı kalacaktır.-Mana sistemden konuk işletim sistemine atanan RAM miktarını belirtti, burada 512 MB.
Sanal sabit sürücüye işletim sistemi yüklemek için Qemu'yu çalıştırma
Yukarıdaki komutu çalıştırdığınız anda konuk Linux işletim sistemi önyüklemeye başlayacak ve canlı ortamda test edilebilecektir.ancak kurulumu için sanal sabit disk takmamız gerekiyor.Örneğin, Windows veya başka bir Linux gibi konuk işletim sistemini de kurmak istiyorsunuz; o zaman Qemu'ya söylemeliyiz, hey! işte sürücü.Yukarıya oluşturduğunuz Sanal diskin adını yazmanız yeterli
qemu-system-x86_64 -boot d -cdrom Masaüstü/puppy.iso -m 512 -hda Puppy.vdi
Doğrudan CD ROM'dan Önyükleme
Kullanıcı, ISO dosyalarının yanı sıra işletim sistemini doğrudan CD ROM'dan da başlatabilir:
qemu-sistem-x86_64 -önyükleme d -cdrom /dev/cdrom -m 512
Yukarıdaki komut satırında Qemu, önyükleme dosyalarını CD-ROM disk sürücüsünden alacaktır.
KVM veya Intel hızlandırma modüllerini etkinleştirin
QEMU sanal makinelerini hızlandırmak için KVM veya Intel HAXM'yi etkinleştirebiliriz. VM'yi daha hızlı çalıştırmak için talimatları kullanın-accel kvmveya-kvm'yi etkinleştirKVM için ve-accel haxveya-hax'ı etkinleştirIntel HAXM için.
Örneğin:
qemu-system-x86_64 -önyükleme d -cdrom /dev/cdrom -m 512 -kvm'yi etkinleştir
veya
qemu-system-x86_64 -önyükleme d -cdrom /dev/cdrom -m 512 -etkinleştirme-hax
Sanal Sabit sürücüden önyükleme
Konuk işletim sisteminin kurulumundan sonra, daha fazla kullanmak üzere Sanal sabit diskimizi önyüklemek istiyorsak veya halihazırda bir VDI veya VHD sabit disk görüntüsüne sahipsek, onu aşağıdaki komutla kullanmanız yeterlidir.
qemu-system-x86_64 -hda (Sanal sabit diskin yolu)
qemu-system-x86_64 -hda puppy.vdi
Qemu img dönüştürme
Bu komut tabanlı sanallaştırma aracı yalnızca VM'ler oluşturmakla kalmaz, aynı zamanda kullanıcıların görüntü formatlarını dönüştürmesine de olanak tanır. İşte bunun için komut
qemu-img dönüştür {image_name} {image_name}
Örneğin,ISO veya qcow2'yi IMG raw formatına dönüştürmek istiyoruz, yukarıdaki komut bu şekilde kullanacaktır
qemu-img convert /Desktop/ubutnu.iso /Desktop/new.img
Not: Görüntünün bulunduğu ve dönüştürülen görüntüyü nereye kaydetmek istediğimizin tam yolunu vermeliyiz.
Qemu için Virt Manager
Yukarıdaki komutu ve QEMU'ya sanal makine kurma prosedürünü inceledikten sonra; karmaşıklığı nedeniyle vazgeçmek isteyebilirsiniz. Ancak bekleyin, bu Sanallaştırma Aracında basit ve kullanımı kolay bir VM oluşturma yöntemi var. Tıpkı buna benzer bir grafik kullanıcı arayüzü vererekSanal Kutu. Bu nedenle, eğer yeni bir kullanıcıysanız ve kendinizi uzun komutlar yazmaktan kurtarmak istiyorsanız aşağıdakileri çalıştırın.Virt Manager'ı Ubuntu'ya yükleme komutu.
sudo apt-get install qemu virt-manager virt-viewer libvirt-bin
Yukarıdaki komutun örnek çıktısı:
h2s@h2s-VirtualBox:~$ sudo apt-get install qemu virt-manager virt-viewer libvirt-bin [sudo] password for h2s: Reading package lists... Done Building dependency tree Reading state information... Done qemu is already the newest version (1:2.11+dfsg-1ubuntu7.9). The following additional packages will be installed: augeas-lenses bridge-utils dmeventd ebtables gir1.2-appindicator3-0.1 gir1.2-gtk-vnc-2.0 gir1.2-libosinfo-1.0 gir1.2-libvirt-glib-1.0 gir1.2-spiceclientglib-2.0 gir1.2-spiceclientgtk-3.0 libaugeas0 libdevmapper-event1.02.1 libgovirt-common libgovirt2 libgtk-vnc-2.0-0 libgvnc-1.0-0 liblvm2app2.2 liblvm2cmd2.02 libnetcf1 libosinfo-1.0-0 libphodav-2.0-0 libphodav-2.0-common libpython-stdlib libpython2.7 libpython2.7-minimal libpython2.7-stdlib libreadline5 libspice-client-glib-2.0-8 libspice-client-gtk-3.0-5 libusbredirhost1 libvirt-clients libvirt-daemon libvirt-daemon-driver-storage-rbd libvirt-daemon-system libvirt-glib-1.0-0 libvirt0 libxml2-utils lvm2 osinfo-db python python-asn1crypto python-cairo python-certifi python-cffi-backend python-chardet python-cryptography python-dbus python-enum34 python-gi python-gi-cairo python-idna python-ipaddr python-ipaddress python-libvirt python-libxml2 python-minimal python-openssl python-pkg-resources python-requests python-six python-urllib3 python2.7 python2.7-minimal spice-client-glib-usb-acl-helper virtinst Suggested packages: augeas-doc augeas-tools libosinfo-l10n gstreamer1.0-plugins-bad gstreamer1.0-libav libvirt-daemon-driver-storage-gluster libvirt-daemon-driver-storage-sheepdog libvirt-daemon-driver-storage-zfs numad radvd auditd systemtap nfs-common zfsutils pm-utils thin-provisioning-tools python-doc python-tk python-cryptography-doc python-cryptography-vectors python-dbus-dbg python-dbus-doc python-enum34-doc python-openssl-doc python-openssl-dbg python-setuptools python-socks python-ntlm python2.7-doc ssh-askpass python-guestfs The following NEW packages will be installed: augeas-lenses bridge-utils dmeventd ebtables gir1.2-appindicator3-0.1 gir1.2-gtk-vnc-2.0 gir1.2-libosinfo-1.0 gir1.2-libvirt-glib-1.0 gir1.2-spiceclientglib-2.0 gir1.2-spiceclientgtk-3.0 libaugeas0 libdevmapper-event1.02.1 libgovirt-common libgovirt2 libgtk-vnc-2.0-0 libgvnc-1.0-0 liblvm2app2.2 liblvm2cmd2.02 libnetcf1 libosinfo-1.0-0 libphodav-2.0-0 libphodav-2.0-common libpython-stdlib libreadline5 libspice-client-glib-2.0-8 libspice-client-gtk-3.0-5 libusbredirhost1 libvirt-bin libvirt-clients libvirt-daemon libvirt-daemon-driver-storage-rbd libvirt-daemon-system libvirt-glib-1.0-0 libvirt0 libxml2-utils lvm2 osinfo-db python python-asn1crypto python-cairo python-certifi python-cffi-backend python-chardet python-cryptography python-dbus python-enum34 python-gi python-gi-cairo python-idna python-ipaddr python-ipaddress python-libvirt python-libxml2 python-minimal python-openssl python-pkg-resources python-requests python-six python-urllib3 python2.7 python2.7-minimal spice-client-glib-usb-acl-helper virt-manager virt-viewer virtinst The following packages will be upgraded: libpython2.7 libpython2.7-minimal libpython2.7-stdlib 3 upgraded, 65 newly installed, 0 to remove and 363 not upgraded. Need to get 11.0 MB/15.8 MB of archives. After this operation, 57.5 MB of additional disk space will be used. Do you want to continue? [Y/n] y
Yukarıdaki komutu çalıştırdıktan sonrabir göreceksinSanal Makine Yöneticisiaraç adı verildiVirtUbuntu sisteminizde. Virt Manager sanal makinelerine erişmek için tüm uygulamalara gidin ve Virt simgesine tıklayın.
Virt Manager açıldığında üst menüde sol taraftan verilen ilk seçeneğe tıklayın. Bu seçenek, Sanal Makineleri oluşturmak ve ayarlamak için size rehberli bir GUI sağlayacaktır. İşlem VirtualBox ile aynıdır.
Ardından ortamın ISO görüntüsüne önyüklemesini seçin ve ardından RAM'i, CPU sayısını ve sanal sabit diski atayın.
Qemu için Virt Virtual Manager'da VM'leri oluştururken, makinelerimiz için Sanal Ağları seçebileceğimiz bir ağ seçim seçeneğine de sahip olacaksınız. Varsayılan olarak,Sanal ağ 'varsayılan' NAT seçili, birden fazla bağlantınız yoksa olduğu gibi bırakın. İnternet bağlantısını paylaşmak için ana bilgisayar IP adresi aralığını kullanan NAT'tadır.
Yani bu şekilde Virtualbox alternatif yazılımını sadece Ubuntu'da değil, diğer farklı Linux işletim sistemlerinde de Sanal Makine oluşturmak için kullanabiliriz. Bu Sanallaştırma yazılımının, doğrudan çekirdek modülünü kullanması nedeniyle VirtualBox'a göre daha yüksek hız gibi kendi avantajları vardır. Üstelik, eğer komutları hakkında bilgi sahibi olursanız, başsız sunuculara VM'ler kurmak çocuk oyuncağı haline gelir. Ancak hemen hemen her tür işletim sistemi emülasyonunu destekler ancak Windows için Linux konuk işletim sistemiyle karşılaştırıldığında biraz yavaştır. Bu gibi durumlarda lütfen KVM veya Intel HAXM hızlandırıcı modüllerini etkinleştirin. Ayrıca dikkat edilmesi gereken nokta, son versiyonda KVM desteği kaldırılmış ancak açık kaynak HAXM devam edecek.
Bu öğreticiyi takip ederken herhangi bir sorunla karşılaşırsanız, lütfen yorum bölümünün tamamen size ait olduğunu bize bildirin!
Diğer yararlı kaynaklar: