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! 

jueves, 30 de abril de 2015

"Softwares" libres y gratuitos.



¿Software libre y gratis? Sí, puede ser, pero no necesariamente.

Imagen de Free Software Foundation en wikipedia.org bajo licencia CC

Se entiende por software libre como aquel software que puede ser utilizado, copiado, estudiado, modificado, distribuido, redistribuido… por cualquier persona. Sin embargo, aunque suele serlo, no tiene por qué ser necesariamente gratuito, se le puede poner un precio, eso sí debe cumplir con las características nombradas anteriormente.   
Del mismo modo, el software gratuito no tiene por qué ser definitivamente libre, puede ser una prueba de un programa, eso sí con limitaciones que solo pueden eliminarse mediante el pago a la empresa o persona desarrolladora, o simplemente puede ser un software cuyo desarrollador ha decidido ceder su utilización pero no su modificación o comercialización, no deja su código libre.

Es importante tener en cuenta las licencias. Aunque el software libre se pueda distribuir, copiar, modificar… es importante que cuenten con una licencia, al igual que hacen los programas que no son libres (o privados), ¿por qué? Pues bien, imaginaos que  existiese una una persona, empresa, institución, entidad… que cogiese un software libre, hiciera lo que quisiera con él, lo privatizara y lo vendiera; vaya plan, el software libre ha sido privatizado, y además se ha perdido su condición de libre. Pues, para eso existen las licencias del software libre, para que no llegue cualquiera y modifique esta condición de libre en beneficio propio, para que el software libre siga siendo libre.
Tampoco hay que confundirlo con el software de dominio público, este software cumple unas condiciones por las cuales es aprovechable por todas las personas, no tiene ningún tipo de licencia, se puede modificar, distribuir y reutilizar siempre que sea para un uso dentro de la legalidad y se mencione la autoría original.

En definitiva, ni el software gratuito tiene por qué ser libre ni el software libre tiene por qué ser gratuito. 
 
Imagen de Jordi berenguer en wikipedia.org bajo licencia CC
A mi parecer, ambos, libre y gratuito, son importantes. Imaginaos una persona que no tiene acceso al software de pago, hay muchas personas en esa condición, el software libre y gratuito o solo gratuito son muy importantes para estas personas, o para aquellas que simplemente quieran tener otra alternativa al software privado. Este software que tratamos da una oportunidad de acercar a muchas personas a las TIC y posibilitan la igualdad, además de ayudar a cerrar un poco la brecha digital. Sobre todo, el software libre y gratuito, da la oportunidad de aprender y desarrollarse a las personas que no tienen accesos a los medios necesarios en un mundo globalizado, pero en el que, como vemos, casi todo tiene un precio.

Imagen de florisla en flickr.com bajo licencia CC


Durante este curso, hemos usado tanto software libre y gratuito, así como gratuito. Con respecto a los de licencia libre, cabe mencionar libre office, una suite ofimática que incluye procesador de textos, hojas de cálculo o bases de datos entre otros o Ubuntu, un sistema operativo de Kernel Linux, que a su vez incluye un montón de software libre que podemos instalar o desinstalar a antojo, como  GIMP, el cual también hemos usado. Seguimos con VirtualBox, que en su versión OSE es libre. No se pueden olvidar un programa como Mozilla Firefox, que es libre y en el cual se basa TOR, que no solo usamos en el curso, sino en el día a día. Por último, todo lo que hemos usado relacionado con Google, dispone en su mayor parte de código libre, eso sí, bajo las condiciones de Google, quizá podríamos hablar en esta situación de un software mixto.  

De manera particular, como soy usuario de Ubuntu, he usado programas como Shutter, para capturar pantallas, Dolphin, como administrador de archivos, KDE como escritorio, y mil cosas más, que como estoy tan acostumbrado a usarlas ni caigo en la cuenta de que son libres. Para la tercera tarea de este trimestre, use Android, cuya parte de su código es libre, para comprobar mi aplicación. Como vemos hay un montón de software libre y gratuito que suple, o incluso mejora, las posibilidades del software de pago.

Imagen de dominio público.


Pero no solo de software vive el estudiante, hay muchos recursos bajo licencia libre, sonidos, música, imágenes, textos, que hemos usado durante el curso. Aquí os dejo algunas de las páginas que yo he usado, no solo en esta asignatura, en muchos de mis trabajos.

Imágenes: 

Música y sonidos:

Y por supuesto, se puede descargar software libre:

Bueno, y podría seguir hasta la eternidad...



P.D: En la entrada anterior me equivoque. Ahora sí, ¡¡¡hasta pronto!!!