IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Desambiguació:

KVM és una sistema de virtualització que suporta virtualització completa amb CPUs que suportin la tecnologia Intel VT i AMD SVM. De forma similar a HVM Xen (VT i SVM) utilitzar una versió modificada de Qemuper emular un hardware virtualitzat.

Introducció

Requeriments de KVM

KVM és el que s'anomena una full virtualization solution per a plataformes hardware x86 (PC) que suportin extensions virtuals (Intel VT or AMD-V). Per tant és requereix tenir una CPU amb les extensions especificades. Consulteu kvm-ok

La implementació especifica consisteix en un mòdul del kernel carregable que proveïx tota la infraestructura necessària per a la virtualizació.

libvirt

libvirt és un conjunt d'eines que permet interactuar amb les capacitats de virtualització de sistemes operatius Linux.

Libvirt suporta els següents sistemes de virtualització:

Algunes de les característiques són:

Arquitectura i conceptes

http://libvirt.org/goals.html

Cal definir els següents conceptes:

  • Node: una sola màquina física
  • Hypervisor: és una capa de software que permet virtualitzar un node
  • Domain: és una instància de un sistema operatiu que s'executa en una màquina virtual proveïda per l'Hypervisor.

L'objectiu de libvirt és proveir d'una cap estable i comuna per tal de gestionar de forma segura els dominis d'un node (si és possible remotament) amb independència de l'hipervisor.

El següent esquema mostra un exemple de les capes amb màquines de QEMU/KVM o Xen:

Capeslibvirt.gif

Per tal libvirt que sigui extensible sobre una amplia varietat de hipervisors s'utilitza una arquitectura basada en drivers. Depèn de l'hipervisor i dels driver es pot tenir més o menys funcionalitats (per exemple que funcionalitats específiques de un hypervisor no es mostrin a libvirt) i a més alguns hypervisors poden no implementar tota la API.

L'arquitectura és Client-Servidor:

  • libvirtd: és el dimoni que us dona accés a l'API de libvirt ja sigui localment o remotament.
  • virsh: és el client

Libvirt suporta dos models:

L'aplicació de gestió i les màquines virtuals estan a la mateixa màquina (accés local)

Capeslibvirtlocal.gif

L'aplicació de gestió i les màquines virtuals estan en màquines remotes (accés remot)

Capeslibvirtremot.gif
ç

libvirt URIs

Paquets

kvm

Paquet tonto que realment el que instal·la és qemu-kvm.

$ dpkg -L kvm
/.
/lib
/lib/udev
/lib/udev/rules.d
/lib/udev/rules.d/45-kvm.rules
/usr
/usr/share
/usr/share/doc
/usr/share/doc/kvm
/usr/share/doc/kvm/copyright
/usr/share/doc/kvm/changelog.Debian.gz

Lo important són les dependències que instal·la:

$ sudo apt-cache depends kvm
kvm
 Depèn: qemu-kvm
 Entra en conflicte: kvm:i386
   qemu-kvm:i386

És a dir el paquet important és qemu-kvm.

qemu-kvm

$ dpkg -L qemu-kvm 
/.
/etc
/etc/default
/etc/default/qemu-kvm
/etc/init
/etc/init/qemu-kvm.conf
/etc/init.d
/lib
/lib/udev
/lib/udev/rules.d
/lib/udev/rules.d/45-qemu-kvm.rules
/usr
/usr/etc
/usr/etc/qemu
/usr/etc/qemu/target-x86_64.conf
/usr/share
/usr/share/qemu
/usr/share/doc
/usr/share/doc/qemu
/usr/share/doc/qemu/qemu-doc.html
/usr/share/doc/qemu/qemu-tech.html
/usr/share/doc/qemu-kvm
/usr/share/doc/qemu-kvm/TODO.Debian
/usr/share/doc/qemu-kvm/copyright
/usr/share/doc/qemu-kvm/changelog.Debian.gz
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/qemu-nbd.8.gz
/usr/share/man/man1
/usr/share/man/man1/qemu.1.gz
/usr/share/man/man1/qemu-img.1.gz
/usr/share/man/man1/qemu-kvm.1.gz
/usr/bin
/usr/bin/kvm_stat
/usr/bin/qemu
/usr/bin/qemu-img
/usr/bin/qemu-io
/usr/bin/qemu-i386]]
/usr/bin/qemu-system-x86_64]]
/usr/bin/qemu-nbd]]
/usr/bin/qemu-x86_64
/etc/init.d/qemu-kvm
/usr/share/qemu-kvm
/usr/share/doc/kvm
/usr/share/kvm
/usr/share/man/man8/kvm-nbd.8.gz
/usr/share/man/man1/qemu-system-x86_64.1.gz
/usr/share/man/man1/qemu-x86_64.1.gz
/usr/share/man/man1/qemu-i386.1.gz
/usr/share/man/man1/qemu-system-i386.1.gz
/usr/share/man/man1/kvm.1.gz
/usr/share/man/man1/kvm-img.1.gz
/usr/bin/kvm-nbd
/usr/bin/kvm
/usr/bin/qemu-system-i386
/usr/bin/kvm-img

Les dependències són:

$ sudo apt-cache depends qemu-kvm
qemu-kvm
 Depèn: iproute
 Depèn: python
 Depèn: qemu-common
 Depèn: <upstart-job>
   upstart
 Depèn: libaio1
 Depèn: libasound2
 Depèn: libattr1
 Depèn: libc6
 Depèn: libcurl3-gnutls
 Depèn: libgnutls26
 Depèn: libncurses5
 Depèn: libpng12-0
 Depèn: libpulse0
 Depèn: libsasl2-2
 Depèn: libsdl1.2debian
 Depèn: libtinfo5
 Depèn: libuuid1
 Depèn: libx11-6
 Depèn: zlib1g
 Predepèn: adduser
 Entra en conflicte: kvm
 Entra en conflicte: kvm:i386
 Entra en conflicte: <kvm-data>
 Entra en conflicte: <kvm-data:i386>
 Entra en conflicte: qemu
 Entra en conflicte: qemu:i386
 Trenca: udev
 Trenca: udev:i386
 Reemplaça: kvm
 Reemplaça: kvm:i386
 Reemplaça: <kvm-data>
 Reemplaça: <kvm-data:i386>
 Reemplaça: qemu
   qemu-kvm
 Reemplaça: qemu:i386
   qemu-kvm:i386
 Entra en conflicte: qemu-kvm:i386

libvirt-bin

Conté les comandes bàsiques de gestió de màquines virtuals amb KVM:

