jueves, 22 de noviembre de 2007

The Future Is Open II

El título de éste blog viene, como dije alguna vez de una campaña publicitaria de IBM centrada en Linux. IBM siempre ha aportado bastante al software libre y los spots de ésta campaña recogen muy bien los valores del Software Libre. El primer spot lo puedes ver aquí.

El título es Shake Up The World: ¡Cambia el mundo! ¡Reestructura el mundo!. Se ve un vídeo de Mohamed Ali diciendo éstas palabras.


miércoles, 21 de noviembre de 2007

Compilar

Partimos de que los programas se programan en un lenguaje de programación {valga la {valga la redundancia}}. Un lenguaje de programación es un lenguaje que no entiende el hardware pero sí el hombre, y para pasarlo a lenguaje máquina (binario) se ha de compilar. Todas las aplicaciones se encuentran en lenguaje binario. Hay archivos que se pueden "ejecutar" sin estar en binario, como son los scripts (en java, html, awk, bash...) éstos dos últimos lenguajes son para la consola.

Antes de nada: Ubuntu no instala por defecto los compiladores (metidos en el paquete build-essential), así que toca hacer un
$ sudo apt-get install build-essential

Si queremos instalar un programa del que tenemos su código fuente deberemos compilarlo. Suelen venir en archivos comprimidos: zip, tar.gz, tar.bz2, tgz... y habrá que descomprimirlos primero ya sea gráficamente o desde consola.

Muchos programas tienen un archivo de ayuda readme o install que te ayudará a seguir los pasos correctos. Por defecto, los programas tienen un script llamado ./configure ; a continuación hay que darle las órdenes make y make install (como root), que se encargan de compilar e instalar. Con la orden ./configure nos avisará si tenemos todas las librerías y programas correctos, y si no habrá que descargarlas via synaptic.

Resumiendo (por consola):
$ sudo apt-get install build-essential //Esto sólo se hará la primera vez
$ tar xvzf archivo.tar.gz //Descomprime a la carpeta archivo
$ cd archivo //Entramos a la carpeta descomprimida donde esté
$ ./configure  //Estar atento a los posibles errores, son de gran ayuda
$ make
$ sudo make install

Hay otros programas que se instalan de otra forma (normalmente no llevan el script configure) para ello hay que leer el archivo de texto.

Normalmente los programas que instalas desde synaptic están precompilados, y son autoinstalables. En general son buena solución, pero cuando se trata de hardware pueden fallar y habrá que compilar.

martes, 20 de noviembre de 2007

Saltando a 7.10

Al parecer hay gente que tiene problemas cuando actualiza Ubuntu a una versión superior. Como yo no estoy para quebraderos de cabeza yo no he migrado, sino he saltado a la siguiente versión, y aquí os pongo las consecuencias.

Antes de nada, siempre recomiendo a todo el mundo que (mientras tenga espacio suficiente) haga una partición exclusiva para la carpeta /home. Cómo se hace: Deja unas 5GB o más para el directorio raíz, y todo lo demás para la carpeta /home yo tengo 30GB y se me llena fácilmente con películas (además tengo otro disco de 200). Cuando hagas las particiones deja al menos 1GB de swap, siempre al final (una de mis manías de las que hablé en el último post).

Sólo hay una ventaja: Tus datos y configuraciones quedarán guardados aunque te cargues el sistema y reinstales. Sólo te debes de acordar NO FORMATEARLA y durante la instalación definir el punto de montaje /home . La 1ª partición de 5GB es para el sistema (núcleo y programas) y no necesitarás más, pues siempre se guardará en /home los archivos con los que trabajen dichos programas, sus configuraciones y demás. ¿Te parece poco mantener tener tooodos tus archivos de trabajo y la misma configuración de los programas y del escritorio?

Recapitulando: En /home se crean carpetas ocultas con la configuración de tu sistema y programas. Así para pidgin se crea la carpeta .pidgin etc. de forma que cuando reinstalas mantienes tu escritorio y tu sistema tal como estaba, a falta de instalarte los programas que eches de menos. En cuanto te los instales ya lo tendrás todo como nuevo.

