martes, 26 de julio de 2016

Linux

Distribuciones GNU/Linux

Hola de nuevo!!! Aquí os dejo una presentación en prezi que contiene unos vídeos sobre algunas distribuciones linux. Espero que os guste!!!


lunes, 25 de julio de 2016

Raspberry y ubuntu MATE

Breve introducción:

Ubuntu MATE es una distribución Linux basada en Ubuntu, pero con un entorno de escritorio más ligero que Unity. Al ser diseñada para procesadores ARM dispone de los controladores necesarios para Raspberry Pi, ofreciendo un conjunto de programas básicos, que no requieren grandes capacidades del sistema en el que se implanta, ya que no incluye los programas y servicios destinados a un servidor, dando la posibilidad de instalarlos a posteriori.

Raspberry basa su sistema de almacenamiento principal en una tarjeta microSD, la cual contiene el sector de arranque, permitiendo cargar un sistema operativo desde la propia tarjeta. La desventaja de tener un sistema operativo en una tarjeta microSD es que la velocidad de lectura/escritura es baja, además este tipo de tarjetas no están diseñadas para una continua sobre escritura, y sufren bastante al usar en ellas algo tan complejo como un sistema operativo, que requiere de un trabajo constante del sistema de almacenamiento. Por otro lado, la capacidad queda bastante limitada con una tarjeta microSD;

Por lo anterior, en primer lugar, realizaremos la instalación del sistema operativo para después dejar en la tarjeta microSD solo la partición de arranque, cediendo el directorio raíz del sistema a una memoria USB.


Como servidor, usaré una placa Raspberry Pi 2B, cuyas características son las siguientes:


CPU
ARM11 ARMv7 ARM Cortex-A7 4 núcleos 900 MHz


GPU


Broadcom VideoCore IV 250 MHz. OpenGL ES 2.0


Memoria RAM




1 GB LPDDR2 SDRAM 450 MHz

USB 2.0

4 Puertos
Salida de vídeo

HDMI 1.4 @ 1920x1200 píxeles
Almacenamiento base

microSD hasta 32Gb
Ethernet

10/100 Mbps
Tamaño

85,60x56,5 mm
Peso

45g
Consumo
5v 600mA-900mA








Suponiendo que ya tenemos descargada nuestra imagen de Ubuntu MATE, procedemos con la instalación.




INSTALACIÓN DE UBUNTU MATE EN RASPBERRY PI
Paso 1: copiar imagen a tarjeta microSD:


La manera más sencilla para realizar este primer paso es usar la aplicación “discos” que incluye cualquier distribución Linux con Gnome como entorno de escritorio.

En el menú de la unidad, seleccionamos “Restaurar imagen de disco…”.



  
En el nuevo dialogo, seleccionamos el archivo de imagen de Ubuntu MATE que descargamos y pulsamos “Iniciar la restauración...”


Se nos requerirá autenticación para proceder con la restauración, y, tras introducir la contraseña de súper usuario, la imagen se restaurará en la tarjeta microSD.


Una vez terminado el proceso, solo debemos insertar la tarjeta microSD en la ranura de nuestra Raspberry y conectarla a una fuente de alimentación, para proceder a la instalación automática del sistema operativo. Necesitaremos una fuente de alimentación con salida microUSB, un cable HDMI y un cable de red para conectar nuestra Raspberry a un router y obtener conexión de red.

En un principio, es necesario acceder a la interfaz de Raspberry por HDMI, pues, por defecto, Ubuntu MATE no tiene habilitada la conexión por SSH ni una dirección IP estática, problemas que se solucionarán en siguientes pasos. Por supuesto, necesitaremos un teclado y un ratón.


Paso 2: Instalación de Ubuntu MATE:

Una vez conectada nuestra Raspberry pi, esta realiza directamente una lectura de la tarjeta SD para iniciar el proceso de arranque, que pasa el control al sistema operativo, el cual iniciará el proceso de instalación en este primer arranque.

Seguimos el sencillo proceso de instalación por las distintas, e intuitivas, ventanas y, cuando termine el proceso de instalación y se haya reiniciado, vamos a proceder a apagar nuestro sistema, pues vamos a proceder a optimizar un poco nuestro sistema de almacenamiento. Contamos con la ventaja de que no tendremos que realizar particionados, pues ya se han definido las particiones en la tarjeta SD.

Cuando la instalación finalice, apagaremos el sistema, desconectamos de la toma de corriente y extraeremos la tarjeta microSD para realizar unos cambios en el sistema de almacenamiento.

Hasta aquí, podemos decir que nuestra raspberry ya está operativa. Personalmente, no me gusta trabajar desde la SD, así que, a continuación, se explicará el proceso para que nuestro sistema de almacenamiento principal se sitúe en una unidad USB.

Paso 3: Pasando la base de nuestro sistema a una unidad USB.


A partir de aquí, hay que tener muy claro lo que se hace, vamos a trabajar con ficheros de configuración del sistema y un error puede hacer que nuestra raspberry no arranque. Siempre se puede volver a reinstalar el sistema operativo en la tarjeta SD como última solución.
En otra entrada explicare la estructura básica del sistema de archivos y algunos comandos básicos, pero, por ahora, hay que saber un poco sobre qué estamos haciendo.