$ dpkg -L libvirt-bin
/.
/etc
/etc/logrotate.d
/etc/logrotate.d/libvirtd
/etc/default
/etc/default/libvirt-bin
/etc/init
/etc/init/libvirt-bin.conf
/etc/libvirt
/etc/libvirt/qemu
/etc/libvirt/qemu/networks
/etc/libvirt/qemu/networks/default.xml
/etc/libvirt/qemu/networks/autostart
/etc/libvirt/nwfilter
/etc/libvirt/nwfilter/qemu-announce-self.xml
/etc/libvirt/nwfilter/no-other-l2-traffic.xml
/etc/libvirt/nwfilter/no-mac-broadcast.xml
/etc/libvirt/nwfilter/no-other-rarp-traffic.xml
/etc/libvirt/nwfilter/allow-incoming-ipv4.xml
/etc/libvirt/nwfilter/qemu-announce-self-rarp.xml
/etc/libvirt/nwfilter/allow-ipv4.xml
/etc/libvirt/nwfilter/allow-dhcp-server.xml
/etc/libvirt/nwfilter/clean-traffic.xml
/etc/libvirt/nwfilter/no-ip-spoofing.xml
/etc/libvirt/nwfilter/no-ip-multicast.xml
/etc/libvirt/nwfilter/no-arp-spoofing.xml
/etc/libvirt/nwfilter/no-mac-spoofing.xml
/etc/libvirt/nwfilter/allow-dhcp.xml
/etc/libvirt/nwfilter/allow-arp.xml
/etc/libvirt/qemu.conf
/etc/libvirt/libvirtd.conf
/etc/libvirt/lxc.conf
/etc/sasl2
/etc/sasl2/libvirt.conf
/etc/init.d
/etc/cron.daily
/etc/cron.daily/libvirt-bin
/etc/apparmor.d
/etc/apparmor.d/abstractions
/etc/apparmor.d/abstractions/libvirt-qemu
/etc/apparmor.d/libvirt
/etc/apparmor.d/libvirt/TEMPLATE
/etc/apparmor.d/disable
/etc/apparmor.d/usr.lib.libvirt.virt-aa-helper
/etc/apparmor.d/force-complain
/etc/apparmor.d/usr.sbin.libvirtd
/var
/var/log
/var/log/libvirt
/var/log/libvirt/qemu
/var/cache
/var/cache/libvirt
/var/lib
/var/lib/libvirt
/var/lib/libvirt/images
/var/lib/libvirt/boot
/usr
/usr/share
/usr/share/doc
/usr/share/doc/libvirt-bin
/usr/share/doc/libvirt-bin/examples
/usr/share/doc/libvirt-bin/examples/libvirtd.sasl
/usr/share/doc/libvirt-bin/examples/libvirtd.conf.gz
/usr/share/doc/libvirt-bin/examples/libvirt-suspendonreboot
/usr/share/doc/libvirt-bin/examples/libvirtd.policy-0
/usr/share/doc/libvirt-bin/examples/libvirtd.policy-1
/usr/share/doc/libvirt-bin/copyright
/usr/share/doc/libvirt-bin/NEWS.Debian.gz
/usr/share/doc/libvirt-bin/README.Debian.gz
/usr/share/doc/libvirt-bin/changelog.Debian.gz
/usr/share/apport
/usr/share/apport/package-hooks
/usr/share/apport/package-hooks/source_libvirt-bin.py
/usr/share/libvirt
/usr/share/libvirt/cpu_map.xml
/usr/share/libvirt/schemas
/usr/share/libvirt/schemas/network.rng
/usr/share/libvirt/schemas/secret.rng
/usr/share/libvirt/schemas/storageencryption.rng
/usr/share/libvirt/schemas/nodedev.rng
/usr/share/libvirt/schemas/interface.rng
/usr/share/libvirt/schemas/nwfilter.rng
/usr/share/libvirt/schemas/storagevol.rng
/usr/share/libvirt/schemas/capability.rng
/usr/share/libvirt/schemas/storagepool.rng
/usr/share/libvirt/schemas/domain.rng
/usr/share/libvirt/schemas/domainsnapshot.rng
/usr/share/polkit-1
/usr/share/polkit-1/actions
/usr/share/polkit-1/actions/org.libvirt.unix.policy
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/virsh.1.gz
/usr/share/man/man1/libvirt-migrate-qemu-disks.1.gz
/usr/share/augeas
/usr/share/augeas/lenses
/usr/share/augeas/lenses/libvirtd_qemu.aug
/usr/share/augeas/lenses/tests
/usr/share/augeas/lenses/tests/test_libvirtd_lxc.aug
/usr/share/augeas/lenses/tests/test_libvirtd_qemu.aug
/usr/share/augeas/lenses/tests/test_libvirtd.aug
/usr/share/augeas/lenses/libvirtd_lxc.aug
/usr/share/augeas/lenses/libvirtd.aug
/usr/sbin
/usr/sbin/libvirtd
/usr/sbin/libvirt-migrate-qemu-disks
/usr/bin
/usr/bin/virsh
/usr/bin/virt-pki-validate
/usr/bin/virt-xml-validate
/usr/lib
/usr/lib/libvirt
/usr/lib/libvirt/virt-aa-helper
/usr/lib/libvirt/connection-driver
/usr/lib/libvirt/libvirt_parthelper
/usr/lib/libvirt/libvirt_iohelper
/usr/lib/libvirt/libvirt_lxc
/etc/libvirt/qemu/networks/autostart/default.xml
/etc/init.d/libvirt-bin
/usr/share/doc/libvirt-bin/NEWS.gz
/usr/share/doc/libvirt-bin/AUTHORS.gz
/usr/share/doc/libvirt-bin/README
/usr/share/doc/libvirt-bin/TODO

virtinst

$ sudo apt-get install virtinst

virt-manager

virt-viewer

Connect to the graphical display of your virtual machine via VNC

virt-top

top like display of vitual machines


virt-manager

Conté l'aplicació gràfica (GUI) virt-manager.

$ sudo apt-get install virt-manager
...
S'instaŀlaran els paquets NOUS següents:
 libart-2.0-2 libbonobo2-0 libbonobo2-common libbonoboui2-0 libbonoboui2-common libglade2-0 libgnome2-0 libgnomecanvas2-0 libgnomecanvas2-common
 libgnomeui-0 libgnomeui-common libgtk-vnc-1.0-0 python-glade2 python-gnome2 python-gtk-vnc python-libvirt python-pyorbit python-urlgrabber  virt-manager virtinst
...

L'aplicació està feta (i el paquet depèn) en python i Glade.

$ sudo apt-cache depends virt-manager
virt-manager
 Depèn: gconf2
 Depèn: python
 Depèn: python-support
 Depèn: python-gtk2
 Depèn: python-glade2
 Depèn: python-gnome2
 Depèn: python-dbus
 Depèn: python-urlgrabber
 Depèn: python-vte
 Depèn: librsvg2-common
 Depèn: python-libvirt
 Depèn: virtinst
 Depèn: python-gtk-vnc
 Depèn: python-appindicator
 Suggereix: libvirt-bin
 Suggereix: virt-viewer
 Suggereix: ssh-askpass
   gtk-led-askpass
   ksshaskpass
   kwalletcli
   ssh-askpass-fullscreen
   ssh-askpass-gnome
 Suggereix: gnome-keyring
 Suggereix: python-gnomekeyring
 Suggereix: hal
 Recomana: gnome-icon-theme

Els fitxers instal·lats són:

$ dpkg -L virt-manager 
/.
/usr
/usr/share
/usr/share/virt-manager
/usr/share/virt-manager/virtManager
/usr/share/virt-manager/virtManager/IPy.py
/usr/share/virt-manager/virtManager/__init__.py
/usr/share/virt-manager/virtManager/about.py
/usr/share/virt-manager/virtManager/addhardware.py
/usr/share/virt-manager/virtManager/asyncjob.py
/usr/share/virt-manager/virtManager/autodrawer.py
/usr/share/virt-manager/virtManager/baseclass.py
/usr/share/virt-manager/virtManager/choosecd.py
/usr/share/virt-manager/virtManager/cli.py
/usr/share/virt-manager/virtManager/clone.py
/usr/share/virt-manager/virtManager/config.py
/usr/share/virt-manager/virtManager/connect.py
/usr/share/virt-manager/virtManager/connection.py
/usr/share/virt-manager/virtManager/console.py
/usr/share/virt-manager/virtManager/create.py
/usr/share/virt-manager/virtManager/createinterface.py
/usr/share/virt-manager/virtManager/createmeter.py
/usr/share/virt-manager/virtManager/createnet.py
/usr/share/virt-manager/virtManager/createpool.py
/usr/share/virt-manager/virtManager/createvol.py
/usr/share/virt-manager/virtManager/delete.py
/usr/share/virt-manager/virtManager/details.py
/usr/share/virt-manager/virtManager/domain.py
/usr/share/virt-manager/virtManager/engine.py
/usr/share/virt-manager/virtManager/error.py
/usr/share/virt-manager/virtManager/graphwidgets.py
/usr/share/virt-manager/virtManager/guidiff.py
/usr/share/virt-manager/virtManager/halhelper.py
/usr/share/virt-manager/virtManager/host.py
/usr/share/virt-manager/virtManager/inspection.py
/usr/share/virt-manager/virtManager/inspectiondata.py
/usr/share/virt-manager/virtManager/interface.py
/usr/share/virt-manager/virtManager/keyring.py
/usr/share/virt-manager/virtManager/libvirtglib.py
/usr/share/virt-manager/virtManager/libvirtobject.py
/usr/share/virt-manager/virtManager/manager.py
/usr/share/virt-manager/virtManager/mediadev.py
/usr/share/virt-manager/virtManager/migrate.py
/usr/share/virt-manager/virtManager/netdev.py
/usr/share/virt-manager/virtManager/network.py
/usr/share/virt-manager/virtManager/nodedev.py
/usr/share/virt-manager/virtManager/preferences.py
/usr/share/virt-manager/virtManager/remote.py
/usr/share/virt-manager/virtManager/secret.py
/usr/share/virt-manager/virtManager/serialcon.py
/usr/share/virt-manager/virtManager/storagebrowse.py
/usr/share/virt-manager/virtManager/storagepool.py
/usr/share/virt-manager/virtManager/storagevol.py
/usr/share/virt-manager/virtManager/systray.py
/usr/share/virt-manager/virtManager/uihelpers.py
/usr/share/virt-manager/virtManager/util.py
/usr/share/virt-manager/vmm-about.glade
/usr/share/virt-manager/vmm-add-hardware.glade
/usr/share/virt-manager/vmm-choose-cd.glade
/usr/share/virt-manager/vmm-clone.glade
/usr/share/virt-manager/vmm-create-interface.glade
/usr/share/virt-manager/vmm-create-net.glade
/usr/share/virt-manager/vmm-create-pool.glade
/usr/share/virt-manager/vmm-create-vol.glade
/usr/share/virt-manager/vmm-create.glade
/usr/share/virt-manager/vmm-delete.glade
/usr/share/virt-manager/vmm-details.glade
/usr/share/virt-manager/vmm-host.glade
/usr/share/virt-manager/vmm-manager.glade
/usr/share/virt-manager/vmm-migrate.glade
/usr/share/virt-manager/vmm-open-connection.glade
/usr/share/virt-manager/vmm-preferences.glade
/usr/share/virt-manager/vmm-progress.glade
/usr/share/virt-manager/vmm-storage-browse.glade
/usr/share/virt-manager/virt-manager.py
/usr/share/virt-manager/icons
/usr/share/virt-manager/icons/hicolor
/usr/share/virt-manager/icons/hicolor/16x16
/usr/share/virt-manager/icons/hicolor/16x16/actions
/usr/share/virt-manager/icons/hicolor/16x16/actions/icon_console.png
/usr/share/virt-manager/icons/hicolor/16x16/actions/vm_new.png
/usr/share/virt-manager/icons/hicolor/22x22
/usr/share/virt-manager/icons/hicolor/22x22/actions
/usr/share/virt-manager/icons/hicolor/22x22/actions/icon_console.png
/usr/share/virt-manager/icons/hicolor/22x22/actions/icon_details.png
/usr/share/virt-manager/icons/hicolor/22x22/actions/vm_new.png
/usr/share/virt-manager/icons/hicolor/22x22/devices
/usr/share/virt-manager/icons/hicolor/22x22/devices/device_cpu.png
/usr/share/virt-manager/icons/hicolor/22x22/devices/device_mem.png
/usr/share/virt-manager/icons/hicolor/22x22/devices/device_pci.png
/usr/share/virt-manager/icons/hicolor/22x22/devices/device_serial.png
/usr/share/virt-manager/icons/hicolor/22x22/devices/device_usb.png
/usr/share/virt-manager/icons/hicolor/24x24
/usr/share/virt-manager/icons/hicolor/24x24/actions
/usr/share/virt-manager/icons/hicolor/24x24/actions/icon_console.png
/usr/share/virt-manager/icons/hicolor/24x24/actions/vm_new.png
/usr/share/virt-manager/icons/hicolor/32x32
/usr/share/virt-manager/icons/hicolor/32x32/actions
/usr/share/virt-manager/icons/hicolor/32x32/actions/icon_console.png
/usr/share/virt-manager/icons/hicolor/32x32/actions/vm_new.png
/usr/share/virt-manager/icons/hicolor/32x32/status
/usr/share/virt-manager/icons/hicolor/32x32/status/state_paused.png
/usr/share/virt-manager/icons/hicolor/32x32/status/state_running.png
/usr/share/virt-manager/icons/hicolor/32x32/status/state_shutoff.png
/usr/share/virt-manager/icons/hicolor/48x48
/usr/share/virt-manager/icons/hicolor/48x48/actions
/usr/share/virt-manager/icons/hicolor/48x48/actions/vm_clone_wizard.png
/usr/share/virt-manager/icons/hicolor/48x48/actions/vm_delete_wizard.png
/usr/share/virt-manager/icons/hicolor/48x48/actions/vm_import_wizard.png
/usr/share/virt-manager/icons/hicolor/48x48/actions/vm_new_wizard.png
/usr/share/virt-manager/pixmaps
/usr/share/dbus-1
/usr/share/dbus-1/services
/usr/share/dbus-1/services/virt-manager.service
/usr/share/applications
/usr/share/applications/virt-manager.desktop
/usr/share/gconf
/usr/share/gconf/schemas
/usr/share/gconf/schemas/virt-manager.schemas
/usr/share/icons
/usr/share/icons/hicolor
/usr/share/icons/hicolor/16x16
/usr/share/icons/hicolor/16x16/apps
/usr/share/icons/hicolor/16x16/apps/virt-manager.png
/usr/share/icons/hicolor/22x22
/usr/share/icons/hicolor/22x22/apps
/usr/share/icons/hicolor/22x22/apps/virt-manager.png
/usr/share/icons/hicolor/24x24
/usr/share/icons/hicolor/24x24/apps
/usr/share/icons/hicolor/24x24/apps/virt-manager.png
/usr/share/icons/hicolor/32x32
/usr/share/icons/hicolor/32x32/apps
/usr/share/icons/hicolor/32x32/apps/virt-manager.png
/usr/share/icons/hicolor/48x48
/usr/share/icons/hicolor/48x48/apps
/usr/share/icons/hicolor/48x48/apps/virt-manager.png
/usr/share/icons/hicolor/256x256
/usr/share/icons/hicolor/256x256/apps
/usr/share/icons/hicolor/256x256/apps/virt-manager.png
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/virt-manager.1.gz
/usr/share/doc
/usr/share/doc/virt-manager
/usr/share/doc/virt-manager/README
/usr/share/doc/virt-manager/TODO
/usr/share/doc/virt-manager/AUTHORS
/usr/share/doc/virt-manager/README.Debian
/usr/share/doc/virt-manager/copyright
/usr/share/doc/virt-manager/NEWS.gz
/usr/share/doc/virt-manager/changelog.Debian.gz
/usr/share/pixmaps
/usr/share/python-support
/usr/share/python-support/virt-manager.private
/usr/bin
/usr/bin/virt-manager
/usr/lib
/usr/lib/virt-manager
/usr/lib/virt-manager/virt-manager-launch
/usr/share/pixmaps/virt-manager-icon.svg

python-vm-builder

$ sudo apt-get install python-vm-builder
...
S'instaŀlaran els paquets NOUS següents:
 build-essential dctrl-tools debootstrap devscripts diffstat dpkg-dev dput fakeroot g++ g++-4.6 gettext intltool-debian kpartx libalgorithm-diff-perl libalgorithm-diff-xs-perl
 libalgorithm-merge-perl libapt-pkg-perl libcommon-sense-perl libdigest-hmac-perl libdpkg-perl libemail-valid-perl libencode-locale-perl liberror-perl libexporter-lite-perl
 libfile-listing-perl libfont-afm-perl libhtml-form-perl libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-daemon-perl
 libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libio-pty-perl libio-socket-ssl-perl libio-stringy-perl libipc-run-perl libjson-perl libjson-xs-perl
 liblwp-mediatypes-perl liblwp-protocol-https-perl libmailtools-perl libnet-dns-perl libnet-domain-tld-perl libnet-http-perl libnet-ip-perl libnet-ssleay-perl
 libparse-debcontrol-perl libstdc++6-4.6-dev libtie-ixhash-perl libunistring0 liburi-perl libwww-perl libwww-robotrules-perl lintian patch patchutils python-central
 python-cheetah python-magic python-vm-builder wdiff

Fitxers instal·Lats:

$ dpkg -L python-vm-builder 
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/python-vm-builder
/usr/share/doc/python-vm-builder/html
/usr/share/doc/python-vm-builder/html/epydoc.css
/usr/share/doc/python-vm-builder/html/epydoc.js
/usr/share/doc/python-vm-builder/html/crarr.png
/usr/share/doc/python-vm-builder/html/identifier-index.html
/usr/share/doc/python-vm-builder/html/module-tree.html
/usr/share/doc/python-vm-builder/html/class-tree.html
/usr/share/doc/python-vm-builder/html/help.html
/usr/share/doc/python-vm-builder/html/frames.html
/usr/share/doc/python-vm-builder/html/toc.html
/usr/share/doc/python-vm-builder/html/toc-everything.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.contrib-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.contrib.cli-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.disk-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.distro-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.exception-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.frontend-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.hypervisor-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.log-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.ec2-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.firstscripts-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.kvm-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.kvm.vm-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.libvirt-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.network-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.postinst-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.ubuntu-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.ubuntu.dapper-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.ubuntu.distro-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.ubuntu.edgy-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.ubuntu.feisty-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.ubuntu.gutsy-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.ubuntu.hardy-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.ubuntu.intrepid-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.ubuntu.jaunty-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.ubuntu.karmic-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.ubuntu.lucid-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.ubuntu.maverick-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.ubuntu.natty-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.ubuntu.oneiric-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.ubuntu.suite-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.virtualbox-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.virtualbox.vm-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.vmware-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.vmware.vm-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.xen-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.plugins.xen.vm-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.tests-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.tests.base_test-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.tests.disk_tests-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.tests.network_tests-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.tests.plugin_tests-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.tests.ubuntu_tests-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.tests.util_tests-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.util-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.vcsversion-module.html
/usr/share/doc/python-vm-builder/html/toc-VMBuilder.vm-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.contrib-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.contrib.cli-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.disk-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.distro-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.exception-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.frontend-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.hypervisor-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.log-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ec2-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.firstscripts-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.kvm-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.kvm.vm-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.libvirt-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.network-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.postinst-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.dapper-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.distro-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.edgy-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.feisty-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.gutsy-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.hardy-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.intrepid-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.jaunty-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.karmic-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.lucid-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.maverick-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.natty-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.oneiric-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.suite-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.virtualbox-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.virtualbox.vm-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.vmware-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.vmware.vm-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.xen-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.xen.vm-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.base_test-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.disk_tests-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.network_tests-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.plugin_tests-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.ubuntu_tests-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.util_tests-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.util-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.vcsversion-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.vm-module.html
/usr/share/doc/python-vm-builder/html/VMBuilder.contrib.cli.CLI-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.contrib.cli.UVB-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.disk.Disk-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.disk.Disk.Partition-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.disk.Filesystem-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.distro.Context-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.distro.Distro-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.exception.VMBuilderException-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.exception.VMBuilderUserError-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.frontend.Frontend-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.hypervisor.Hypervisor-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.hypervisor.Hypervisor.NIC-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.Plugin-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.Plugin.BooleanSetting-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.Plugin.IntSetting-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.Plugin.ListSetting-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.Plugin.Setting-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.Plugin.SettingGroup-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.Plugin.StringSetting-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ec2.EC2-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.firstscripts.Firstscripts-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.kvm.vm.KVM-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.kvm.vm.QEMu-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.libvirt.Libvirt-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.network.NetworkDistroPlugin-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.network.NetworkHypervisorPlugin-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.postinst.postinst-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.dapper.Dapper-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.distro.Ubuntu-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.edgy.Edgy-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.feisty.Feisty-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.gutsy.Gutsy-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.hardy.Hardy-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.intrepid.Intrepid-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.jaunty.Jaunty-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.karmic.Karmic-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.lucid.Lucid-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.maverick.Maverick-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.natty.Natty-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.oneiric.Oneiric-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.suite.Suite-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.virtualbox.vm.VirtualBox-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.vmware.vm.VMWare-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.vmware.vm.VMWareEsxi-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.vmware.vm.VMWareServer-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.vmware.vm.VMWareWorkstation6-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.xen.vm.Xen-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.base_test.TestBaseModule-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.disk_tests.MockDistro-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.disk_tests.MockHypervisor-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.disk_tests.TestDetectSize-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.disk_tests.TestDiskPartitioningPlugin-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.disk_tests.TestDiskPlugin-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.disk_tests.TestSequenceFunctions-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.disk_tests.TestSizeParser-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.network_tests.TestNetworkPlugin-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.plugin_tests.TestPluginsSettings-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.plugin_tests.TestPluginsSettings.TestPlugin-class.html
/usr/share/doc/python-vm-builder/html/redirect.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.plugin_tests.TestPluginsSettings.VM-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.ubuntu_tests.TestUbuntuPlugin-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.util_tests.TestUtils-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.util.NonBlockingFile-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.vm.VM-class.html
/usr/share/doc/python-vm-builder/html/exceptions.AssertionError-class.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.hardy-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.vm-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.edgy-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.exception-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.frontend-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.gutsy-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.ubuntu_tests-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.kvm.vm-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.libvirt-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.plugin_tests-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.xen.vm-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.vmware-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.util-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.virtualbox-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.disk-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ec2-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.distro-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.base_test-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.contrib.cli-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.contrib-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.natty-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.dapper-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.log-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.distro-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.vcsversion-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.virtualbox.vm-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.karmic-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.network-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.vmware.vm-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.suite-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.util_tests-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.firstscripts-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.lucid-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.oneiric-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.feisty-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.kvm-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.intrepid-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.disk_tests-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.maverick-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.ubuntu.jaunty-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.xen-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.plugins.postinst-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.hypervisor-pysrc.html
/usr/share/doc/python-vm-builder/html/VMBuilder.tests.network_tests-pysrc.html
/usr/share/doc/python-vm-builder/html/index.html
/usr/share/doc/python-vm-builder/html/api-objects.txt.gz
/usr/share/doc/python-vm-builder/AUTHORS
/usr/share/doc/python-vm-builder/copyright
/usr/share/doc/python-vm-builder/NEWS.gz
/usr/share/doc/python-vm-builder/changelog.Debian.gz
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/vmbuilder.1.gz
/usr/share/pyshared
/usr/share/pyshared/VMBuilder
/usr/share/pyshared/VMBuilder/contrib
/usr/share/pyshared/VMBuilder/contrib/__init__.py
/usr/share/pyshared/VMBuilder/contrib/cli.py
/usr/share/pyshared/VMBuilder/plugins
/usr/share/pyshared/VMBuilder/plugins/firstscripts
/usr/share/pyshared/VMBuilder/plugins/firstscripts/__init__.py
/usr/share/pyshared/VMBuilder/plugins/kvm
/usr/share/pyshared/VMBuilder/plugins/kvm/__init__.py
/usr/share/pyshared/VMBuilder/plugins/kvm/vm.py
/usr/share/pyshared/VMBuilder/plugins/libvirt
/usr/share/pyshared/VMBuilder/plugins/libvirt/__init__.py
/usr/share/pyshared/VMBuilder/plugins/network
/usr/share/pyshared/VMBuilder/plugins/network/__init__.py
/usr/share/pyshared/VMBuilder/plugins/postinst
/usr/share/pyshared/VMBuilder/plugins/postinst/__init__.py
/usr/share/pyshared/VMBuilder/plugins/ubuntu
/usr/share/pyshared/VMBuilder/plugins/ubuntu/__init__.py
/usr/share/pyshared/VMBuilder/plugins/ubuntu/dapper.py
/usr/share/pyshared/VMBuilder/plugins/ubuntu/distro.py
/usr/share/pyshared/VMBuilder/plugins/ubuntu/edgy.py
/usr/share/pyshared/VMBuilder/plugins/ubuntu/feisty.py
/usr/share/pyshared/VMBuilder/plugins/ubuntu/gutsy.py
/usr/share/pyshared/VMBuilder/plugins/ubuntu/hardy.py
/usr/share/pyshared/VMBuilder/plugins/ubuntu/intrepid.py
/usr/share/pyshared/VMBuilder/plugins/ubuntu/jaunty.py
/usr/share/pyshared/VMBuilder/plugins/ubuntu/karmic.py
/usr/share/pyshared/VMBuilder/plugins/ubuntu/lucid.py
/usr/share/pyshared/VMBuilder/plugins/ubuntu/maverick.py
/usr/share/pyshared/VMBuilder/plugins/ubuntu/natty.py
/usr/share/pyshared/VMBuilder/plugins/ubuntu/oneiric.py
/usr/share/pyshared/VMBuilder/plugins/ubuntu/suite.py
/usr/share/pyshared/VMBuilder/plugins/virtualbox
/usr/share/pyshared/VMBuilder/plugins/virtualbox/__init__.py
/usr/share/pyshared/VMBuilder/plugins/virtualbox/vm.py
/usr/share/pyshared/VMBuilder/plugins/vmware
/usr/share/pyshared/VMBuilder/plugins/vmware/__init__.py
/usr/share/pyshared/VMBuilder/plugins/vmware/vm.py
/usr/share/pyshared/VMBuilder/plugins/xen
/usr/share/pyshared/VMBuilder/plugins/xen/__init__.py
/usr/share/pyshared/VMBuilder/plugins/xen/vm.py
/usr/share/pyshared/VMBuilder/plugins/__init__.py
/usr/share/pyshared/VMBuilder/__init__.py
/usr/share/pyshared/VMBuilder/disk.py
/usr/share/pyshared/VMBuilder/distro.py
/usr/share/pyshared/VMBuilder/exception.py
/usr/share/pyshared/VMBuilder/frontend.py
/usr/share/pyshared/VMBuilder/hypervisor.py
/usr/share/pyshared/VMBuilder/log.py
/usr/share/pyshared/VMBuilder/util.py
/usr/share/pyshared/VMBuilder/vcsversion.py
/usr/share/pyshared/VMBuilder/vm.py
/usr/share/pyshared-data
/usr/share/pyshared-data/python-vm-builder
/usr/bin
/usr/bin/vmbuilder
/etc
/etc/vmbuilder
/etc/vmbuilder/ec2
/etc/vmbuilder/ec2/ec2_version.tmpl
/etc/vmbuilder/ec2/landscape_client.tmpl
/etc/vmbuilder/ec2/sshd_config.tmpl
/etc/vmbuilder/ec2/sudoers.tmpl
/etc/vmbuilder/firstscripts
/etc/vmbuilder/firstscripts/firstbootrc.tmpl
/etc/vmbuilder/firstscripts/firstloginrc.tmpl
/etc/vmbuilder/kvm
/etc/vmbuilder/libvirt
/etc/vmbuilder/libvirt/libvirtxml.tmpl
/etc/vmbuilder/libvirt/libvirtxml_fsimage.tmpl
/etc/vmbuilder/network
/etc/vmbuilder/postinst
/etc/vmbuilder/ubuntu
/etc/vmbuilder/ubuntu/51_update-motd-hardy.tmpl
/etc/vmbuilder/ubuntu/51_update-motd.tmpl
/etc/vmbuilder/ubuntu/dapper_fstab.tmpl
/etc/vmbuilder/ubuntu/dapper_fstab_fsimage.tmpl
/etc/vmbuilder/ubuntu/devicemap.tmpl
/etc/vmbuilder/ubuntu/etc_hosts.tmpl
/etc/vmbuilder/ubuntu/initctl-stub.tmpl
/etc/vmbuilder/ubuntu/interfaces.tmpl
/etc/vmbuilder/ubuntu/is-compat-env.tmpl
/etc/vmbuilder/ubuntu/kernelimg.tmpl
/etc/vmbuilder/ubuntu/locale.tmpl
/etc/vmbuilder/ubuntu/nostart-policy-rc.d.tmpl
/etc/vmbuilder/ubuntu/sources.list.tmpl
/etc/vmbuilder/ubuntu/sudoers.tmpl
/etc/vmbuilder/ubuntu/timezone.tmpl
/etc/vmbuilder/ubuntu/upstart.tmpl
/etc/vmbuilder/ubuntu/xen-ld-so-conf.tmpl
/etc/vmbuilder/virtualbox
/etc/vmbuilder/virtualbox/vm_deploy_script.tmpl
/etc/vmbuilder/vmware
/etc/vmbuilder/vmware/esxi.vmx.tmpl
/etc/vmbuilder/vmware/flat.vmdk.tmpl
/etc/vmbuilder/vmware/vmware.tmpl
/etc/vmbuilder/xen