Al saltar a 7.10 me he encontrado con gratas sorpresas, y otras que no lo son tanto. Pidgin preinstalado (¡por fin!); ntfs-3g preinstalado ¡¡!!; Mi Fifefox está intacto, pues mantiene todos los plugins y marcadores.

¿Qué he perdido? Pues lo que menos me ha gustado ha sido el nuevo GIMP, al que le han cambiado algunas cosas y que tendré que acostumbrarme, y que he perdido los entornos de escritorio y tendré que reinstalarlos (aunque no he perdido su configuración). Tenía varios usuarios y tendré que volverlos a crear y dar permisos.

Tanteando, gano mucho más que pierdo, así que desde que recomiendo una /home para todos, nadie duerme ya en la calle. Vale, es muy malo, pero me moría por decirlo....

Pero, me he encontrado con un problema, que de hecho es un bug parcialmente solucionado de la 7.10 ¡Los drivers de mi tarjeta wifi (rt2561/rt61) no estaban incluidos en el kernel! Así que hay dos soluciones:
1) Con internet con cable: Actualizar como mínimo los paquetes del kernel para poder conectarte vía wifi. Recuerda reiniciar.
2) Bajarte la última versión de tus drivers a un USB y compilarlos. Al reiniciar ya tienes conexión.

Para éste último paso he seguido éste proceso:
- Descargarme de aquí los drivers para mi tarjeta ralink (hay para muchos modelos).
- Descomprimir (lo hice gráficamente, con doble clic)
- Desde consola acceder a la carpeta descomprimida, subcarpeta Module
cd /Desktop/rt_***/Module
- Y para acabar:
sudo make && sudo make install

Yo no he necesitado instalar el build-essential (los compiladores), así que no creo que quien lea ésto lo necesite.

Cuando reinicié ya tenía la wifi funcionando. El problema es que sin internet se puede pasar mal, así que el punto 2) le puede venir muy bien a cualquiera con un problema parecido.

[ Fuente]

lunes, 19 de noviembre de 2007

Desahogándome con Ubuntu

Empiezo a ser maniático, y es que aunque tengo una paciencia quasi infinita para éstas cosas, trato de optimizar el tiempo, y no estoy para quebraderos de cabeza y por eso siempre he dicho ¡¡¡NO QUIERO DEDICARME A LA INFORMATICAAAA!!!. No me gustan los problemas, los odio, pero cuando alguien (o yo) los tiene, trato de estar al pie del cañón; además soy muy perseverante. Últimamente estoy poniendo en práctica la máxima nº 1: "Si funciona no lo toques". Ésto me ha costado descubrirlo, por ello mis manías son entre otras: Hacer particiones siguiendo un orden, no actualizar a la nueva versión de Ubuntu (aunque fui de los primeros que bajó el LiveDVD) y no instalar la nueva versión de GIMP (porque han cambiado cosas que uso mucho).

Si te dicen que Ubuntu no da problemas, te aseguro que miente (aunque Windows tampoco se salva de problemas). Quien diga que la instalación de Linux (desde el inicio de los tiempos) es fácil y no da problemas miente, yo ya he probado muchas distros desde que lo conocí. He instalado y reinstalado Ubuntu a mucha gente y te aseguro que aunque la mayoría de veces no da problemas, me he encontrado los problemas más diversos, que se suelen resumir en 1) GRUB 2) Drivers y compatibilidad de hardware.

(1) Para solucionar problemas del GRUB siempre tendremos Super Grub Disk /SGD/, que lo he descubierto hace poco. Es mágico. SGD es perfecto si no se te ha instalado bien el grub o se te ha borrado, o te quieres quitar linux y restaurar el arranque de Windows. ¿Falla? Claro, cómo no, la informática falla. Pero casualmente éste fallo es del tipo 0 (un fallo fácil de solucionar). No suele fallar, pero cuando lo hace suele ser porque intenta arrancar desde una partición incorrecta (lo explicaré en otro post). Conviene que te bajes la iso y la grabes en un CD (aunque te de pena gastar un CD porque la iso ocupa unas cuantas KB) ya sabes, aplicación directa de la Máxima nº1.

