.. include:: ../../my-header_2.txt




Un ordenador con Linux
--------------------------------------


¿Qué ordenador es adecuado?
++++++++++++++++++++++++++++

Hay que distinguir entre el soporte para material Web del OCW y el soporte para el desarrollo del código Linux. Para lo primero sirve cualquier sistema con un navegador Web, ya sea tableta u ordenador. Para el desarrollo necesitas una plataforma que soporte Linux o un sistema compatible. Como Linux también dispone de un navegador, el sistema de desarrollo también te servirá para el seguimiento del curso y el acceso a la plataforma OCW. 

Para el desarrollo con Linux en principio cualquier PC es adecuado, y existen otras alternativas. 

* Quizás ya tengas un ordenador con una distribución Linux. En este caso, a no ser que la distribución sea muy antigua, ya tienes la plataforma de trabajo adecuada.

* Si tienes un PC con Windows hay dos opciones que te permitirán seguir usando Windows: 
    (a) La primera opción es crear una partición independiente para Linux en el disco, si tienes espacio suficiente. Haz un backup (siempre puede salir mal alguna cosa…), compacta la información que tienes en el disco (esta operación se llama "desfragmentar"), consigue una distribución de Linux (se explica más abajo) e inicia el procedimiento de instalación, que te guiará primero en cómo crear la partición. Una vez que esté instalado Linux, cuando enciendas el ordenador, este te dará la opción de hacerlo en Windows o en Linux (lo que se suele denominar *arranque dual*). 
    (b) La segunda opción es más cómoda y flexible. Se trata de instalar Linux sobre una máquina virtual que se ejecutará sobre Windows por emulación. Necesitas instalar primero sobre Windows un software de virtualización (por ejemplo VMware o VirtualBox, que disponen de versiones gratuitas). Cuando ejecutes el virtualizador se arrancará una máquina virtual sobre la que podrás instalar Linux siguiendo el procedimiento normal. De esta forma tendrás un Linux virtual en una ventana de Windows, como una aplicación más. El uso de una máquina virtual tiene como contrapartida el mayor consumo de recursos, pero la mayoría de las veces esta será la mejor opción.

* Si tienes un Mac, no necesitas instalar Linux. MacOS dispone de un sistema UNIX BSD, primo hermano de Linux, que resultará compatible con el código del curso.

* Finalmente, puedes adquirir un *Single Board Computer*. Por ejemplo, Raspberry Pi es muy barato (35€), si bien necesitarás una TV o monitor, teclado, tarjeta flash y cables HDMI y USB. Soporta una versión sencilla de Linux, suficiente para el curso. 


¿Cómo instalo Linux?
++++++++++++++++++++++++++++

Lo primero que debes saber es que hay muchas distribuciones de Linux, y que hay otros sistemas que no son Linux sobre los que también podrías trabajar. El código de los ejemplos que se proporcionan en el curso (y el que tú deberías desarrollar) está pensado para que sea lo más estándar posible y se pueda compilar y ejecutar en diferentes plataformas, incluso no Linux, como es el caso de MacOS. De hecho, al ajustarse al estándar POSIX, el código del curso debería funcionar en la mayoría de los sistemas UNIX, familia de la que Linux es en la actualidad el sistema operativo más extendido. El código que se proporciona está probado para Ubuntu (versión 14.04) y MacOS (Darwin Kernel Version 14.5.0). Dependiendo de la distribución que uses, en algunos casos podrías tener que hacer alguna mínima modificación sobre el código de los ejemplos. La primera semana del curso aprenderás cómo hacerlo.

Linux es `software libre <http://www.gnu.org>`_. Puedes descargar cualquier distribución de Linux de forma gratuita, o conseguir una copia de un amigo. Entre las muchas distribuciones de Linux, una muy usada es `Ubuntu <http://www.ubuntu.com/download>`_. Para la Raspberry Pi existe una distribución de Linux específica, `Raspbian <https://www.raspbian.org>`_. Puedes descargarlo o comprar a cualquier distribuidor de Raspberry Pi una tarjeta microSD con Raspbian preinstalado.

Finalmente, el proceso de instalación de Linux está hoy en día muy automatizado y no deberías tener dificultades con ello. 

.. include:: ../../my-footer_2.txt