Este paso no es totalmente obligatorio, pero si dejamos la lectura y escritura de nuestros ficheros en una tarjeta SD, el sistema se tornará pesado e incluso inestable, pudiendo darse una probabilidad mayor de fallos de lectura y escritura, lo que no es muy conveniente en un servidor. Por ello, vamos a pasar la raíz de nuestro sistema a una memoria USB y dejaremos en la tarjeta microSD la partición de arranque de Raspberry.

Para este paso usaremos la herramienta incluida en la mayoría de las distribuciones Linux, GParted.
(si no se dispone de ella, teclea en un terminal sudo apt-get install gparted, sudo yum install gparted o sudo dnf gparted, según la distribución que uses).

Por supuesto, este procedimiento se puede realizar a base de comandos en linux, pero seguiremos usando la GUI para un blog más simpático.

En primer lugar, una vez abierto GParted, vamos a eliminar la partición de nuestra memoria USB, yo usaré una unidad de 16 GB. Pulsamos botón derecho del ratón sobre la unidad y seleccionamos “Eliminar”.



 
Ahora seleccionamos la tarjeta SD en el menú:



 
Copiamos la partición del sistema operativo.


Volvemos a seleccionar la unidad USB en el menú y pegamos la partición copiada.



 
En el nuevo diálogo, vamos a estirar el gráfico hasta el final, esto extenderá la partición copiada para usar toda la capacidad de la memoria USB.

Pulsamos “Pegar” y verificamos la operación.
El proceso tomará su tiempo....

 

Paso 4: Gestionando el sistema de almacenamiento:


Para que nuestro sistema arranque desde la tarjeta SD y tenga el directorio raíz en la unidad USB, debemos modificar un par de ficheros del sistema.

El primer archivo a modificar es “cmdline.txt” que se encuentra en la partición de arranque de la tarjeta SD. Usaremos el editor de textos nano para esta operación.

Es muy recomendable realizar antes una copia de seguridad del archivo, porque si hacemos algo mal, el sistema no arrancará. Se hará lo mismo con cada archivo de sistema que se manipule.

 

 
 
“cmdline”, como su nombre indica, contiene una línea de comandos, que indica a Raspberry las opciones de arranque. Vamos a centrarnos en la parte resaltada. Esta parte del comando indica donde se encuentra la raíz del sistema, debemos cambiarla a la unidad USB para que tome esta como el directorio raíz. Las unidades USB, son reconocidas como unidades sata, por lo que comienzan con “sd”, solo tenemos una unidad, así que le sigue la primera letra del abecedario “a”, y existe una única partición “1” que es la que contiene la raíz del sistema en nuestra unidad USB, por tanto debemos indicar que la raíz se encuentra en /dev/sda1. Actualmente, el archivo está indicando que la raíz se encuentra en la partición dos de la tarjeta SD(tipo mmc).

 
El archivo debe quedar así:

 
Ademas, vamos a añadir a la línea “rootdelay=5” esto nos evitará problemas, porque el USB suele tardar más en cargar que la solicitud del proceso de arranque de localizar el directorio raíz, y esto nos dará un fallo, pues no se encontrará el dispositivo USB y el arranque devolverá una excepción. Añadiendo este comando hacemos que la localización del directorio raíz por parte del sistema de arranque se retrase 5 segundos, consiguiendo así minimizar la probabilidad de fallo en el arranque.


 
Pulsamos “ctrl + o” para guardar, “intro” y “ctrl + x” para salir.

A continuación, vamos a modificar el archivo “fstab” en la unidad USB, para indicar donde se encuentra el directorio raíz, hay que recordar que esta raíz es copiada de la tarjeta SD, por tanto, tiene la misma configuración.
Primero, para evitar errores, vamos a desmontar y extraer la tarjeta SD.



Hacemos una copia de seguridad del fichero que vamos a manipular. (Al actualizar la terminal, tras haber desmontado la tarjeta SD, PI_ROOT1, que es el USB, pasa a llamarse PI_ROOT).

 
Ahora lo editamos con nano.


La línea marcada indica que la raíz del sistema se encuentra en la tarjeta SD, debemos indicar en “fstab” que el directorio raíz se encuentra en nuestro USB.


Cambiamos mmcblk0p2 por sda1 para indicar que el directorio “/” se encuentra en la partición 1 del USB.


 
Guardamos y salimos, nuestras unidades ya están listas para funcionar en nuestra Raspberry, solo tenemos que volver a arrancarla con el USB y la tarjeta conectadas.


Si quisiéramos, podríamos eliminar la partición raíz de la tarjeta SD, pero se puede considerar dejarla para futuras copias de seguridad, pues es una imagen exacta del sistema y realmente no vamos a usar esta tarjeta para almacenar datos.

Espero que consigáis algo con esta entrada y no dudéis en dejar vuestros comentarios para mejorar mi blog. Y si tenéis preguntas procuraré contestarlas. Muchas gracias, hasta pronto!