(2) Solucionar problemas de drivers y hardware: Ésto suele traer más lectura de páginas webs, ubuntu-es.org y todo eso. Se lleva un tiempo preciado pero merece la pena. Los problemas más comunes: drivers de sonido, vídeo, wifi y particiones. Por suerte, en cada nueva versión, Ubuntu (y sólo ubuntu) mejora todas esas cosas, pero es posible que te toque a tí el fallo con el modelo exacto de tu {placa base, tarjeta wifi, disco duro} y te toquen los quebraderos de cabeza. Si linux tiene estos problemas es porque incluye todos los drivers, en cambio, el sistema del lado oscuro no incluye casi ninguno. Aunque ésto sea una de las grandes ventajas de Linux, nadie te libra de problemas.

2.1 En cuanto a compatibilidad de hardware (siempre que exista el driver adecuado): Muchos problemas se evitarían si compiláramos, pero eso haría poco atractivo a Ubuntu. Si tienes el driver/kernel adecuado y algo no te funciona, compílalo.
2.2 En cuanto a drivers de vídeo: Muchos de estos drivers son muy recientes y otros no han salido, aunque cada vez hacen más drivers privativos para linux. Los drivers libres no suelen ser tan punteros (tecnológicamente hablando).
2.3 En cuanto a particiones: El problema siempre es Windows y su sistema de archivos NTFS que tiene muchas peculiaridades, entre otras se encuentra la fragmentación de archivos, en cambio su rápido indexado es una ventaja en discos duros grandes. Si modificas el tamaño de la partición de ntfs puede dar algún problema (que Windows solucionará); si apagas Windows de forma incorrecta Linux no reconoce la partición de Windows.
2.4 Problemas con tarjetas wifi: El problema con las wifi es que cada fabricante tiene sus drivers, y no los hace para linux, por lo que les toca a los ingenieros averiguar cómo funciona dicho hardware para a partir de ahí hacer un software (drivers) y no es fácil. Ya hay drivers para cualquier tarjeta wifi, pero algunos no están incluidos en el kernel (o no funcionan, ver 2.1) por lo que tendremos que descargarlos y compilar. Ver siguiente post.

Pero al fin y al cabo, mi Ubuntu es mi Ubuntu y lo prefiero. No podemos criticar a "alguien" (GNU/Linux) que no lo ha tenido fácil, a quien los matones del cole (Windows) le quitaban el almuerzo (monopolio) todos querían seguir al líder (empresas de software y hardware) y le daban la espalda. Pero junto a él había muchísimas personas que pensaban de la misma forma y que unidos han sabido hacer frente y superar al matón.

Linux tiene mucho que aprender, pero cada vez se está haciendo más social. Siempre fue superior, pero estar a la sombra de un monopolio no es fácil.

jueves, 15 de noviembre de 2007

Intercambio de archivos

En la era de la información no es para menos tener en cuenta las redes P2P los verdaderos abanderados de la libertad. Pueden cerrar servidores, pueden cerrar páginas enteras pero no nos pueden cerrar una red formada por millones de ordenadores intercambiando datos.

NOTA: A día de hoy en España el intercambio p2p NO ES DELITO, en cambio, sí es delito ganar dinero a costa del p2p; se reduce a "Mientras no te beneficies económicamente, eres libre de usar el p2p". El famoso pirateo sólo es una estrategia de márketing.

BitTorrent
BitTorrent es un protocolo surgido en 2002 que tiene la ventaja de permitir descargar un mismo archivo a varias personas sin que se vea mermada la capacidad de descarga de otros usuarios. Para ello el protocolo obliga a compartir como mínimo los archivos que se están descargando. Es muy usado por servidores de descarga de archivos, como alternativa a la descarga de archivos. Por ejemplo, el LiveDVD de Ubuntu 7.10 está disponible por .torrent de forma que no sólo se descargará del servidor, sino también de otros usuarios que lo estén descargando. Es un protocolo muy bueno para descargar novedades. Se necesita descargar un archivo .torrent.

