SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
Si te acabas de incorporar al mundo de la virtualización de
sistemas operativos, seguramente te suenen nombres como
vmware o virtual box, pero hay hay muchos más programas,
entre ellos qemu, que suele quedar olvidado aunque parte del
código de software de virtualización como Xen, VirtualBox o
KVM (Kernel-based Virtual Machine) para Linux procede de este proyecto. Quizá sea porque tiene fama de
“complicado” por ser una aplicación que se maneja básicamente mediante la consola, pero yo no estoy de
acuerdo con que sea tan difícil (es más, con las versiones actuales si todo lo que queremos hacer es un uso
básico, me parece el MÁS sencillo (repito, es mi opinión)). Este artículo pretende demostrar que puede ser
una buena opción a tener en cuenta.

Qemu es un programa gratuito y multiplataforma (disponible para Windows, Solaris, Linux, FreeBSD,
NetBSD, OpenBSD, Mac OS X, ZETA y BeOS, así que no tienes excusa para no usarlo :-P ) que nos
permite tener un ordenador virtual ejecutándose en una ventana dentro de nuestro sistema operativo (entre
otras cosas, pues también puede ejecutar programas compilados para un tipo de CPU en otro tipo de CPU –
por ejemplo: ejecutar binarios para PowerPC en nuestro PC x86). Es muy bueno para hacer pruebas, pues
podemos salvar el estado de la máquina virtual sin dificultad, y restaurarlo en cuanto queramos.




Sistema Linux ejecutándose en un PC virtual (que a su vez se ejecuta en otra instalación de Linux)


Comenzando a usar Qemu