Instal·lació

Instal·lació 1

Un exemple d'instal·lació de KVM (a ubuntu 11.10)

$ sudo apt-get install kvm libvirt-bin
...
S'instaŀlaran els següents paquets extres:
 qemu-kvm
Paquets suggerits:
 ebtables
S'instaŀlaran els paquets NOUS següents:
 kvm libvirt-bin qemu-kvm
...
S'està configurant qemu-kvm (0.14.1+noroms-0ubuntu6)…
start: Job failed to start
invoke-rc.d: initscript qemu-kvm, action "start" failed.
S'està configurant kvm (1:84+dfsg-0ubuntu16+0.14.1+noroms+0ubuntu6)…
S'està configurant libvirt-bin (0.9.2-4ubuntu15)…
Adding group `libvirtd' (GID 126) ...
Fet.
 libvirt-bin start/running, process 7001

Fixeu-vos que a part de la instal·lació s'intenten arrancar serveis i es crea el grup libvirtd. A més el vostre usuari (si és administrador/sudo) serà afegir al grup libvirtd. Cal però que torneu a entrar sessió amb l'usuari, com podeu veure en el següent exemple amb l'usuari sergi:

$ groups
sergi adm dialout cdrom plugdev lpadmin admin sambashare
$ su sergi
Contrasenya: 
$ groups
sergi adm dialout cdrom plugdev lpadmin admin sambashare libvirtd

IMPORTANT: El paquet kvm és un paquet tonto, ja que no instal·la res realment res. L'important és que com a dependència instal·la qemu-kvm

NOTA: Abans s'havia de crear el grup libvirtd, ara això ja ho fa l'instal·lador.

Instal·lació 2

$ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

on (TODO):

  • libvirt-bin: provides libvirtd which you need to administer qemu and kvm instances using libvirt
  • qemu-kvm: (kvm in Karmic and earlier) is the backend
  • ubuntu-vm-builder: powerful command line tool for building virtual machines
  • bridge-utils: provides a bridge from your network to the virtual machines

You might also want to install virt-viewer, for viewing instances.

Un cop instal·lat per no haver de treballar com a superusuaris només cal que afegiu al grup kvm el usuari o usuaris que voleu que puguin utilitzar virtualització. Per afegir el usuari am be l que esteu logats al sistema:

$ sudo adduser `id -un` kvm No cal?


Cal que sortiu de la sessió i tornar a inicar una nova sessió per tal de formar part d'aquest grup. Podeu comprovar que funciona amb:

$ virsh -c qemu:///system list
Id Nombre               Estado
----------------------------------

virt-manager GUI Tool

$ sudo apt-get install virt-manager

Un cop instal·lat el podeu executar amb:

$ virt-manager

Recursos:

Connexions

virt-manager -c qemu:///system

You can connect to the libvirt service running on another host by entering the following in a terminal prompt:

virt-manager -c qemu+ssh://virtnode1.mydomain.com/system
Túnel SSH

Per obrir està connexió "l'únic" que necessiteu és el compte d'usuari de root de la màquina remota o un usuari que sigui del grup kvm (és a dir que pugui utilitzar KVM).

TODO: Captures de pantalla

Un cop hagiu connectat observeu el que realment s'ha executat per darrera (un túnel SSH):

$ ssh -l root 192.168.0.51 sh -c 'nc -q 2>&1 | grep -q "requires an argument";if [ $? -eq 0 ] ; then   CMD="nc -q 0 -U /var/run/libvirt/libvirt-sock";else   CMD="nc -U /var/run/libvirt/libvirt-sock";fi;eval "$CMD";'

Combinacions de teclat. Shortcut

Per sortir de la màquina virtual:

Ctrl-Alt

Per accedir a les consoles virtuals tty:

Send Key -> Ctrl-Alt-F1

Comprovació

Comprovar les extensions de la CPU

Cal que la CPU tingui suport per virtualització. Ho podeu comprovar amb l'ordre:

$ sudo apt-get install cpu-checker
$ kvm-ok
INFO: Your CPU supports KVM extensions
INFO: /dev/kvm does not exist
HINT: sudo modprobe kvm_intel
KVM acceleration can NOT be used
sergi@proves:~$ sudo modprobe kvm_intel
sergi@proves:~$ kvm-ok
INFO: Your CPU supports KVM extensions
INFO: /dev/kvm exists
KVM acceleration can be used

Si us surt que la acceleració està desactivada:

KVM acceleration can NOT be used

podeu executar:

$ sudo modprobe kvm_intel

KVM (vmx) is disabled by your BIOS

Cal tenir en compte que tot i tenir una CPU correcta per a treballar amb KVM, pot ser que la BIOS del sistema tingui desactivat el suport per a virtualització:

$ sudo kvm-ok
INFO: /dev/kvm does not exist
HINT:   sudo modprobe kvm_intel
INFO: Your CPU supports KVM extensions
INFO: KVM (vmx) is disabled by your BIOS
HINT: Enter your BIOS setup and enable Virtualization Technology (VT),
     and then hard poweroff/poweron your system
KVM acceleration can NOT be used


32 o 64 bits

IMPORTANT: Si no treballeu amb un sistema base de 64 bits, aleshores el màxim de RAM de les màquines virtuals és 2G. A més no podreu simular màquines de 64 bits (amb 64 podeu simular tant 64 com 32)

Per comprovar si la CPU és de 64 bits:

$ egrep -c ' lm ' /proc/cpuinfo

Si dona 1 aleshores és de 64 bits sinó és de 32 bits.

També podeu utilitzar:

$ uname -m

Si apareix x86_64 o amd64 aleshores és 64 bits.

Recursos:

Comandes

kvm-ok

Permet comprovar si la CPU és correcte per a treballar amb KVM:

És una eina del paquet cpu-checker:

$ which kvm-ok
/usr/sbin/kvm-ok
$ dpkg -S /usr/sbin/kvm-ok
cpu-checker: /usr/sbin/kvm-ok


virsh

Virtual Machine Management virsh

There are several utilities available to manage virtual machines and libvirt. The virsh utility can be used from the command line. Some examples:

   *
     To list running virtual machines:
     virsh -c qemu:///system list
   *
     To start a virtual machine:
     virsh -c qemu:///system start web_devel
   *
     Similarly, to start a virtual machine at boot:
     virsh -c qemu:///system autostart web_devel
   *
     Reboot a virtual machine with:
     virsh -c qemu:///system reboot web_devel
   *
     The state of virtual machines can be saved to a file in order to be restored later. The following will save the virtual machine state into a file named according to the date:
     virsh -c qemu:///system save web_devel web_devel-022708.state
     Once saved the virtual machine will no longer be running.
   *
     A saved virtual machine can be restored using:
     virsh -c qemu:///system restore web_devel-022708.state
   *
     To shutdown a virtual machine do:
     virsh -c qemu:///system shutdown web_devel
   *
     A CDROM device can be mounted in a virtual machine by entering:
     virsh -c qemu:///system attach-disk web_devel /dev/cdrom /media/cdrom

[Note]

In the above examples replace web_devel with the appropriate virtual machine name, and web_devel-022708.state with a descriptive file name.

virt-install

Exemple de com crear una màquina virtual Ubuntu Server 11.10 de 64 bits amb virt-install

$ wget http://www.iesebre.com/ubuntu/ubuntu/releases/11.10/ubuntu-11.10-server-amd64.iso
$ sudo virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 --disk path=/var/lib/libvirt/images/ubuntu1110server64.img,size=12 -c ubuntu-11.10-server-amd64.iso --vnc --noautoconsole --os-type linux --accelerate --network=bridge:virbr0 --hvm 

Starting install...
Creating domain...                                                                                                                    |    0 B      00:00      
Domain installation still in progress. You can reconnect to 
the console to complete the installation process.

Creació de màquines virtuals

ubuntu-vm-builder

Segons els manual:

$ man ubuntu-vm-builder
UBUNTU-VM-BUILDER(1)                                                                                                                                    UBUNTU-VM-BUILDER(1)

NAME
      ubuntu-vm-builder - builds virtual machines from the command line

DESCRIPTION
      ubuntu-vm-builder  is  now  a wrapper to vmbuilder (part of the python-vm-builder package) and is only maintained for compatibility wih previous scripts.  Please see
      the vmbuilder man page for more information or run vmbuilder <hypervisor> <distro> --help for a full list of options.

                                                                                 Oct 2008                                                              UBUNTU-VM-BUILDER(1)
Manual page ubuntu-vm-builder(1) line 1/14 (END)

És a dir que es manté l'script per compatibilitat endarrere però realment s'està utilitzant vmbuilder

vmbuilder

La sintaxi bàsica i a partir de la qual podeu obtenir ajuda és:

$ vmbuilder <hypervisor> <distro> --help

On:

  • hypervisor: Sistema gestor de màquines virtuals. Els possibles a escollir són: vmserver esxi xen kvm vbox qemu vmw6
  • distro: la distribució. Sembla que només suporta ubuntu com a opció.

Per saber els hypervisors suportats:

$ sudo vmbuilder pepito ubuntu
2011-10-26 20:56:28,036 ERROR   : No such hypervisor. Available hypervisors: vmserver esxi xen kvm vbox qemu vmw6

Per saber les distribucions suportades:

$ sudo vmbuilder kvm pepita
2011-10-26 20:58:29,802 ERROR   : No such distro. Available distros: 'ubuntu

Per exemple per crear una màquina ubuntu amb totes les opcions per defecte:

$ sudo vmbuilder kvm ubuntu

Que fa l'ordre vmbuilder

  • Crea una carpeta temporal a la carpeta /tmp
  • Aquesta carpeta s'inicialitza amb un sistema de fitxers bàsic d'un sistema operatiu Ubuntu amb debootstrap.
  • Es configura el sistema operatiu instal·lat
  • TODO: detallar la configuració
  • Es guarda la màquina virtual creada en una carpeta concreta (destinació)

La carpeta de destinació és per defecte:

<hypervisor>-<distro>

És a dir si heu executat:

$ sudo vmbuilder kbm-ubuntu

o similar (amb paràmetres extres...) la carpeta és:

kvm-ubuntu

Cal tenir en compte que si la carpeta ja existeix no es podrà continuar l'execució. Si voleu forçar que es torni a crear cal utilitzar l'opció:

-o, --overwrite
 Force overwrite of destination directory if it already exist. [default: False]

També podeu escollir un altre nom per a la carpeta de destinació:

-d DEST, --dest DEST
   Specify the destination directory. [default:<hypervisor>-<distro>]. Config option: destdir.

Paràmetres

Del manual:

$ man vmbuilder

OPTIONS
      NOTE:  Only common basic options are described here.  Many options can be added through plugins and others, they depends on the hypervisor and  dis‐
             tro you specify.  Please use vmbuilder <hypervisor> <distro> --help for a full options list.

      -h, --help
             Show this help message and exit.

      -c ALTCONFIG --config
             Specify  the  path to an optional configuration file. [default:None]. /etc/vmbuilder.cfg and ~/.vmbuilder.cfg are always read if present. The
             content of the configuration file is explained at https://help.ubuntu.com/community/JeOSVMBuilder#Using%20configuration%20files.

      -d DEST, --dest DEST
             Specify the destination directory. [default:<hypervisor>-<distro>]. Config option: destdir.

      --debug
             Show (a lot of) debug information

      -v, --verbose
             Show progress information

      -q, --quiet
             Silent operation

      -t TMP, --tmp TMP
             Use TMP as temporary working space for image generation. Defaults to $TMPDIR if it is defined or /tmp otherwise. [default: /tmp]

      --templates DIR
             Prepends   dir   to    template    search    path.    See    https://help.ubuntu.com/community/JeOSVMBuilder#Modifying%20the%20libvirt%20tem‐
             plate%20to%20use%20bridging for an example.

      -o, --overwrite
             Force overwrite of destination directory if it already exist. [default: False]

      --in-place
             Install  directly  into the filesystem images. This is needed if your $TMPDIR is nodev and/or nosuid, but will result in slightly larger file
             system images.

      --tmpfs OPTS
             Use a tmpfs as the working directory, specifying its size or "-" to use tmpfs default (suid,dev,size=1G).

      -m MEM, --mem MEM
             Assign MEM megabytes of memory to the guest vm. [default: 128]

      --cpus NUM
             Assign NUM cpus to the guest vm. [default: 1]
Guest partitioning options
      --part PATH
             Allows to specify a partition table in PATH each line of partfile should specify (root first):
                     mountpoint size (device) (filename)
             one per line, separated by space, where size is in megabytes. The third and fourth options allow you to specify a device for the  filesystem,
             and  a  name for the filesystem image, both of which are optional. You can have up to 4 virtual disks, a new disk starts on a line containing
             only '---'. ie:
                     root 2000 a1 rootfs
                     /boot 512 a2 boot
                     swap 1000 a3 swapfs
                     ---
                     /var 8000 b1 var
                     /var/log 2000 b2 varlog
      The following three options are not used if --part is specified:
             --rootsize SIZE
                    Size (in MB) of the root filesystem [default: 4096].  Discarded when --part is used.
             --optsize SIZE
                    Size (in MB) of the /opt filesystem. If not set, no /opt filesystem will be added. Discarded when --part is used.
             --swapsize SIZE
                    Size (in MB) of the swap partition [default: 1024]. Discarded when --part is used.
  Network related options:
      --domain DOMAIN
             Set DOMAIN as the domain name of the guest. Default: The domain of the machine running this script.
      --ip ADDRESS
             IP address in dotted form [default: dhcp]
      Options below are discarded if --ip is not specified
             --mask VALUE IP mask in dotted form [default: based on ip setting].
             --net ADDRESS
                    IP net address in dotted form [default: based on ip setting].
             --bcast VALUE
                    IP broadcast in dotted form [default: based on ip setting].
             --gw ADDRESS
                    Gateway (router) address in dotted form [default: based on ip setting (first valid address in the network)].
             --dns ADDRESS
                    DNS address in dotted form [default: based on ip setting (first valid address in the network)]
  Post install actions:
      --copy FILE
             Read 'source dest' lines from FILE, copying source files from host to dest in the guest's file system.
      --execscript SCRIPT, --exec SCRIPT
             Run SCRIPT after distro installation finishes. Script will be called with the guest's chroot as first argument, so  you  can  use  chroot  $1
             <cmd> to run code in the virtual machine.
  libvirt integration:
      --libvirt=URI
             Add VM to given URI
  Scripts:
      --firstboot PATH
             Specify a script that will be copied into the guest and executed the first time the machine boots.  This script must not be interactive.
      --firstlogin PATH
             Specify a script that will be copied into the guest and will be executed the first time the user logs in.  This script can be interactive.


Exemples

El exemple més bàsic:

$ sudo vmbuilder kvm ubuntu --debug
2011-10-26 20:45:59,089 DEBUG   : Returning value None for configuration key ppa
2011-10-26 20:45:59,089 DEBUG   : Returning value None for configuration key uid
2011-10-26 20:45:59,089 DEBUG   : Returning value None for configuration key ssh-user-key
2011-10-26 20:45:59,090 DEBUG   : Returning value None for configuration key mirror
2011-10-26 20:45:59,090 DEBUG   : Returning value None for configuration key domain
2011-10-26 20:45:59,090 DEBUG   : Returning value None for configuration key install-security-mirror
2011-10-26 20:45:59,090 DEBUG   : Returning value None for configuration key firstlogin
...


2011-10-26 20:45:59,094 DEBUG   : (args=(), kwargs={})
2011-10-26 20:45:59,094 DEBUG   : Calling preflight_check method in VMBuilder.plugins.network plugin.
2011-10-26 20:45:59,094 DEBUG   : Calling preflight_check method in VMBuilder.plugins.firstscripts plugin.
2011-10-26 20:45:59,095 DEBUG   : Calling preflight_check method in VMBuilder.plugins.postinst plugin.
2011-10-26 20:45:59,095 DEBUG   : Calling preflight_check method in context plugin VMBuilder.plugins.ubuntu.distro.
2011-10-26 20:45:59,096 INFO    : Calling hook: set_defaults
2011-10-26 20:45:59,096 DEBUG   : (args=(), kwargs={})
2011-10-26 20:45:59,096 DEBUG   : Calling set_defaults method in VMBuilder.plugins.network plugin.
2011-10-26 20:45:59,097 DEBUG   : Calling set_defaults method in VMBuilder.plugins.firstscripts plugin.
2011-10-26 20:45:59,097 DEBUG   : Calling set_defaults method in VMBuilder.plugins.postinst plugin.
2011-10-26 20:45:59,097 DEBUG   : Calling set_defaults method in context plugin VMBuilder.plugins.ubuntu.distro.
Fase de debootstrap
2011-10-26 20:45:59,097 INFO    : Calling hook: bootstrap
2011-10-26 20:45:59,097 DEBUG   : (args=(), kwargs={})
2011-10-26 20:45:59,097 DEBUG   : Calling bootstrap method in VMBuilder.plugins.network plugin.
2011-10-26 20:45:59,097 DEBUG   : No such method
2011-10-26 20:45:59,097 DEBUG   : Calling bootstrap method in VMBuilder.plugins.firstscripts plugin.
2011-10-26 20:45:59,097 DEBUG   : No such method
2011-10-26 20:45:59,097 DEBUG   : Calling bootstrap method in VMBuilder.plugins.postinst plugin.
2011-10-26 20:45:59,097 DEBUG   : No such method
2011-10-26 20:45:59,097 DEBUG   : Calling bootstrap method in context plugin VMBuilder.plugins.ubuntu.distro.
2011-10-26 20:45:59,098 DEBUG   : ['/usr/sbin/debootstrap', '--arch=amd64', 'lucid', '/tmp/tmpGNTrgy]]', 'http://archive.ubuntu.com/ubuntu'] 2011-10-26 20:50:42,443   
DEBUG   : I: Retrieving Release
2011-10-26 20:50:42,549 DEBUG   : I: Retrieving Release.gpg
2011-10-26 20:50:42,560 DEBUG   : I: Checking Release signature
2011-10-26 20:50:42,615 DEBUG   : I: Valid Release signature (key id 630239CC130E1A7FD81A27B140976EAF437D05B5)
2011-10-26 20:50:42,691 DEBUG   : I: Retrieving Packages
2011-10-26 20:50:42,814 DEBUG   : I: Validating Packages
2011-10-26 20:50:44,197 DEBUG   : I: Resolving dependencies of required packages...
2011-10-26 20:50:44,878 DEBUG   : I: Resolving dependencies of base packages...
2011-10-26 20:50:48,009 DEBUG   : I: Checking component main on http://es.archive.ubuntu.com/ubuntu...
2011-10-26 20:50:48,518 DEBUG   : I: Retrieving adduser
2011-10-26 20:50:48,534 DEBUG   : I: Validating adduser
2011-10-26 20:50:48,541 DEBUG   : I: Retrieving apt
2011-10-26 20:50:48,703 DEBUG   : I: Validating apt
2011-10-26 20:50:48,723 DEBUG   : I: Retrieving apt-utils
2011-10-26 20:50:48,749 DEBUG   : I: Validating apt-utils
2011-10-26 20:50:48,758 DEBUG   : I: Retrieving aptitude
2011-10-26 20:50:48,896 DEBUG   : I: Validating aptitude
2011-10-26 20:50:48,913 DEBUG   : I: Retrieving base-files  
...
2011-10-26 20:59:16,904 DEBUG   : I: Configuring libc-bin...
2011-10-26 20:59:17,118 DEBUG   : I: Configuring initramfs-tools...
2011-10-26 20:59:17,291 DEBUG   : I: Base system installed successfully.

Fase de configuració de la màquina virtual...


IMPORTANT: Si no es diu quina versió es vol d'Ubuntu sembla que instal·la per defecte la última LTS, per exemple a data (--acacha 18:54, 26 oct 2011 (UTC)) la Lucid 10.04.3: http://releases.ubuntu.com/lucid/

Documentació

$ man vmbuilder

IMPORTANT: Cal tenir en compe que les opcions específiques de Ubuntu les haureu de consultar amb :

$ vmbuilder kvm ubuntu --help
Usage: vmbuilder hypervisor distro [options]

Options:
 -h, --help            show this help message and exit
 --version             Show version information

 Build options:
   --debug             Show debug information
   -v, --verbose       Show progress information
   -q, --quiet         Silent operation
   -o, --overwrite     Configuration file
   -c CONFIG, --config=CONFIG
                       Configuration file
   --templates=DIR     Prepend DIR to template search path.
   -d DESTDIR, --destdir=DESTDIR
                       Destination directory
   --only-chroot       Only build the chroot. Don't install it on disk images
                       or anything.
   --chroot-dir=CHROOT_DIR
                       Build the chroot in directory.
   --existing-chroot=EXISTING_CHROOT
                       Use existing chroot.
   -t DIR, --tmp=DIR   Use TMP as temporary working space for image
                       generation. Defaults to $TMPDIR if it is defined or
                       /tmp otherwise. [default: /tmp]
   --tmpfs=SIZE        Use a tmpfs as the working directory, specifying its
                       size or "-" to use tmpfs default (suid,dev,size=1G).

 Disk:
   --rootsize=SIZE     Size (in MB) of the root filesystem [default: 4096]
   --optsize=SIZE      Size (in MB) of the /opt filesystem. If not set, no
                       /opt filesystem will be added.
   --swapsize=SIZE     Size (in MB) of the swap partition [default: 1024]
   --raw=PATH          Specify a file (or block device) to use as first disk
                       image (can be specified multiple times).
   --part=PATH         Specify a partition table in PATH. Each line of
                       partfile should specify (root first):      mountpoint
                       size  one per line, separated by space, where size is
                       in megabytes. You can have up to 4 virtual disks, a
                       new disk starts on a line containing only '---'. ie:
                       root 2000      /boot 512      swap 1000      ---
                       /var 8000      /var/log 2000

 Other options:
   --ssh-key=PATH      Add PATH to root's ~/.ssh/authorized_keys (WARNING:
                       this has strong security implications).
   --ssh-user-key=SSH_USER_KEY
                       Add PATH to the user's ~/.ssh/authorized_keys.
   --manifest=PATH     If passed, a manifest will be written to PATH

 Settings for the initial user:
   --user=USER         Username of initial user [default: ubuntu]
   --name=NAME         Full name of initial user [default: Ubuntu]
   --pass=PASS         Password of initial user [default: ubuntu]
   --rootpass=ROOTPASS
                       Initial root password (WARNING: this has strong
                       security implications).
   --uid=UID           Initial UID value.
   --gid=GID           Initial GID value.
   --lock-user         Lock the initial user [default: none]

 Network:
   --domain=DOMAIN     Set DOMAIN as the domain name of the guest [default:
                        defaultdomain].

 General OS options:
   -a ARCH, --arch=ARCH
                       Specify the target architecture.  Valid options: amd64
                       i386 lpia (defaults to host arch)
   --hostname=HOSTNAME
                       Set NAME as the hostname of the guest. Default:
                       ubuntu. Also uses this name as the VM name.

 Installation options:
   --suite=SUITE       Suite to install. Valid options: dapper gutsy hardy
                       intrepid jaunty karmic lucid maverick natty oneiric
                       [default: lucid]
   --flavour=FLAVOUR, --kernel-flavour=FLAVOUR
                       Kernel flavour to use. Default and valid options
                       depend on architecture and suite
   --variant=VARIANT   Passed to debootstrap --variant flag; use minbase,
                       buildd, or fakechroot.
   --iso=PATH          Use an iso image as the source for installation of
                       file. Full path to the iso must be provided. If
                       --mirror is also provided, it will be used in the
                       final sources.list of the vm.  This requires suite and
                       kernel parameter to match what is available on the
                       iso, obviously.
   --mirror=URL        Use Ubuntu mirror at URL instead of the default, which
                       is http://archive.ubuntu.com/ubuntu for official
                       arches and http://ports.ubuntu.com/ubuntu-ports
                       otherwise
   --proxy=URL         Use proxy at URL for cached packages
   --install-mirror=URL
                       Use Ubuntu mirror at URL for the installation only.
                       Apt's sources.list will still use default or URL set
                       by --mirror
   --security-mirror=URL
                       Use Ubuntu security mirror at URL instead of the
                       default, which is http://security.ubuntu.com/ubuntu
                       for official arches and http://ports.ubuntu.com
                       /ubuntu-ports otherwise.
   --install-security-mirror=URL
                       Use the security mirror at URL for installation only.
                       Apt's sources.list will still use default or URL set
                       by --security-mirror
   --components=COMPS  A comma seperated list of distro components to include
                       (e.g. main,universe).
   --ppa=PPA           Add ppa belonging to PPA to the vm's sources.list.
   --lang=LANG         Set the locale to LANG [default: ca_ES.UTF-8]
   --timezone=TZ       Set the timezone to TZ in the vm. [default: UTC]

 Scripts:
   --firstboot=PATH    Specify a script that will be copied into the guest
                       and executed the first time the machine boots.  This
                       script must not be interactive.
   --firstlogin=PATH   Specify a script that will be copied into the guest
                       and will be executed the first time the user logs in.
                       This script can be interactive.

 Post install actions:
   --copy=FILE         Read 'source dest' lines from FILE, copying source
                       files from host to dest in the guest's file system.
   --execscript=SCRIPT, --exec=SCRIPT
                       Run SCRIPT after distro installation finishes. Script
                       will be called with the guest's chroot as first
                       argument, so you can use 'chroot $1 <cmd>' to run code
                       in the virtual machine.

 Package options:
   --addpkg=PKG        Install PKG into the guest (can be specified multiple
                       times).
   --removepkg=PKG     Remove PKG from the guest (can be specified multiple
                       times)
   --seedfile=SEEDFILE
                       Seed the debconf database with the contents of this
                       seed file before installing packages

 libvirt integration:
   --libvirt=URI       Add VM to given URI
   --bridge=BRIDGE     Set up bridged network connected to BRIDGE.
   --network=NETWORK   Set up a network connection to virtual network
                       NETWORK.

 Network:
   --ip=ADDRESS        IP address in dotted form [default: dhcp].
   --mac=MAC           MAC address of the guest [default: random].
   --mask=VALUE        IP mask in dotted form [default: based on ip setting].
                       Ignored if ip is not specified.
   --net=ADDRESS       IP net address in dotted form [default: based on ip
                       setting]. Ignored if ip is not specified.
   --bcast=VALUE       IP broadcast in dotted form [default: based on ip
                       setting]. Ignored if ip is not specified.
   --gw=ADDRESS        Gateway (router) address in dotted form [default:
                       based on ip setting (first valid address in the
                       network)]. Ignored if ip is not specified.
   --dns=ADDRESS       DNS address in dotted form [default: based on ip
                       setting (first valid address in the network)] Ignored
                       if ip is not specified.

 VM settings:
   -m MEM, --mem=MEM   Assign MEM megabytes of memory to the guest vm.
                        [default: 128]
   --cpus=CPUS         Assign NUM cpus to the guest vm. [default: 1]

Depurar

Cal tenir en compte que l'opció --debug es diferent de l'opció --verbose.

Aplicació javascript per crear els paràmetres de vmbuilder

JeOS

Ubuntu JeOS

Ubuntu server jeos.

TODO:

$ sudo wget http://cdimage.ubuntu.com/jeos/releases/hardy/release/jeos-8.04.2-jeos-i386.iso
$ md5sum ubuntu-8.04.2-jeos-i386.iso

Verifiqueu el MD5 a:

http://cdimage.ubuntu.com/cdimage/jeos/releases/8.04.2/release/MD5SUMS

Resol·lució de problemes. Troubleshooting

No es posible conectarse con «/var/run/libvirt/libvirt-sock», libvirtd podría necesitar reiniciarse: Permiso denegado

El fitxer:

$ ls -l /var/run/libvirt/libvirt-sock
srwxrwx--- 1 root libvirtd 0 2011-10-05 19:23 /var/run/libvirt/libvirt-sock

és un socket que com podeu veure pertany al grup libvirtd. Per poder utilitzar-lo cal que l'usuari pertanyi al grup kvm. Consulteu l'apartat instal·lació.

No funciona Virtual Box si està instal·lat KVM

Installing kvm loads the module kvm (or kvm-intel in my case) which does not allow other virtualization software to run, e.g. virtualbox.

The good news is that you can disable kvm and unload its modules. So you simply:

1. Make sure you've completely shut down and powered off all your kvm virtual machines (using virt-manager or otherwise).

2. Unload all of its modules:

$ sudo invoke-rc.d kvm stop

In Karmic use

$ sudo invoke-rc.d qemu-kvm stop

instead.

In Lucid use

$ sudo service qemu-kvm stop

BIOS

Les màquines virtual de KVM tenen una BIOS completa i també executen GRUB. El problema és que és molt ràpid executant-se i normalment no hi ha temps de visualitzar-les. El truc és executar la màquina amb l'opció:

--wait

De l'aplicació virt-viewer


TODO: If you are running a VM built with ubuntu-vm-builder, there is a small bug that will prevent you from logging in; in grub, select the recovery line and press "e"; select the line beginning with kernel, press "e" again. At the end of the line, add "init=/bin/sh" (without the quotes). Confirm with enter, and press b to boot the kernel with these settings.

Resol·lució de problemes. Troubleshooting

El servei qemu-kv no s'inicia correctament

Si al fer:

$ sudo service qemu-kvm start
start: Job failed to start

Comproveu que la CPu permet virtualització a KVM utilitzant l'ordre kvm-ok. També pot ser que ho suporti però que s'haguí d'activar a la BIOS.

Vegeu també

Enllaços externs