Terminología a saber:
Peer: Cliente (de subida y/o bajada). Cualquiera de nosotros.
Seed: Semilla. Cliente que tiene el archivo completo y lo continúa compartiendo. Puede ser un servidor.
Swarm: Enjambre. Conjunto de clientes que forman la red.
Leech: Sanguijuela. Persona que perjudica al enjambre. Descarga más de lo que sube ya sea por tener una conexión asimétrica o por usar programas modificados para evitar compartir.

Hay clientes BitTorrent que están preparados para compartir cada vez una parte diferente del archivo, por lo que de esta manera se evita enviar el mismo trozo constantemente de forma que los peers en conjunto reciben el archivo completo, útil si deja de haber seeds.

Aunque Ubuntu trae un cliente preinstalado (lo puedes comprobar abriendo un archivo torrent), a mi personalmente me gusta más qtorrent (web official) incluso más que deluge. Azureus también está para Linux. Valknut es otra opción.

eMule, aMule... (eDonkey2000 y Kademlia)
Esta opción es la más usada y todos la conocen. Es bastante simple. Se usan dos redes complementarias tanto para la descarga como para el intercambio de información. Un cliente sólo puede compartir un sólo archivo por persona :-( . Cada archivo tiene un listado de los clientes que también tienen el archivo (completo o no) tú como cliente a descargar guardas cola. Tu altura en la cola depende de los puntos que tengas en la lista del otro cliente, de forma que si le has compartido tendrás más puntos y descargarás antes. El programa trata de gestionar lo mejor que puede los clientes, viendo las partes que te pueden compartir etc. aMule permite la gestión de usuarios en cada archivo cuando al mismo usuario se le ha pedido más de un archivo (dicho usuario se llama A4AF)
útil si hay archivos con pocas fuentes o si no se necesitan partes de dichos clientes para uno de los archivos. Puesto que ésta red necesita servidores, no se puede considerar una red p2p pura.

Sin duda el mejor cliente para Linux es aMule. aMule es multiplataforma.

Otros protocolos
Es una opción que he descubierto hace bien poco, si bien conocía diferentes versiones para windows (ares, kazaa y sus derivados, soulseek, overnet y otros..) que usan diferentes redes, siendo la más conocida Gnutella2. Muchos de éstos programas se han especializado en la búsqueda de música.
giFT permite usar varios protocolos.
FrostWire es compatible con Gnutella y BitTorrent.
Gtk-Gnutella usa la red Gnutella2.
MLDonkey es un programa que usa multitud de protocolos para la descarga de un mismo archivo.

Hay gran cantidad de programas p2p que no se han mencionado.

Intención
Puesto que se trata de compartir archivos, no escatimes recursos ni velocidad de subida puesto que lo que haces repercute en toda la red de descargas p2p. Muchos programas se rigen por créditos, de forma que se beneficie quien más comparte.

martes, 6 de noviembre de 2007

Crea tu distro

Visto el post anterior, ¿no te has preguntado si realmente podrías crear tu linux desde cero? Sería cuestión de instalar unos programas para compilar el kernel y añadirle todas las librerías y programas que quieras ¿no?

Como suelo decir, Ubuntu me hace las cosas fáciles, pero yo me complico todo lo que quiero. No en vano he empezado a hacer pruebas con HURD, el otro núcleo (made in GNU). Éste núcleo está dividido en muchas partes y es una de sus ventajas, fácil modificación, mayor estabilidad, mayor velocidad... el único problema es que tiene pocos desarrolladores y está todavía un poco verde, pero Debian se ha encargado de tenerlo como "otra posibilidad" a la que da soporte.

0.- Crea tu linux desde cero

Para crearte tu propio linux hay varios sitios donde documentarse. Hay uno llamado Linux From Scratch [EN] donde encontrarás toda la información necesaria. Esa es la página más conocida, pero no la única, también hay traducciones de la anterior y otras. Sigue todos los pasos y ya está.

Si tienes que redimensionar o hacer nuevas particiones instala qtparted y quítale espacio/redimensiona alguna de tus particiones. Son suficientes algunas GBs. NOTA: Si redimensionas NTFS es posible que tengas que arrancar después con Windows para que haga algunas reparaciones ¿? y todo funcione correctamente.

1.- Crea tu distro fácilmente
No voy a negar que crear tu linux compilando hasta el más mínimo trozo de código es muy friki, así que te doy a conocer otras opciones para mentes algo menos calenturientas.

La opción más conocida es Linux Live que consiste en seguir los pasos y descargar el liveCD o la iso para USB.

El proyecto GNU, que creó una distribución GNU/Linux 100% libre, te explica cómo hacer tu propia distribución en su página.

Hay otras opciones, tanto para crear tu distro como para hacer Service Packs con programas añadidos para Linux, y es descargar los *.deb con synaptic y hacer un CD gracias a aptoncd.

10.- No te compliques
Usa Ubuntu, instala los programas que eches de menos, makéala y ¡¡a rular!!

lunes, 5 de noviembre de 2007

Distribuciones GNU/Linux

¿Qué es una distribución?
Una distribución GNU/Linux es un compendio de programas, que junto con el núcleo (kernel linux) forman un sistema operativo. Puesto que el kernel, llamado Linux y los archivos tienen una configuración similar al sistema operativo UNIX, diremos que es una distribución tipo UNIX (unix like).

Los programas esenciales y más básicos fueron creados por el proyecto GNU, tales como el compilador gcc (éste compilador de C++ es la base de compilación de todo el sistema operativo) y otros programas y comandos esenciales de consola, que son clones libres de los que se han usado en UNIX durante tanto tiempo. Es por ello que el sistema operativo se llama GNU/Linux. A partir del sistema base, se añaden drivers, librerías y programas, siendo en su gran mayoría programas libres bajo licencia GNU GPL ó GNU LGPL.

¿Quién puede hacer una distribución?
Cualquiera. Hoy en día, con las facilidades que nos presta internet, no necesitamos saber programar y prácticamente no es necesario ser un usuario ultra-avanzado de Linux, sólo hay que conocer qué programas vamos a integrar; aunque lo más normal es makearlas a tu gusto, con tu fondo, tu gestor de escritorio, tu configuración preferida, etc. De todas formas hay muchísimas distribuciones en internet, de descarga gratuita con las que seguro te bastas. Además siempre le puedes instalar programas los programas que eches de menos.

Las verdaderas diferencias entre distribuciones se ven cuando hay una corporación (o grupos de usuarios) que han hecho aplicaciones exclusivas que facilitan las tareas al usuario de a pie. Por ésto, las distribuciones orientadas al usuario medio son:
1.- Ubuntu y derivadas
2.- Mandriva
3.- Suse Linux

Hay otras muchas con otras características: 100% configurables, 100% estables, 100% libres; no por ello son más complicadas (cada uno se lo complica cuanto quiere) sino que hay que hacer bastantes cosas a mano. Además hay otras muy conocidas como Debian, Red Hat, Slax, Knoppix. No comento, pero no porque sean indicadas, sino porque son menos conocidas algunas como Gentoo, ArchLinux, LinEx, Guadalinex... muchas de ellas basadas en otras.

Distribuciones específicas
Como no podía ser menos hay muchas distribuciones que reúnen muchos programas específicos para un conjunto de usuarios muy concretos, así como ditribuciones centradas en el tipo de escritorio que usan (aunque se puen tener varios escritorios). Así tenemos:
Ubuntu - Centrada en el escritorio GNOME
Kubuntu - Centrada en el escritorio KDE
Xubuntu - Centrada en el escritorio XFce. Pocos recursos.
Edubuntu - Centrada en programas de educación
UbuntuStudio - Centrada en edición de vídeo, audio y 3D
DamnSmallLinux - Necesita pocos recursos. Lista para ocupar poco e instalarse en un USB ~50MB
Puppy Linux - Pocos recursos. Completa y ocupa pocas MBs para USB ~100MB
Wifislax - Centrada en la auditoría de redes Wifi
Trinity Rescue Disk - Disco de rescate para Windows, resetea passwords de admin, etc.

domingo, 4 de noviembre de 2007

Encripta tus archivos

Hay dos tipos de criptografía en el mundo: La que evita que tu hermana pequeña lea tus archivos, y la criptografía que evitará a los grandes gobiernos acceder a tus archivos. Este libro es sobre el último.
-- Prefacio a Applied Cryptography by Bruce Schneier

¿Qué pasaría si hoy te roban tu portátil o acceden a tu disco duro? ¿A qué información sensible podrían acceder? La encriptación está a la orden del día: Para correo se usa GPG (equivalente al comercial pgp); para protocolos https se usa SSL; Para wifi se usan diferentes algoritmos (WEP, WPA, WPA2) con diferentes encriptaciones como RC4, DES, AES o TKIP. Otros algoritmos menos seguros se usan hoy en día como hash de integridad de archivos (muy usado por usuarios en internet, tamién por eMule) de hecho el MD5 se usa en Linux para comprobar que la clave de usuario introducida es correcta (en principio, el sistema no almacena tu clave, sino el hash de tu clave, de forma que nadie encontrará tu contraseña escrita dentro de tu disco duro). Cuando introduces tu contraseña se crea el hash y si coincide con el introducido te deja entrar. Ya dedicaré otros posts a encriptación gpg y md5sum. Si te interesa la criptografía te recomiendo un buen libro en español de criptografía: Criptografía y seguridad en computadores [PDF] de Manuel J. Lucena López.

Par encriptar archivos bajo Linux, existe un programa llamado EncFS que encripta el contenido de una carpeta. Este tipo de encriptación se usa principalmente para ataques Off-line ( p.ej. robo del portátil, o pérdida de las copias de seguridad, acceso de otras personas a tu ordenador...).
Si tu solución más simple es "quitar permisos de acceso" has de saber que eso sólo sirve para tu SO, no para sistemas operativos ajenos, como por ejemplo un LiveCD. Con el LiveCD puedes acceder a todos los archivos de los usuarios tanto de Linux como de Windows, a no ser que estén cifrados. Y es por ésto que le dedico este post.

Aunque el kernel linux tiene una opción de encriptación de particiones(*) (incluso encripta la swap), el programa que vamos a ver encripta archivos.

Usar el programa es fácil. Primero lo instalaremos.
$ sudo apt-get install encfs

Ahora hay que cargar el módulo fuse (lsmod), es posible que ya lo tuvieras cargado.
$ sudo modprobe fuse

Ahora crea la carpeta cifrada (~/.secreto) y la carpeta con la que podrás trabajar normalmente (~/secreto). Puesto que la carpeta cifrada es ilegible, por comodidad la he creado oculta.
$ mkdir ~/.secreto ~/secreto

Ahora comenzamos a usar el programa:
$ encfs ~/.secreto ~/secreto

La primera vez el programa dice:
rutrus@Rutrus:~$ encfs ~/.secreto ~/secreto
Creando nuevo volumen cifrado.
Por favor, elige una de las siguientes opciones:
 pulsa "x" para modo experto de configuracion,
 pulsa "p" para modo paranoia pre-configurado,
 cualquier otra, o una linea vacia elegira el modo estandar.
?>

Seleccionada configuración Estándar.

Configuración finalizada. El sistema de ficheros a ser creado tiene
las siguientes propiedades:
Cifrado del sistema de ficheros: "ssl/blowfish", versión 2:1:1
Codificacion del nombre de fichero: "nameio/block", versión 3:0:1
Tamaño de la llave: 160 bytes
Tamaño de Bloque: 512 bytes
Cada fichero contiene una cabecera de 8 bytes con datos IV únicos.
Nombres de fichero encodeados usando el modo IV de encadenamiento.

Ahora tendrás que introducir una contraseña para tu sistema de ficheros.
Necesitaras recordar esta contraseña, dado que no hay absolutamente
ningún mecanismo de recuperación. Sin embargo, la contraseña puede ser cambiada
más tarde usando encfsctl.

Nueva contraseña Encfs:
Verifique la contraseña Encfs:
rutrus@Rutrus:~$


De ahora en adelante la carpeta cifrada estará montada en ~/secreto y será legible. Los archivos que arrastremos a dicha carpeta se copiarán (no se moverán). Todos los cambios que hagamos en dicha carpeta pasarán a su homóloga cifrada. Para desmontarla haremos:
$ fusermount -u ~/secreto
Dicha carpeta estará vacía. La carpeta ~/.secreto tendrá los archivos encriptados (incluso los nombres y extensiones).

(*) Si estás interesado en otros sistemas de cifrado para particiones y otras unidades de disco como USB, aquí te dejo unos enlaces:
[1] [2] [3] [4] [5] [6]

Existen muchos programas equivalentes, pero éste es de lo mejor que hay (completo, seguro y sencillo). En los 6 enlaces que he puesto para particiones también existe la posibilidad de usar algunos de esos programas para archivos.

Diversas fuentes de este post:
[1] [2] [3] [4] [5]

jueves, 1 de noviembre de 2007

Ejecutar Windows bajo Linux

Para esta manualidad precisamos:
  1. El programa VirtualBox
  2. Una ISO ó CD del Sistema Operativo
  3. Espacio suficiente en tu disco para instalarlo (Alguna GB)
¿En qué consiste?
Una Máquina Virtual virtualiza un Sistema Operativo (SO), de forma que podamos usarlo como si fuera un programa. Para ello debemos seguir el proceso de instalación, a través de la máquina virtual. Una vez configurada la memoria RAM que le dedicaremos, la memoria gráfica y el espacio máximo que podrá ocupar, procedemos a instalarlo. No se crean particiones, sino que se crea un archivo VDI, que lo podemos configurar con un tamaño fijo (máximo) o con un tamaño variable. La instalación de WinXP SP2 ocupa ~1,2GB.

¿Qué ventajas tiene?
Sobre Linux:
Podrás usar Windows con la seguridad que te ofrece Linux. Tienes acceso a internet y podrás descargar actualizaciones y usar programas que lo necesiten. Los virus no invaden Linux (si no usas IE no tendrás basura) puedes instalarle cualquier programa para Windows. Sólo es necesario instalarle el programa que realmente necesitas, véase Matlab, Photoshop, AutoCAD, Multisim o cualquier otro que no esté disponible para Linux. El resto lo podrás usar simultáneamente bajo Linux.

Sobre Windows:
Puedes probar cualquier versión de Windows, Linux y otros. Y todo sin hacer ninguna partición. Los Linux LiveCD los puedes utilizar virtualizados sin pasar por el proceso de instalación.

Pasos a seguir
  1. Descargar VirtualBox de la página oficial (en .deb) e instalarlo.
  2. Crear nueva máquina y seguir los pasos. Elegir unas 196MB de RAM (mínimo), memoria de vídeo al gusto (o necesidad) y seleccionar la unidad de CD (se puede elegir el lector o un archivo ISO, que supondrá un CD/DVD).
  3. Instalar desde el CD o ISO. Una vez instalado sacar CD o desvincular ISO (en propiedades de la máquina virtual).

Es realmente útil usar las ISOs, porque puedes descargar las isos de cualquier linux descarga directa (la de Damn Small Linux ocupa 50MB y es live) y comenzar a usarlas como si fueran CDs (o liveCD), sin necesidad de grabarlos. Además, la lectura de las isos es más rápida que si fueran cds, algo muy útil para agilizar la instalación.

Aunque VirtualBox tiene una versión libre, hay otras máquinas virtuales para Linux como VMWare (comercial) hay otra opción libre llamada Qemu si bien es menos popular y menos sencilla.
Hay otros menos intuitivos como BOCHS (libre), XEN (open source) y KVM (libre).

En youtube hay muchos vídeos.