Si tienes un sistema típico, es difícil que tengas problemas con la instalación. Aún así, ni siquiera tienes que
"complicarte" con ello: puedes usar Qemu sin siquiera haberlo instalado. Hay muchas páginas que ofrecen
paquetes comprimidos en los que se incluye una versión portátil de qemu + un sistema operativo listo para
usar. Voy a destacar 2 de ellas: Qemu-Puppy (http://www.erikveen.dds.nl/qemupuppy) de unos 86 MB y
Damn Small Linux, de 50 (http://www.damnsmalllinux.org), cuya versión Embedded se distribuye con qemu.
Ambos se pueden descargar mediante bittorrent gracias a http://www.linuxtracker.org, o por medios más
tradicionales (como FTP o HTTP), desde distintos mirrors que pueden consultarse en las páginas de los
respectivos proyectos. Para comenzar, recomiendo Qemu-Puppy. Una vez descargado el paquete (ej:
qemu-puppy-2.17-1.tar.gz), lo desempaquetamos donde vayamos a usarlo (un buen lugar es un pendrive
USB, para poder transportar fácilmente nuestro PC Virtual a cualquier parte) y ejecutamos el archivo
puppy.exe o puppy.sh y obtendremos una ventana con una distribución ligera de Linux funcionando dentro.




Si queremos tener el sistema en modo de pantalla completa, lo tendremos al pulsar la combinación de
teclas Ctrl + Alt + f (vuelve a pulsarlas y estarás de nuevo en modo ventana). Otra combinación que
debemos tener siempre presente es Ctrl + Alt, pues al pulsar con el ratón en la ventana del sistema
emulado, el puntero queda “atrapado” dentro. Esta combinación permite devolver el control del puntero al
sistema operativo anfitrión.




      Pulsando Ctrl+Alt+f se alterna entre el modo de ventana y el modo a pantalla completa
En el caso de usar Damn Small Linux, no lo tendremos tan fácil, pero casi. Sólo se incluye la versión de
qemu para Windows, y el nombre del lanzador (un archivo BAT) varía bastante de una versión a otra, por lo
que habrá que leer el readme.txt para saber cuál ejecutar. Por supuesto, el uso de estos lanzadores no es
obligatorio; son sólo una ayuda para quien empiece, pero en cuanto veamos un poco más de este
programa, sabrás cómo usar en su lugar nuestra propia instalación de qemu.




                   Ejecución de Damn Small Linux en un PC virtual sobre Windows


Instalación y uso

La instalación no tiene mucho misterio; en mi caso, desde Ubuntu Dapper, sólo tengo que hacer:

# apt­get install qemu

(claro, esto es una instalacion básica; veremos que hay complementos que pueden requerir más
complicaciones). La instalación de este paquete y otros 3 más que se añaden como dependencias, requiere
descargar unos 4 MB (una vez instalado, ocupa el triple), así que incluso quienes tengáis una conexión por
modem podreis instalarlo sin agotar vuestra paciencia, y quienes tengais un equipo con poco espacio
disponible, no supone un gran sacrificio tener instalado este programa. Me parece recomendable tenerlo
siempre a mano, pues es muy útil para comprobar rápidamente si cierto disco que tengamos por ahí es
capaz de arrancar y cómo lo hace (si alguna vez tratas de elaborar tu propio disco arrancable, verás lo
maravilloso que es este programa para evitar tener que andar arrancando una y otra vez para probar el
dichoso disco).

Por supuesto, no es necesario hacer uso de apt, puedes usar el programa de instalación que prefieras o que
necesite tu sistema: synaptic, yum, urpmi... Si por alguna razón te fallan los repositorios o quieres estar a la
última, o conseguir las fuentes, puedes encontrar el paquete adecuado en la página de su autor:
http://fabrice.bellard.free.fr/qemu/ desde donde también podemos bajar complementos y algunas
imágenes de disco (mira en las secciones Donloads y Links).

Hay interfaces gráficas para manejar qemu, pero de momento voy a mostrar el manejo desde la línea de
órdenes y más adelante mencionaré algunas interfaces que pueden usarse para quien prefiera manejar el
programa con el ratón. Para ejecutar qemu, debemos pasarle una serie de parámetros; como mínimo el
“dispositivo” desde el que ha de arrancar la máquina virtual. Lo he puesto entre comillas porque puede ser
un dispositivo real, pero también puede ser una imagen de disco (como una imagen ISO de un CD-ROM o
una imagen de un disquete).

Por ejemplo, me acabo de bajar la distribución Austrumi y quiero ver qué tal es sin tener que grabarla a CD,
reiniciar el PC, etc. Con qemu es bien sencillo; sólo tengo que ejecutar:

$ qemu ­cdrom austrumi­1.6.5.iso

y al momento aparece una ventana conteniendo la máquina virtual:




Si en vez de tratarse de una imagen, quisiera arrancar un CD/DVD real, bastaría con cambiar el archivo
hacia el dispositivo que simboliza el lector de discos ópticos:

$ qemu ­cdrom /dev/hdc

Por defecto, el programa reserva 128 MB de memoria para la máquina virtual; esto puede ser excesivo o
demasiado poco, según nuestras necesidades, así que podemos asignar la cifra que queramos detrás de la
opción -m.

$ qemu ­cdrom /dev/hdc ­m 96

Para que nuestro PC virtual tenga disqueteras, usaremos las opciones -fda y -fdb. Por ejemplo, arrancaré
una imagen de disquete de FreeDOS (bajada de la página de qemu) y le doy acceso físico a la disquetera
con:

$ qemu ­fda odin1440.img ­fdb /dev/fd0

Si queremos usar discos duros o lector(es) de CDs usaremos las opciones -hda, -hdb, -hdc y -hdd para
indicarle los distintos dispositivos IDE con los que contará el PC virtual. Nota: no se pueden usar las
opciones -cdrom y -hdc al mismo tiempo (la opción -cdrom crea un lector virtual como maestro del canal
secundario, con lo que entra en conflicto con -hdc).

$ qemu ­hda imagen_de_disco_duro.img ­hdb /dev/cdrom ­hdc imagen_de_cd.iso ­hdd 
otra_imagen.bin
Opción de arranque
En los primeros ejemplos no se incluyó esta opción porque si sólo incluímos un dispositivo, arrancará con él.
Sin embargo, al incluir varios, quizá necesitemos indicarle específicamente con cuál arrancar; para ello
usaremos la opción -boot X, siendo X:
       a para disquete,
       d para CD-ROM y
       c para el disco duro.

Si no usamos la opción -boot, por defecto el PC usará el disco duro para arrancar. Podemos incluir esta
opción varias veces para que trate de iniciar desde otro dispositivo si falla el primero (empieza a probar por
el último boot añadido):

$  qemu ­fda odin1440.img ­cdrom ../LiveCDs/AUSTRUMI­1.6.5/austrumi­1.6.5.iso 
­m 32 ­hda imagen_disco.dsk ­boot d ­boot a

En todos los casos, si hay varios dispositivos del mismo tipo, tratará de arrancar desde el principal (ej: disco
primario maestro, disquetera primaria, etc.).

Como puede verse, la longitud de la línea a ejecutar va aumentando rápidamente según añadimos
dispositivos (¡y estamos viendo sólo las opciones más básicas!). Si no quieres estar tecleando todo esto
cada vez, puedes crear un simple shell script; copia la línea en un archivo de texto (ej: archivo.sh) con
permisos de ejecución (chmod +x archivo.sh) que comience con la siguiente línea:

#!/bin/sh
(debajo pega la orden a ejecutar)

Luego, cada vez que quieras ejecutar el sistema virtualizado no tendrás que hacer nada más que llamar al
script:

$ ./archivo.sh

Imágenes de discos
Las imágenes de discos que usamos para arrancar el PC virtual o para contener el sistema pueden haber
sido creadas por nosotros o haberlas conseguido de otro sitio (de la web, redes de intercambio entre pares,
etc). Hay muchas páginas que recopilan máquinas virtuales y una de las más recomendables es el proyecto
FreeOsZoo (http://www.oszoo.org/), donde se pueden encontrar bastantes imágenes de sistemas operativos
libres listos para ser ejecutados con qemu. Algunas de ellas incluso pueden ejecutarse en línea (aunque
este es un servicio bastante experimental y poco seguro), mediante un navegador con el plugin de Java o el
appletviewer.

A la hora de crear nuestras propias imágenes de disco, tenemos unas cuantas opciones. Una posibilidad es
hacer uso de la orden dd, la cual nos permite sacar una copia de un disco físico o crear una imagen a
nuestro gusto “copiando” el dispositivo /dev/zero. Por ejemplo:

$ dd if=/dev/zero of=imagen_disco count=2048 bs=512

Crea una imagen de 2048 bloques de 512 KB cada uno (o sea, un “disco” de 1 MB). En esa imagen
podremos crear un sistema de ficheros por medio de las órdenes mkfs* o se lo pasamos a la máquina virtual
directamente, para formatearlo desde el sistema operativo invitado.

Este tipo de imágenes es muy básico y para crear discos virtuales grandes, puede que nos interese otros
más avanzados, que permitan comprimir el disco y variar el tamaño del fichero real según necesitemos
ocupar más espacio. Sin embargo, este tipo básico merece tenerse en cuenta por dos razones: para
empezar, la comprensión de disco puede afectar al rendimiento, sobre todo si al ir variando de tamaño se va
fragmentando el fichero en cuestión. Otro motivo es que si necesitamos acceder desde el anfitrión a algún
archivo almacenado, no nos hará falta ejecutar qemu, conectar en red el sistema anfitrión y el invitado, etc.
Todo lo que tendríamos que hacer es montar el archivo usando un dispositivo loop como en el ejemplo:

$ mount ­o loop imagen_disco directorio_de_montaje/

A pesar de lo dicho, puede interesarnos usar otro tipo de discos; y con qemu, tenemos varios para elegir.
Una manera muy fácil de crear una imagen es:
$ qemu­img create imagen.img 3500M

Lo que crea el fichero imagen.img para usarlo como disco duro virtual de cerca de 3,5 GB. El fichero creado
es una imagen raw; es bastante similar al creado con dd, pero permite que al formatearlo con sistemas de
ficheros como ext2, ext3 o NTFS, sólo ocupe el tamaño de los archivos almacenados y no los 3500 MB al
completo. Para saber cuál es el tamaño real y del fichero, se usa la opción info de qemu-image, pues ls
puede devolver información erronea sobre estos ficheros:

$ qemu­img info imagen.img
image: imagen.img
file format: raw
virtual size: 33G (35651584000 bytes)
disk size: 0

Podemos especificar otros formatos de imagen añadiendo al final -f tipo_de_imagen, pudiendo usar, vmdk
(lo que permitiría usar el disco virtual en VMWare), qcow2 (que admite compresión zlib y cifrado AES) y
más formatos que puedes consultar ejecutado man qemu-img o en la documentación de qemu. También
podemos convertir ficheros de un formato a otro mediante la opción convert. Por ejemplo:

$ qemu­img convert ­f raw imagen.img ­O vmdk imagen.vmdk

En este caso, -f raw indica el formato del fichero de origen y -O vmdk el del que vamos a crear,
('imagen.vmdk').

El “disco virtual” también puede ser un disco físico; supongamos que tengo un problema de virus con otro
ordenador y quiero arrancar su sistema en una máquina virtual. Puedo conectar el disco en cuestión (por ej,
asociado a /dev/hdb) y arrancarlo así:

$ qemu ­hda /dev/hdb

Sin embargo, hacer esto puede tener sus riesgos si el disco también lo monta el sistema anfitrión. Al estar el
sistema montado a la vez por el anfitrión y el invitado, puede acabar corrompiéndose el sistema de ficheros.
Por lo tanto, es aconsejable montar los discos físicos con la opción -snapshot

$ qemu ­hda /dev/hdb ­snapshot

Lo cual indica a la máquina virtual que guarde los cambios realizados en un fichero temporal, y no en el
disco; si finalmente decidimos que queremos que los cambios se guarden en el disco, usaremos la orden
commit del modo monitor (ahora veremos lo que es) para ello.

Manipulando la máquina virtual
De momento, nos hemos limitado a ejecutar un sistema en una máquina virtual, pero no hemos visto cómo
manipular dicha máquina; ¿cómo podemos pausar su ejecución, salvar su estado, modificarla, etc? Muy
fácil: llamando al monitor. Esto lo podemos realizar de dos formas: cuando estemos en la ventana de la
máquina virtual, pulsando Ctrl+Alt+2 (Ctrl+Alt+1 para volver) o bien al ejecutar qemu, pasándole la opción
-monitor stdio. Normalmente, al ejecutar qemu la terminal desde la que lo hemos lanzado queda a la
espera de que termine este programa; con la opción mencionada, tras ejecutar la máquina virtual, aparecerá
la línea de órdenes del modo monitor. Ésta se reconoce por el prompt:

(qemu)

y nos permite, entre otras, ejecutar estas órdenes:

         stop: pausar la ejecución de la máquina virtual
         cont (o simplemente c): reanuda la ejecución
         eject dispositivo: expulsa un medio removible
         change dispositivo nuevo_dispositivo: cambia un medio removible por otro.
         savevm nombre_archivo: guarda el estado de la máquina virtual en el archivo nombrado.
         loadvm nombre_archivo: restaura el estado de la máquina virtual.
         help (o simplemente ?): listado de órdenes disponibles (hay muchas más que las mencionadas)
Se me acaba el espacio y aún no he tocado dos temas que me parecen importantes: el módulo acelerador
kqemu y las interfaces gráficas para Qemu. El primero suele estar disponible con los últimos paquetes, pero
no está de más comprobarlo. Puede mejorar MUCHO la velocidad del sistema virtual y si no lo tienes ya,
puedes bajarlo de la página de Qemu.

Interfaces gráficas para Qemu
En cuanto a las interfaces gráficas; hay muchas y aquí mencionaré sólo las más recomendables (en mi
opinión):

QTemu (http://qtemu.org): es un programa
multiplataforma muy sencillo de instalar y
ejecutar; el único problema que podríais tener con
su instalación son las dependencias: requiere las
librerías Qt 4.2 (el instalador para Windows ya las
trae).




QGui (http://perso.wanadoo.es/comike): es un
programa muy pequeño y que no necesita
instalación, por lo que podremos llevarlo con
nosotros en un disquete / disco USB. Sus
principales inconvenientes son que sólo dispone
de versión para Windows y que la versión de
qemu que incorpora es bastante antigua (lo
podemos arreglar facilmente, sustituyendo los
archivos por otros de una versión más nueva de
qemu). Por último, es más engorroso de manejar
que las otras interfaces que comento.
Qemu Manager (http://www.davereyn.co.uk): de nuevo, otro programa sólo disponible para Windows, pero
tampoco necesita instalación, por lo que podemos llevarlo con nosotros sin problemas (aunque este no cabe
en un disquete; ocupa unos 15 MB y más del doble al descomprimirlo).




Qemoon (http://ebellard.free.fr/qemoon/): programa multiplataforma y que no requiere instalación (aunque
debes tener Java 1.5 o superior para que funcione). Aún está en fase de desarrollo, pero si necesitas una
interfaz para realizar tareas simples con qemu, puede ser tu opción. Por desgracia, es bastante pesado,
aunque quizá su rendimiento mejore según vaya progresando.


Conclusión
Llego al final del artículo y sólo he llegado a tocar unos cuantos aspectos de este programa.No sé si habré
conseguido mi objetivo de comunicar la buena opción que es Qemu. Muchos usuarios quizá tengan la
impresión de que es el “primo pobre” de otros programas como VirtualBox o las distintas soluciones de
VMWare. Quizá en algunos casos sean más apropiadas las opciones que acabo de mencionar, pero para la
mayoría creo que qemu es la opción a elegir. ¿Por qué? Veamos: requiere muy pocos recursos de
hardware, después de tantos años de su aparición está más que probado, se puede introducir en un disco
USB sin problemas (al menos, la versión para Windows), lo que permite llevar nuestro PC Virtual a cualquier
lado y ejecutar el sistema operativo que queramos en un ordenador típico (que suele ser un PC con
Windows), con sólo enchufar el disco y sin siquiera tener que reiniciar. Es libre, al contrario que VMWare (lo
cual a muchos les puede dar igual, pero para otros es un dato a tener muy en cuenta). El programa por sí
mismo no tiene interfaz gráfica, pero si estamos dispuestos a teclear un poco, podremos ver que
precisamente esa interfaz de texto tiene una flexibilidad y potencia difícil de igualar por sus rivales – y si no
nos interesan más que las opciones más básicas, creo haber mostrado que son bastante sencillas. Quizá
algún usuario se sienta intimidado por las interfaces de texto. Desde aquí le animo a que pruebe este
programa, aunque sólo sea por ver sus opciones más simples. No creo que quede decepcionado.

Espero que os sea útil artículo sobre un programa tan interesante como Qemu. La verdad es que sólo se
han llegado a ver las opciones que a mi juicio son más importantes para poder beneficiarse de este
programa sin complicarse demasiado, pero éste tiene muchas, muchas posibilidades que no se han llegado
ni a mencionar. Quizá en un futuro pueda escribir otros artículos detallando más las posibilidades de Qemu.
Mientras tanto, si me quieres hacer llegar algún comentario sobre este artículo, puedes mandarme un correo
a danifp25@yahoo.es. También me puedes encontrar en la web, en mi blog danubuntu.wordpress.com,
donde comento noticias e información sobre software y cultura libres. ¡Nos leemos!

Más contenido relacionado

La actualidad más candente

Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilJosé Antonio Sandoval Acosta
 
Archivos batch
Archivos batchArchivos batch
Archivos batchDenisse C
 
Microprocesador
MicroprocesadorMicroprocesador
MicroprocesadorSuarezJhon
 
Manual de windows
Manual de windowsManual de windows
Manual de windowsLuxed Tevic
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosCarolina Cols
 
Tabla comparativa de Sistemas operativos móviles
Tabla comparativa de Sistemas operativos móvilesTabla comparativa de Sistemas operativos móviles
Tabla comparativa de Sistemas operativos móvileskpwalkin
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosCesar Prado
 
Mapa conceptual de sistemas operativos
Mapa conceptual de sistemas operativosMapa conceptual de sistemas operativos
Mapa conceptual de sistemas operativosroberto cruz velasquez
 
Metodología de desarrollo de software rad
 Metodología de desarrollo de software rad Metodología de desarrollo de software rad
Metodología de desarrollo de software radmarcosxm
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de softwaremonik1002
 
Team Software Process (TSP)
Team Software Process (TSP)Team Software Process (TSP)
Team Software Process (TSP)Juan Garcia
 
MANUAL DE PRACTICAS DE LINUX (Alberto Hdz)
MANUAL DE PRACTICAS DE LINUX (Alberto Hdz) MANUAL DE PRACTICAS DE LINUX (Alberto Hdz)
MANUAL DE PRACTICAS DE LINUX (Alberto Hdz) Alberto Hdz
 
Areas donde implementamos los sistemas distribuidos
Areas donde implementamos los sistemas distribuidosAreas donde implementamos los sistemas distribuidos
Areas donde implementamos los sistemas distribuidosOLy Jimenez
 

La actualidad más candente (20)

Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
 
Archivos batch
Archivos batchArchivos batch
Archivos batch
 
Microprocesador
MicroprocesadorMicroprocesador
Microprocesador
 
Manual de windows
Manual de windowsManual de windows
Manual de windows
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativos
 
Tabla comparativa de Sistemas operativos móviles
Tabla comparativa de Sistemas operativos móvilesTabla comparativa de Sistemas operativos móviles
Tabla comparativa de Sistemas operativos móviles
 
Ensayo de php
Ensayo de phpEnsayo de php
Ensayo de php
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
Mapa conceptual de sistemas operativos
Mapa conceptual de sistemas operativosMapa conceptual de sistemas operativos
Mapa conceptual de sistemas operativos
 
Metodología de desarrollo de software rad
 Metodología de desarrollo de software rad Metodología de desarrollo de software rad
Metodología de desarrollo de software rad
 
Introducción a CentOS 7
Introducción a CentOS 7Introducción a CentOS 7
Introducción a CentOS 7
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de software
 
Team Software Process (TSP)
Team Software Process (TSP)Team Software Process (TSP)
Team Software Process (TSP)
 
Unidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatasUnidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatas
 
Csv y xml
Csv y xmlCsv y xml
Csv y xml
 
MANUAL DE PRACTICAS DE LINUX (Alberto Hdz)
MANUAL DE PRACTICAS DE LINUX (Alberto Hdz) MANUAL DE PRACTICAS DE LINUX (Alberto Hdz)
MANUAL DE PRACTICAS DE LINUX (Alberto Hdz)
 
Modelo de referencia
Modelo de referenciaModelo de referencia
Modelo de referencia
 
Areas donde implementamos los sistemas distribuidos
Areas donde implementamos los sistemas distribuidosAreas donde implementamos los sistemas distribuidos
Areas donde implementamos los sistemas distribuidos
 

Similar a Principales características de QEMU

Como Instalar Ubuntu
Como Instalar UbuntuComo Instalar Ubuntu
Como Instalar UbuntuQuike Peralta
 
Instalacion del Ubuntu Peralta_Ramirez
Instalacion del Ubuntu Peralta_RamirezInstalacion del Ubuntu Peralta_Ramirez
Instalacion del Ubuntu Peralta_RamirezAdrián Poveda
 
Maquinas virtuales
Maquinas  virtualesMaquinas  virtuales
Maquinas virtualesfabi_1220
 
Requerimiento de windows y linux
Requerimiento de windows y linuxRequerimiento de windows y linux
Requerimiento de windows y linuxlizbeth
 
Maquinas virtiuales
Maquinas virtiualesMaquinas virtiuales
Maquinas virtiualesyacilaabc
 
Maquinas virtiuales
Maquinas virtiualesMaquinas virtiuales
Maquinas virtiualesyacilaabc
 
97132962-instalacion-de-open meetings-en-squeeze
 97132962-instalacion-de-open meetings-en-squeeze 97132962-instalacion-de-open meetings-en-squeeze
97132962-instalacion-de-open meetings-en-squeezexavazquez
 
Linux - Programas de utilería linux
Linux - Programas de utilería linuxLinux - Programas de utilería linux
Linux - Programas de utilería linuxSergio Sanchez
 
Instalacion ubuntu - VirtualBox
Instalacion ubuntu - VirtualBoxInstalacion ubuntu - VirtualBox
Instalacion ubuntu - VirtualBoxJose Diaz Silva
 
Trabajo cristina y carla
Trabajo cristina y carlaTrabajo cristina y carla
Trabajo cristina y carlacdctaller
 
COMO INSTALAR UBUNTU EN VIRTUAL BOX
COMO INSTALAR UBUNTU EN VIRTUAL BOXCOMO INSTALAR UBUNTU EN VIRTUAL BOX
COMO INSTALAR UBUNTU EN VIRTUAL BOXBrian Lopez
 
Tutorial DEBIAN JOVANNY GONZÁLEZ
Tutorial DEBIAN JOVANNY GONZÁLEZTutorial DEBIAN JOVANNY GONZÁLEZ
Tutorial DEBIAN JOVANNY GONZÁLEZooooooo
 

Similar a Principales características de QEMU (20)

Como Instalar Ubuntu
Como Instalar UbuntuComo Instalar Ubuntu
Como Instalar Ubuntu
 
Instalacion del Ubuntu Peralta_Ramirez
Instalacion del Ubuntu Peralta_RamirezInstalacion del Ubuntu Peralta_Ramirez
Instalacion del Ubuntu Peralta_Ramirez
 
Instalacion de Ubuntu
Instalacion de UbuntuInstalacion de Ubuntu
Instalacion de Ubuntu
 
Debian
DebianDebian
Debian
 
Maquinas virtuales
Maquinas  virtualesMaquinas  virtuales
Maquinas virtuales
 
Requerimiento de windows y linux
Requerimiento de windows y linuxRequerimiento de windows y linux
Requerimiento de windows y linux
 
Instalación Knoppix
Instalación KnoppixInstalación Knoppix
Instalación Knoppix
 
Tuto y claves de fedora
Tuto y claves de fedoraTuto y claves de fedora
Tuto y claves de fedora
 
Ubuntu
UbuntuUbuntu
Ubuntu
 
Maquinas virtiuales
Maquinas virtiualesMaquinas virtiuales
Maquinas virtiuales
 
Maquinas virtiuales
Maquinas virtiualesMaquinas virtiuales
Maquinas virtiuales
 
97132962-instalacion-de-open meetings-en-squeeze
 97132962-instalacion-de-open meetings-en-squeeze 97132962-instalacion-de-open meetings-en-squeeze
97132962-instalacion-de-open meetings-en-squeeze
 
Linux - Programas de utilería linux
Linux - Programas de utilería linuxLinux - Programas de utilería linux
Linux - Programas de utilería linux
 
Instalacion ubuntu - VirtualBox
Instalacion ubuntu - VirtualBoxInstalacion ubuntu - VirtualBox
Instalacion ubuntu - VirtualBox
 
Faces de un sistema operativo
Faces de un sistema operativoFaces de un sistema operativo
Faces de un sistema operativo
 
Trabajo cristina y carla
Trabajo cristina y carlaTrabajo cristina y carla
Trabajo cristina y carla
 
Instalacion De Ubuntu
Instalacion De UbuntuInstalacion De Ubuntu
Instalacion De Ubuntu
 
COMO INSTALAR UBUNTU EN VIRTUAL BOX
COMO INSTALAR UBUNTU EN VIRTUAL BOXCOMO INSTALAR UBUNTU EN VIRTUAL BOX
COMO INSTALAR UBUNTU EN VIRTUAL BOX
 
Tutorial DEBIAN JOVANNY GONZÁLEZ
Tutorial DEBIAN JOVANNY GONZÁLEZTutorial DEBIAN JOVANNY GONZÁLEZ
Tutorial DEBIAN JOVANNY GONZÁLEZ
 
Clase9 (consola linux)
Clase9 (consola linux)Clase9 (consola linux)
Clase9 (consola linux)
 

Más de degarden

MICHELIN_-AGILIS-CrossClimate_GB
MICHELIN_-AGILIS-CrossClimate_GBMICHELIN_-AGILIS-CrossClimate_GB
MICHELIN_-AGILIS-CrossClimate_GBdegarden
 
ABC 2021 Guia del vino
ABC 2021 Guia del vinoABC 2021 Guia del vino
ABC 2021 Guia del vinodegarden
 
Audi-A3-Sportback-catalogo-es-1146
Audi-A3-Sportback-catalogo-es-1146Audi-A3-Sportback-catalogo-es-1146
Audi-A3-Sportback-catalogo-es-1146degarden
 
Why btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of FilesystemsWhy btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of Filesystemsdegarden
 
Toshiba X300 salessheet english-web_r2
Toshiba X300 salessheet english-web_r2Toshiba X300 salessheet english-web_r2
Toshiba X300 salessheet english-web_r2degarden
 
Toshiba N300 salessheet english-web_r2
Toshiba N300 salessheet english-web_r2Toshiba N300 salessheet english-web_r2
Toshiba N300 salessheet english-web_r2degarden
 
The 20 maps that will help you understand Spain - The Local
The 20 maps that will help you understand Spain - The LocalThe 20 maps that will help you understand Spain - The Local
The 20 maps that will help you understand Spain - The Localdegarden
 
Toshiba X300 Performance Internal Hard Drive
Toshiba X300 Performance Internal Hard DriveToshiba X300 Performance Internal Hard Drive
Toshiba X300 Performance Internal Hard Drivedegarden
 
Sper Food Safety Thermometer with IR
Sper Food Safety Thermometer with IRSper Food Safety Thermometer with IR
Sper Food Safety Thermometer with IRdegarden
 
Plarad Torque and tension systems
Plarad Torque and tension systemsPlarad Torque and tension systems
Plarad Torque and tension systemsdegarden
 
Plarad Hydraulikaggregate Hydraulic Power Packs
Plarad Hydraulikaggregate Hydraulic Power PacksPlarad Hydraulikaggregate Hydraulic Power Packs
Plarad Hydraulikaggregate Hydraulic Power Packsdegarden
 
Hands-Free Profile 1.7
Hands-Free Profile 1.7Hands-Free Profile 1.7
Hands-Free Profile 1.7degarden
 
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...degarden
 
Reverse Engineering BLE Devices Documentation
Reverse Engineering BLE Devices DocumentationReverse Engineering BLE Devices Documentation
Reverse Engineering BLE Devices Documentationdegarden
 
pWeb: A P2P Web Hosting Framework
pWeb: A P2P Web Hosting FrameworkpWeb: A P2P Web Hosting Framework
pWeb: A P2P Web Hosting Frameworkdegarden
 
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android ¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android degarden
 
Bose NC 700 - User manual English
Bose NC 700 - User manual EnglishBose NC 700 - User manual English
Bose NC 700 - User manual Englishdegarden
 
MICHELIN CrossCLIMATE+
MICHELIN CrossCLIMATE+MICHELIN CrossCLIMATE+
MICHELIN CrossCLIMATE+degarden
 
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017degarden
 

Más de degarden (20)

MICHELIN_-AGILIS-CrossClimate_GB
MICHELIN_-AGILIS-CrossClimate_GBMICHELIN_-AGILIS-CrossClimate_GB
MICHELIN_-AGILIS-CrossClimate_GB
 
ABC 2021 Guia del vino
ABC 2021 Guia del vinoABC 2021 Guia del vino
ABC 2021 Guia del vino
 
Audi-A3-Sportback-catalogo-es-1146
Audi-A3-Sportback-catalogo-es-1146Audi-A3-Sportback-catalogo-es-1146
Audi-A3-Sportback-catalogo-es-1146
 
Why btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of FilesystemsWhy btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of Filesystems
 
Toshiba X300 salessheet english-web_r2
Toshiba X300 salessheet english-web_r2Toshiba X300 salessheet english-web_r2
Toshiba X300 salessheet english-web_r2
 
Toshiba N300 salessheet english-web_r2
Toshiba N300 salessheet english-web_r2Toshiba N300 salessheet english-web_r2
Toshiba N300 salessheet english-web_r2
 
The 20 maps that will help you understand Spain - The Local
The 20 maps that will help you understand Spain - The LocalThe 20 maps that will help you understand Spain - The Local
The 20 maps that will help you understand Spain - The Local
 
Toshiba X300 Performance Internal Hard Drive
Toshiba X300 Performance Internal Hard DriveToshiba X300 Performance Internal Hard Drive
Toshiba X300 Performance Internal Hard Drive
 
Bronces
BroncesBronces
Bronces
 
Sper Food Safety Thermometer with IR
Sper Food Safety Thermometer with IRSper Food Safety Thermometer with IR
Sper Food Safety Thermometer with IR
 
Plarad Torque and tension systems
Plarad Torque and tension systemsPlarad Torque and tension systems
Plarad Torque and tension systems
 
Plarad Hydraulikaggregate Hydraulic Power Packs
Plarad Hydraulikaggregate Hydraulic Power PacksPlarad Hydraulikaggregate Hydraulic Power Packs
Plarad Hydraulikaggregate Hydraulic Power Packs
 
Hands-Free Profile 1.7
Hands-Free Profile 1.7Hands-Free Profile 1.7
Hands-Free Profile 1.7
 
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
 
Reverse Engineering BLE Devices Documentation
Reverse Engineering BLE Devices DocumentationReverse Engineering BLE Devices Documentation
Reverse Engineering BLE Devices Documentation
 
pWeb: A P2P Web Hosting Framework
pWeb: A P2P Web Hosting FrameworkpWeb: A P2P Web Hosting Framework
pWeb: A P2P Web Hosting Framework
 
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android ¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
 
Bose NC 700 - User manual English
Bose NC 700 - User manual EnglishBose NC 700 - User manual English
Bose NC 700 - User manual English
 
MICHELIN CrossCLIMATE+
MICHELIN CrossCLIMATE+MICHELIN CrossCLIMATE+
MICHELIN CrossCLIMATE+
 
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
 

Último

TENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdfTENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdfJoseAlejandroPerezBa
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 
La electricidad y la electrónica saray 10-2
La electricidad y la electrónica saray 10-2La electricidad y la electrónica saray 10-2
La electricidad y la electrónica saray 10-2SariGarcs
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docxBLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docxhellendiaz12
 
Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024anasofiarodriguezcru
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
LA ELECTRICIDAD Y LA ELECTRÓNICA TRABAJO EN GRUPO
LA ELECTRICIDAD Y LA ELECTRÓNICA TRABAJO EN GRUPOLA ELECTRICIDAD Y LA ELECTRÓNICA TRABAJO EN GRUPO
LA ELECTRICIDAD Y LA ELECTRÓNICA TRABAJO EN GRUPOv16959670
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
.Informe electricidad y electronica.docx
.Informe electricidad y electronica.docx.Informe electricidad y electronica.docx
.Informe electricidad y electronica.docxCamila Ortiz
 
tecno 2024.pdf sara mineiro palacio 10-6
tecno 2024.pdf sara mineiro palacio 10-6tecno 2024.pdf sara mineiro palacio 10-6
tecno 2024.pdf sara mineiro palacio 10-6SaraMineiropalacio
 
Análisis de Artefactos Tecnologicos .docx
Análisis de Artefactos Tecnologicos .docxAnálisis de Artefactos Tecnologicos .docx
Análisis de Artefactos Tecnologicos .docxmajovaru19
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Trabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjskTrabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjskbydaniela5
 
TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888ElianaValencia28
 
Trabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamentalTrabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamentalEmanuelCastro64
 
Tecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaTecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaElizabethLpezSoto
 
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdftecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdflauralizcano0319
 

Último (20)

TENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdfTENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdf
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 
La electricidad y la electrónica saray 10-2
La electricidad y la electrónica saray 10-2La electricidad y la electrónica saray 10-2
La electricidad y la electrónica saray 10-2
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docxBLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
 
Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
LA ELECTRICIDAD Y LA ELECTRÓNICA TRABAJO EN GRUPO
LA ELECTRICIDAD Y LA ELECTRÓNICA TRABAJO EN GRUPOLA ELECTRICIDAD Y LA ELECTRÓNICA TRABAJO EN GRUPO
LA ELECTRICIDAD Y LA ELECTRÓNICA TRABAJO EN GRUPO
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
.Informe electricidad y electronica.docx
.Informe electricidad y electronica.docx.Informe electricidad y electronica.docx
.Informe electricidad y electronica.docx
 
tecno 2024.pdf sara mineiro palacio 10-6
tecno 2024.pdf sara mineiro palacio 10-6tecno 2024.pdf sara mineiro palacio 10-6
tecno 2024.pdf sara mineiro palacio 10-6
 
Análisis de Artefactos Tecnologicos .docx
Análisis de Artefactos Tecnologicos .docxAnálisis de Artefactos Tecnologicos .docx
Análisis de Artefactos Tecnologicos .docx
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Trabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjskTrabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjsk
 
TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888
 
Trabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamentalTrabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamental
 
Tecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaTecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestría
 
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdftecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
 

Principales características de QEMU

  • 1. Si te acabas de incorporar al mundo de la virtualización de sistemas operativos, seguramente te suenen nombres como vmware o virtual box, pero hay hay muchos más programas, entre ellos qemu, que suele quedar olvidado aunque parte del código de software de virtualización como Xen, VirtualBox o KVM (Kernel-based Virtual Machine) para Linux procede de este proyecto. Quizá sea porque tiene fama de “complicado” por ser una aplicación que se maneja básicamente mediante la consola, pero yo no estoy de acuerdo con que sea tan difícil (es más, con las versiones actuales si todo lo que queremos hacer es un uso básico, me parece el MÁS sencillo (repito, es mi opinión)). Este artículo pretende demostrar que puede ser una buena opción a tener en cuenta. Qemu es un programa gratuito y multiplataforma (disponible para Windows, Solaris, Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, ZETA y BeOS, así que no tienes excusa para no usarlo :-P ) que nos permite tener un ordenador virtual ejecutándose en una ventana dentro de nuestro sistema operativo (entre otras cosas, pues también puede ejecutar programas compilados para un tipo de CPU en otro tipo de CPU – por ejemplo: ejecutar binarios para PowerPC en nuestro PC x86). Es muy bueno para hacer pruebas, pues podemos salvar el estado de la máquina virtual sin dificultad, y restaurarlo en cuanto queramos. Sistema Linux ejecutándose en un PC virtual (que a su vez se ejecuta en otra instalación de Linux) Comenzando a usar Qemu Si tienes un sistema típico, es difícil que tengas problemas con la instalación. Aún así, ni siquiera tienes que "complicarte" con ello: puedes usar Qemu sin siquiera haberlo instalado. Hay muchas páginas que ofrecen paquetes comprimidos en los que se incluye una versión portátil de qemu + un sistema operativo listo para usar. Voy a destacar 2 de ellas: Qemu-Puppy (http://www.erikveen.dds.nl/qemupuppy) de unos 86 MB y Damn Small Linux, de 50 (http://www.damnsmalllinux.org), cuya versión Embedded se distribuye con qemu. Ambos se pueden descargar mediante bittorrent gracias a http://www.linuxtracker.org, o por medios más tradicionales (como FTP o HTTP), desde distintos mirrors que pueden consultarse en las páginas de los respectivos proyectos. Para comenzar, recomiendo Qemu-Puppy. Una vez descargado el paquete (ej:
  • 2. qemu-puppy-2.17-1.tar.gz), lo desempaquetamos donde vayamos a usarlo (un buen lugar es un pendrive USB, para poder transportar fácilmente nuestro PC Virtual a cualquier parte) y ejecutamos el archivo puppy.exe o puppy.sh y obtendremos una ventana con una distribución ligera de Linux funcionando dentro. Si queremos tener el sistema en modo de pantalla completa, lo tendremos al pulsar la combinación de teclas Ctrl + Alt + f (vuelve a pulsarlas y estarás de nuevo en modo ventana). Otra combinación que debemos tener siempre presente es Ctrl + Alt, pues al pulsar con el ratón en la ventana del sistema emulado, el puntero queda “atrapado” dentro. Esta combinación permite devolver el control del puntero al sistema operativo anfitrión. Pulsando Ctrl+Alt+f se alterna entre el modo de ventana y el modo a pantalla completa En el caso de usar Damn Small Linux, no lo tendremos tan fácil, pero casi. Sólo se incluye la versión de qemu para Windows, y el nombre del lanzador (un archivo BAT) varía bastante de una versión a otra, por lo
  • 3. que habrá que leer el readme.txt para saber cuál ejecutar. Por supuesto, el uso de estos lanzadores no es obligatorio; son sólo una ayuda para quien empiece, pero en cuanto veamos un poco más de este programa, sabrás cómo usar en su lugar nuestra propia instalación de qemu. Ejecución de Damn Small Linux en un PC virtual sobre Windows Instalación y uso La instalación no tiene mucho misterio; en mi caso, desde Ubuntu Dapper, sólo tengo que hacer: # apt­get install qemu (claro, esto es una instalacion básica; veremos que hay complementos que pueden requerir más complicaciones). La instalación de este paquete y otros 3 más que se añaden como dependencias, requiere descargar unos 4 MB (una vez instalado, ocupa el triple), así que incluso quienes tengáis una conexión por modem podreis instalarlo sin agotar vuestra paciencia, y quienes tengais un equipo con poco espacio disponible, no supone un gran sacrificio tener instalado este programa. Me parece recomendable tenerlo siempre a mano, pues es muy útil para comprobar rápidamente si cierto disco que tengamos por ahí es capaz de arrancar y cómo lo hace (si alguna vez tratas de elaborar tu propio disco arrancable, verás lo maravilloso que es este programa para evitar tener que andar arrancando una y otra vez para probar el dichoso disco). Por supuesto, no es necesario hacer uso de apt, puedes usar el programa de instalación que prefieras o que necesite tu sistema: synaptic, yum, urpmi... Si por alguna razón te fallan los repositorios o quieres estar a la última, o conseguir las fuentes, puedes encontrar el paquete adecuado en la página de su autor: http://fabrice.bellard.free.fr/qemu/ desde donde también podemos bajar complementos y algunas imágenes de disco (mira en las secciones Donloads y Links). Hay interfaces gráficas para manejar qemu, pero de momento voy a mostrar el manejo desde la línea de órdenes y más adelante mencionaré algunas interfaces que pueden usarse para quien prefiera manejar el programa con el ratón. Para ejecutar qemu, debemos pasarle una serie de parámetros; como mínimo el “dispositivo” desde el que ha de arrancar la máquina virtual. Lo he puesto entre comillas porque puede ser un dispositivo real, pero también puede ser una imagen de disco (como una imagen ISO de un CD-ROM o una imagen de un disquete). Por ejemplo, me acabo de bajar la distribución Austrumi y quiero ver qué tal es sin tener que grabarla a CD,
  • 4. reiniciar el PC, etc. Con qemu es bien sencillo; sólo tengo que ejecutar: $ qemu ­cdrom austrumi­1.6.5.iso y al momento aparece una ventana conteniendo la máquina virtual: Si en vez de tratarse de una imagen, quisiera arrancar un CD/DVD real, bastaría con cambiar el archivo hacia el dispositivo que simboliza el lector de discos ópticos: $ qemu ­cdrom /dev/hdc Por defecto, el programa reserva 128 MB de memoria para la máquina virtual; esto puede ser excesivo o demasiado poco, según nuestras necesidades, así que podemos asignar la cifra que queramos detrás de la opción -m. $ qemu ­cdrom /dev/hdc ­m 96 Para que nuestro PC virtual tenga disqueteras, usaremos las opciones -fda y -fdb. Por ejemplo, arrancaré una imagen de disquete de FreeDOS (bajada de la página de qemu) y le doy acceso físico a la disquetera con: $ qemu ­fda odin1440.img ­fdb /dev/fd0 Si queremos usar discos duros o lector(es) de CDs usaremos las opciones -hda, -hdb, -hdc y -hdd para indicarle los distintos dispositivos IDE con los que contará el PC virtual. Nota: no se pueden usar las opciones -cdrom y -hdc al mismo tiempo (la opción -cdrom crea un lector virtual como maestro del canal secundario, con lo que entra en conflicto con -hdc). $ qemu ­hda imagen_de_disco_duro.img ­hdb /dev/cdrom ­hdc imagen_de_cd.iso ­hdd  otra_imagen.bin
  • 5. Opción de arranque En los primeros ejemplos no se incluyó esta opción porque si sólo incluímos un dispositivo, arrancará con él. Sin embargo, al incluir varios, quizá necesitemos indicarle específicamente con cuál arrancar; para ello usaremos la opción -boot X, siendo X: a para disquete, d para CD-ROM y c para el disco duro. Si no usamos la opción -boot, por defecto el PC usará el disco duro para arrancar. Podemos incluir esta opción varias veces para que trate de iniciar desde otro dispositivo si falla el primero (empieza a probar por el último boot añadido): $  qemu ­fda odin1440.img ­cdrom ../LiveCDs/AUSTRUMI­1.6.5/austrumi­1.6.5.iso  ­m 32 ­hda imagen_disco.dsk ­boot d ­boot a En todos los casos, si hay varios dispositivos del mismo tipo, tratará de arrancar desde el principal (ej: disco primario maestro, disquetera primaria, etc.). Como puede verse, la longitud de la línea a ejecutar va aumentando rápidamente según añadimos dispositivos (¡y estamos viendo sólo las opciones más básicas!). Si no quieres estar tecleando todo esto cada vez, puedes crear un simple shell script; copia la línea en un archivo de texto (ej: archivo.sh) con permisos de ejecución (chmod +x archivo.sh) que comience con la siguiente línea: #!/bin/sh (debajo pega la orden a ejecutar) Luego, cada vez que quieras ejecutar el sistema virtualizado no tendrás que hacer nada más que llamar al script: $ ./archivo.sh Imágenes de discos Las imágenes de discos que usamos para arrancar el PC virtual o para contener el sistema pueden haber sido creadas por nosotros o haberlas conseguido de otro sitio (de la web, redes de intercambio entre pares, etc). Hay muchas páginas que recopilan máquinas virtuales y una de las más recomendables es el proyecto FreeOsZoo (http://www.oszoo.org/), donde se pueden encontrar bastantes imágenes de sistemas operativos libres listos para ser ejecutados con qemu. Algunas de ellas incluso pueden ejecutarse en línea (aunque este es un servicio bastante experimental y poco seguro), mediante un navegador con el plugin de Java o el appletviewer. A la hora de crear nuestras propias imágenes de disco, tenemos unas cuantas opciones. Una posibilidad es hacer uso de la orden dd, la cual nos permite sacar una copia de un disco físico o crear una imagen a nuestro gusto “copiando” el dispositivo /dev/zero. Por ejemplo: $ dd if=/dev/zero of=imagen_disco count=2048 bs=512 Crea una imagen de 2048 bloques de 512 KB cada uno (o sea, un “disco” de 1 MB). En esa imagen podremos crear un sistema de ficheros por medio de las órdenes mkfs* o se lo pasamos a la máquina virtual directamente, para formatearlo desde el sistema operativo invitado. Este tipo de imágenes es muy básico y para crear discos virtuales grandes, puede que nos interese otros más avanzados, que permitan comprimir el disco y variar el tamaño del fichero real según necesitemos ocupar más espacio. Sin embargo, este tipo básico merece tenerse en cuenta por dos razones: para empezar, la comprensión de disco puede afectar al rendimiento, sobre todo si al ir variando de tamaño se va fragmentando el fichero en cuestión. Otro motivo es que si necesitamos acceder desde el anfitrión a algún archivo almacenado, no nos hará falta ejecutar qemu, conectar en red el sistema anfitrión y el invitado, etc. Todo lo que tendríamos que hacer es montar el archivo usando un dispositivo loop como en el ejemplo: $ mount ­o loop imagen_disco directorio_de_montaje/ A pesar de lo dicho, puede interesarnos usar otro tipo de discos; y con qemu, tenemos varios para elegir. Una manera muy fácil de crear una imagen es:
  • 6. $ qemu­img create imagen.img 3500M Lo que crea el fichero imagen.img para usarlo como disco duro virtual de cerca de 3,5 GB. El fichero creado es una imagen raw; es bastante similar al creado con dd, pero permite que al formatearlo con sistemas de ficheros como ext2, ext3 o NTFS, sólo ocupe el tamaño de los archivos almacenados y no los 3500 MB al completo. Para saber cuál es el tamaño real y del fichero, se usa la opción info de qemu-image, pues ls puede devolver información erronea sobre estos ficheros: $ qemu­img info imagen.img image: imagen.img file format: raw virtual size: 33G (35651584000 bytes) disk size: 0 Podemos especificar otros formatos de imagen añadiendo al final -f tipo_de_imagen, pudiendo usar, vmdk (lo que permitiría usar el disco virtual en VMWare), qcow2 (que admite compresión zlib y cifrado AES) y más formatos que puedes consultar ejecutado man qemu-img o en la documentación de qemu. También podemos convertir ficheros de un formato a otro mediante la opción convert. Por ejemplo: $ qemu­img convert ­f raw imagen.img ­O vmdk imagen.vmdk En este caso, -f raw indica el formato del fichero de origen y -O vmdk el del que vamos a crear, ('imagen.vmdk'). El “disco virtual” también puede ser un disco físico; supongamos que tengo un problema de virus con otro ordenador y quiero arrancar su sistema en una máquina virtual. Puedo conectar el disco en cuestión (por ej, asociado a /dev/hdb) y arrancarlo así: $ qemu ­hda /dev/hdb Sin embargo, hacer esto puede tener sus riesgos si el disco también lo monta el sistema anfitrión. Al estar el sistema montado a la vez por el anfitrión y el invitado, puede acabar corrompiéndose el sistema de ficheros. Por lo tanto, es aconsejable montar los discos físicos con la opción -snapshot $ qemu ­hda /dev/hdb ­snapshot Lo cual indica a la máquina virtual que guarde los cambios realizados en un fichero temporal, y no en el disco; si finalmente decidimos que queremos que los cambios se guarden en el disco, usaremos la orden commit del modo monitor (ahora veremos lo que es) para ello. Manipulando la máquina virtual De momento, nos hemos limitado a ejecutar un sistema en una máquina virtual, pero no hemos visto cómo manipular dicha máquina; ¿cómo podemos pausar su ejecución, salvar su estado, modificarla, etc? Muy fácil: llamando al monitor. Esto lo podemos realizar de dos formas: cuando estemos en la ventana de la máquina virtual, pulsando Ctrl+Alt+2 (Ctrl+Alt+1 para volver) o bien al ejecutar qemu, pasándole la opción -monitor stdio. Normalmente, al ejecutar qemu la terminal desde la que lo hemos lanzado queda a la espera de que termine este programa; con la opción mencionada, tras ejecutar la máquina virtual, aparecerá la línea de órdenes del modo monitor. Ésta se reconoce por el prompt: (qemu) y nos permite, entre otras, ejecutar estas órdenes: stop: pausar la ejecución de la máquina virtual cont (o simplemente c): reanuda la ejecución eject dispositivo: expulsa un medio removible change dispositivo nuevo_dispositivo: cambia un medio removible por otro. savevm nombre_archivo: guarda el estado de la máquina virtual en el archivo nombrado. loadvm nombre_archivo: restaura el estado de la máquina virtual. help (o simplemente ?): listado de órdenes disponibles (hay muchas más que las mencionadas)
  • 7. Se me acaba el espacio y aún no he tocado dos temas que me parecen importantes: el módulo acelerador kqemu y las interfaces gráficas para Qemu. El primero suele estar disponible con los últimos paquetes, pero no está de más comprobarlo. Puede mejorar MUCHO la velocidad del sistema virtual y si no lo tienes ya, puedes bajarlo de la página de Qemu. Interfaces gráficas para Qemu En cuanto a las interfaces gráficas; hay muchas y aquí mencionaré sólo las más recomendables (en mi opinión): QTemu (http://qtemu.org): es un programa multiplataforma muy sencillo de instalar y ejecutar; el único problema que podríais tener con su instalación son las dependencias: requiere las librerías Qt 4.2 (el instalador para Windows ya las trae). QGui (http://perso.wanadoo.es/comike): es un programa muy pequeño y que no necesita instalación, por lo que podremos llevarlo con nosotros en un disquete / disco USB. Sus principales inconvenientes son que sólo dispone de versión para Windows y que la versión de qemu que incorpora es bastante antigua (lo podemos arreglar facilmente, sustituyendo los archivos por otros de una versión más nueva de qemu). Por último, es más engorroso de manejar que las otras interfaces que comento.
  • 8. Qemu Manager (http://www.davereyn.co.uk): de nuevo, otro programa sólo disponible para Windows, pero tampoco necesita instalación, por lo que podemos llevarlo con nosotros sin problemas (aunque este no cabe en un disquete; ocupa unos 15 MB y más del doble al descomprimirlo). Qemoon (http://ebellard.free.fr/qemoon/): programa multiplataforma y que no requiere instalación (aunque debes tener Java 1.5 o superior para que funcione). Aún está en fase de desarrollo, pero si necesitas una interfaz para realizar tareas simples con qemu, puede ser tu opción. Por desgracia, es bastante pesado, aunque quizá su rendimiento mejore según vaya progresando. Conclusión Llego al final del artículo y sólo he llegado a tocar unos cuantos aspectos de este programa.No sé si habré conseguido mi objetivo de comunicar la buena opción que es Qemu. Muchos usuarios quizá tengan la impresión de que es el “primo pobre” de otros programas como VirtualBox o las distintas soluciones de VMWare. Quizá en algunos casos sean más apropiadas las opciones que acabo de mencionar, pero para la mayoría creo que qemu es la opción a elegir. ¿Por qué? Veamos: requiere muy pocos recursos de hardware, después de tantos años de su aparición está más que probado, se puede introducir en un disco USB sin problemas (al menos, la versión para Windows), lo que permite llevar nuestro PC Virtual a cualquier lado y ejecutar el sistema operativo que queramos en un ordenador típico (que suele ser un PC con Windows), con sólo enchufar el disco y sin siquiera tener que reiniciar. Es libre, al contrario que VMWare (lo cual a muchos les puede dar igual, pero para otros es un dato a tener muy en cuenta). El programa por sí mismo no tiene interfaz gráfica, pero si estamos dispuestos a teclear un poco, podremos ver que precisamente esa interfaz de texto tiene una flexibilidad y potencia difícil de igualar por sus rivales – y si no nos interesan más que las opciones más básicas, creo haber mostrado que son bastante sencillas. Quizá algún usuario se sienta intimidado por las interfaces de texto. Desde aquí le animo a que pruebe este programa, aunque sólo sea por ver sus opciones más simples. No creo que quede decepcionado. Espero que os sea útil artículo sobre un programa tan interesante como Qemu. La verdad es que sólo se han llegado a ver las opciones que a mi juicio son más importantes para poder beneficiarse de este programa sin complicarse demasiado, pero éste tiene muchas, muchas posibilidades que no se han llegado
  • 9. ni a mencionar. Quizá en un futuro pueda escribir otros artículos detallando más las posibilidades de Qemu. Mientras tanto, si me quieres hacer llegar algún comentario sobre este artículo, puedes mandarme un correo a danifp25@yahoo.es. También me puedes encontrar en la web, en mi blog danubuntu.wordpress.com, donde comento noticias e información sobre software y cultura libres. ¡Nos leemos!