Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Administración
De Sistemas
GNU/Linux
Con Migasfree
Ángel Ventura Lafuente Castán
Responsables:
Alicia Campo, Ignacio Sanch...
Administración de Sistemas Gnu/Linux con Migasfree
Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los ...
Administración de Sistemas Gnu/Linux con Migasfree
Índice del trabajo
Resúmenes:.............................................
Administración de Sistemas Gnu/Linux con Migasfree
Resúmenes:
2.1 Resumen ejecutivo en Inglés.
The end of course project f...
Administración de Sistemas Gnu/Linux con Migasfree
2.2 Resumen en Español.
El proyecto final de curso correspondiente al G...
Administración de Sistemas Gnu/Linux con Migasfree
3 Datos descriptivos:
3.1.1 Descripción general.
El proyecto se basa en...
Administración de Sistemas Gnu/Linux con Migasfree
3.1.3 Principios tecnológicos del Software Libre.
Un principio tecnológ...
Administración de Sistemas Gnu/Linux con Migasfree
3.2 Entorno de la empresa colaboradora.
Los días 9 y 10 de Noviembre de...
Administración de Sistemas Gnu/Linux con Migasfree
3.3 Justificación:
Como alumno del Centro, acepté la propuesta de proye...
Administración de Sistemas Gnu/Linux con Migasfree
Es decir, la licencia GNU GPL posibilita la modificación y redistribuci...
Administración de Sistemas Gnu/Linux con Migasfree
4.2 Actividades y cronología:
SEMANA
ACTIVIDAD 1 2 3 4 5 6 7 8 9 10 11 ...
Administración de Sistemas Gnu/Linux con Migasfree
4.3 Metodología seguida para su estudio y posible realización:
Primera ...
Administración de Sistemas Gnu/Linux con Migasfree
Instalamos la base de datos Postgresql y su módulo de Python:
# apt-get...
Administración de Sistemas Gnu/Linux con Migasfree
Como aún no hemos creado la base de datos aparecerá el siguiente error:...
Administración de Sistemas Gnu/Linux con Migasfree
Hacemos login con el usuario “admin” y password “admin” y verás algo pa...
Administración de Sistemas Gnu/Linux con Migasfree
Segunda semana (31/3-4/4)
Instalación del cliente MigasFree en la máqui...
Administración de Sistemas Gnu/Linux con Migasfree
Observamos los metadatos que contiene ese paquete descargado:
El direct...
Administración de Sistemas Gnu/Linux con Migasfree
• postinst inmediatamente después de que se produzca la instalación del...
Administración de Sistemas Gnu/Linux con Migasfree
Una vez hecho esto, y situado en el directorio enl-migasfree-client, ge...
Administración de Sistemas Gnu/Linux con Migasfree
Hasta ahora siempre hemos ejecutado el cliente Migasfree desde consola ...
Administración de Sistemas Gnu/Linux con Migasfree
Ahora que ya tienes los paquetes enl-migasfree-client y migasfree-launc...
Administración de Sistemas Gnu/Linux con Migasfree
Tercera semana (7/4-11/4)
Despliegue de máquinas virtuales:
A partir de...
Administración de Sistemas Gnu/Linux con Migasfree
Paquetes que personalizan el fondo de escritorio y los iconos para el C...
Administración de Sistemas Gnu/Linux con Migasfree
Paquete enl-bootsplash, este paquete incluye en la configuración del si...
Administración de Sistemas Gnu/Linux con Migasfree
#!/bin/bash
FICHERO=$HOME/.checkear_ip
ipequipo=$(python -c "from migas...
Administración de Sistemas Gnu/Linux con Migasfree
2º Si la IP configurada en el sistema, no coincide con la configurada a...
Administración de Sistemas Gnu/Linux con Migasfree
Una vez instalado este paquete, nos dirigimos al directorio personal de...
Administración de Sistemas Gnu/Linux con Migasfree
Veamos un ejemplo:
enl-comprobar-ip (1.0-1) unstable; urgency=low
* Lan...
Administración de Sistemas Gnu/Linux con Migasfree
• Un fichero que no se crea por defecto pero que es muy importante se d...
Administración de Sistemas Gnu/Linux con Migasfree
Una vez diseñada la estructura, el paquete nos queda con la siguiente e...
Administración de Sistemas Gnu/Linux con Migasfree
Subiendo al servidor el paquete:
Usamos este comando para subir el paqu...
Administración de Sistemas Gnu/Linux con Migasfree
Vamos rellenando los datos: Figura 2.5
Figura 2.5
En paquetes/conjuntos...
Administración de Sistemas Gnu/Linux con Migasfree
Y en atributos, seleccionaremos ALL-ALL SYSTEMS para que se distribuya ...
Administración de Sistemas Gnu/Linux con Migasfree
(En la octava semana se procederá a crear unas entradas en el menú de a...
Administración de Sistemas Gnu/Linux con Migasfree
Primer script, en el que se pide al usuario la hora y el día a configur...
Administración de Sistemas Gnu/Linux con Migasfree
#Segunda parte.
minutos=$(cat dirs.csv|cut -d "," -f1|cut -d ":" -f2)
c...
Administración de Sistemas Gnu/Linux con Migasfree
Pruebas realizadas con el primer script:
Figura 2.8, pregunta a cerca d...
Administración de Sistemas Gnu/Linux con Migasfree
Control de errores, verificando que la hora y los minutos son introduci...
Administración de Sistemas Gnu/Linux con Migasfree
Segundo script, denominado cuentaatras y que hemos realizado su llamada...
Administración de Sistemas Gnu/Linux con Migasfree
Ventana que realiza el proceso de cuenta atrás: Figura 3.4
Figura 3.4
O...
Administración de Sistemas Gnu/Linux con Migasfree
Ventana para desactivar o no el apagado automático: (Figura 3.5)
Figura...
Administración de Sistemas Gnu/Linux con Migasfree
En él vamos a introducir el siguiente contenido para colocarlo en nuest...
Administración de Sistemas Gnu/Linux con Migasfree
Una vez introducido el contenido anterior, guardamos el fichero y proce...
Administración de Sistemas Gnu/Linux con Migasfree
Ahora vamos a crear el directorio donde vamos a albergar el icono perso...
Administración de Sistemas Gnu/Linux con Migasfree
• copyrigh, Nuestro paquete en este caso deseamos que sea licencia GPL-...
Administración de Sistemas Gnu/Linux con Migasfree
Posteriormente, si se van desarrollando mejoras para este programa u ot...
Administración de Sistemas Gnu/Linux con Migasfree
Nos vamos a repositorios para añadir uno nuevo e introducir allí nuestr...
Administración de Sistemas Gnu/Linux con Migasfree
Muy Importante, en paquetes a instalar tendremos que indicarle también ...
Administración de Sistemas Gnu/Linux con Migasfree
Comprobamos en nuestro cliente que tras realizar sudo migasfree -u se h...
Administración de Sistemas Gnu/Linux con Migasfree
Figura 4.6
Una vez los paquetes estén incluidos por defecto, los elimin...
Administración de Sistemas Gnu/Linux con Migasfree
Es decir, se parte de una imagen “pelada” de Ubuntu 12.04 y cuando se r...
Administración de Sistemas Gnu/Linux con Migasfree
Décima semana (26/5-30/5)
Pruebas con Distribución Ubuntu 14.04 Lts
• I...
Administración de Sistemas Gnu/Linux con Migasfree
Generamos el paquete:
$ cd enl-dconf-profile
$ /usr/bin/debuild --no-tg...
Administración de Sistemas Gnu/Linux con Migasfree
Undécima semana (2/6-6/6)
Implementación del Sistema Migasfree en CP.I....
Administración de Sistemas Gnu/Linux con Migasfree
Pulsamos “Siguiente” y elegimos dónde queremos dejar la máquina exporta...
Administración de Sistemas Gnu/Linux con Migasfree
Lo primero es desempaquetar el archivo OVA, que no es más que un TAR de...
Administración de Sistemas Gnu/Linux con Migasfree
Por otro como éste: Figura 5.1
Figura 5.1
Una vez cambiado sólo falta v...
Administración de Sistemas Gnu/Linux con Migasfree
Nos vamos a Propiedades: Figura 5.2
Figura 5.2
Añadimos una nueva propi...
Administración de Sistemas Gnu/Linux con Migasfree
Rellenamos los datos y colocamos nuestro código en Python que se muestr...
Administración de Sistemas Gnu/Linux con Migasfree
Una vez tengamos el código listo, pasamos a grabar la propiedad. Figura...
Administración de Sistemas Gnu/Linux con Migasfree
Una vez dentro seleccionamos el sistema gestor de paquetes, en nuestro ...
Administración de Sistemas Gnu/Linux con Migasfree
Paquetes que han sido propuestos por los docentes del centro, estos se ...
Administración de Sistemas Gnu/Linux con Migasfree
4.4 Recursos:
a) Materiales:
HP Compaq Elite 8300 SFF (QV996AV)
Intel(R...
Administración de Sistemas Gnu/Linux con Migasfree
5 Presupuesto:
A continuación se representan dos modelos de presupuesto...
Administración de Sistemas Gnu/Linux con Migasfree
Segundo presupuesto, se diseña una distribución propia para el centro, ...
Administración de Sistemas Gnu/Linux con Migasfree
6 Resultados Obtenidos y Conclusiones:
Con la implementación del sistem...
Administración de Sistemas Gnu/Linux con Migasfree
7 bibliografía:
Migasfree:
Libro “Fun with Migasfree” de Alberto Gacías...
Administración de Sistemas Gnu/Linux con Migasfree
Ayuntamiento de Zaragoza
http://www.zaragoza.es/contenidos/azlinux/migr...
Administración de Sistemas Gnu/Linux con Migasfree
8 Agradecimientos:
Muchas gracias a la comunidad educativa de Los Enlac...
Administración de Sistemas Gnu/Linux con Migasfree
Proyecto Final realizado por:
Ángel Ventura Lafuente Castán
2º ASIR
C.P...
Upcoming SlideShare
Loading in …5
×

Administración de Sistemas GNU/Linux con Migasfree

1,218 views

Published on

Ángel Ventura Lafuente Castán

Mención de Honor. Proyecto Final correspondiente al Grado Superior en Administración de Sistemas Informáticos en Red.
C.P.I.F.P. Los Enlaces, Zaragoza.

Software denominado Migasfree que permite gestionar equipos GNU/Linux de forma centralizada.

Published in: Education
  • Be the first to comment

  • Be the first to like this

Administración de Sistemas GNU/Linux con Migasfree

  1. 1. Administración De Sistemas GNU/Linux Con Migasfree Ángel Ventura Lafuente Castán Responsables: Alicia Campo, Ignacio Sancho Curso: 2º A.S.I.R. 2013/2014 C.P.I.F.P. LOS ENLACES
  2. 2. Administración de Sistemas Gnu/Linux con Migasfree Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 2
  3. 3. Administración de Sistemas Gnu/Linux con Migasfree Índice del trabajo Resúmenes:...........................................................................................................................................4 2.1 Resumen ejecutivo en Inglés. ...................................................................................................4 2.2 Resumen en Español. ................................................................................................................5 3 Datos descriptivos:............................................................................................................................6 3.1.1 Descripción general............................................................................................................6 3.1.2 Marco Teórico....................................................................................................................6 3.1.3 Principios tecnológicos del Software Libre.......................................................................7 3.2 Análisis de la realidad................................................................................................................7 3.2 Entorno de la empresa colaboradora..........................................................................................8 3.3 Justificación:..............................................................................................................................9 3.4 Marco Legal:..............................................................................................................................9 3.5 Destinatarios:...........................................................................................................................10 Desarrollo del proyecto:.....................................................................................................................10 4.1 Objetivo y medición:...............................................................................................................10 4.2 Actividades y cronología:........................................................................................................11 4.3 Metodología seguida para su estudio y posible realización:....................................................12 4.4 Recursos:..................................................................................................................................63 5 Presupuesto:................................................................................................................................64 6 Resultados Obtenidos y Conclusiones:.......................................................................................66 7 bibliografía:.................................................................................................................................67 8 Agradecimientos: .......................................................................................................................69 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 3
  4. 4. Administración de Sistemas Gnu/Linux con Migasfree Resúmenes: 2.1 Resumen ejecutivo en Inglés. The end of course project for the Upper Vocational Course in Network Computer System Administration is based on a computer system that centrally manages the GNU/Linux computers in a specific Oragization. This software is called “MigasFree”, and it has been developed by the Department of Systems and Networks of the City of Zaragoza. This software is in operation in the City and is one of the great innovations in equipment management. MigasFree, is based on a client/server structure, in which each time a client connects, he gets new updates or new packages that are available for distribution. Packages are distributed according to the attibutes of the computer, such as computer name, name of the user or group to which the computer belongs the hardware you have. This way we can have Linux distributions with different customizations. In addition to the ability to remotely manage computers that have connected to this server software, Migasfree also provides an audit trail of all software and hardware equipment, allowing remotely knowing at all times, which the hardware and software of each computer is. The aim is to install a Migasfree server and multiple Migasfree clients according to the possible needs of CPIFP Los Enlaces. Custom packages can be created to meet the potential needs of the classrooms of the school. This way, if the goal is met and the test are passed, we will be able to implement this system in the school itself and put it into operation. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 4
  5. 5. Administración de Sistemas Gnu/Linux con Migasfree 2.2 Resumen en Español. El proyecto final de curso correspondiente al Grado Superior De Formación Profesional en Administración de Sistemas Informáticos y Redes está basado en un Sistema Informático que gestiona de manera centralizada los equipos GNU/Linux de una determinada Organización. Este software se denomina MigasFree, desarrollado por los compañeros de Redes y Sistemas del Ayuntamiento de Zaragoza. Este software está implementado en el Ayuntamiento, siendo una de las grandes innovaciones en la gestión de equipos. Migasfree, está basado en una estructura cliente/servidor, en la que cada vez que un cliente se conecta, recibe las nuevas actualizaciones o nuevos paquetes que estén disponibles para su distribución. Los paquetes se distribuyen en función de los atributos del equipo, como pueden ser el nombre del equipo, el nombre de usuario o grupo al que pertenece y en función del hardware de que dispone. De esta manera podemos disponer de distribuciones Linux con diferentes personalizaciones. Además de poder gestionar de manera remota los equipos que tengan este software conectado al servidor, también permite realizar una auditoría de todo el software y hardware de los equipos. Permitiendo así, saber en cada momento, cual es el software y hardware de cada equipo de manera remota. El objetivo es instalar un servidor y varios clientes MigasFree de acuerdo a las posibles necesidades del C.P.I.F.P. Los Enlaces. Se crearán paquetes personalizados para cubrir las posibles necesidades de las aulas del centro. De forma que, si se cumple el objetivo y se superan las pruebas, implementar este sistema en el propio centro y ponerlo en marcha. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 5
  6. 6. Administración de Sistemas Gnu/Linux con Migasfree 3 Datos descriptivos: 3.1.1 Descripción general. El proyecto se basa en la gestión de los equipos GNU/Linux del C.P.I.F.P. Los Enlaces, mediante un servidor denominado Migasfree. Este servidor, nos permite realizar un inventario tanto de software como de hardware de todos los equipos clientes conectados a él, gestionar los posibles errores y fallas que se produzcan, instalar y desinstalar paquetes en los clientes de acuerdo a las necesidades de la organización, realizar consultas y obtener estadísticas a cerca de los equipos que existen, cuando se actualizan y los cambios que tienen. Estos equipos GNU/Linux se localizan básicamente en el área de Informática, surge la necesidad de gestionar los equipos de manera centralizada debido a los problemas existentes a la hora de instalar los mismos programas en cada uno de los ordenadores del centro. Con este sistema, cada profesor puede gestionar el aula de acuerdo a sus necesidades, sin tener que ir puesto por puesto realizando la instalación de software. Además, como también permite la distribución de paquetes según el hardware de los equipos nos aporta mayor control. 3.1.2 Marco Teórico. El proyecto de administración de equipos GNU/Linux mediante Migasfree está basado en la propuesta aportada por el Ayuntamiento de Zaragoza. El Ayuntamiento de Zaragoza está desarrollando un sistema de Gestión de equipos GNU/Linux para facilitar la administración y gestión a los administradores. Con la realización de este proyecto se pretende dar a conocer este método de trabajo en un centro educativo y demostrar que es un sistema de gestión de equipos eficiente. Se pueden realizar distintas imágenes (.ISO) de GNU/Linux de acuerdo a cada uno de los módulos que se imparten en el centro. Un ejemplo es, un centro de educación infantil y primaria. Se crean diferentes imágenes personalizadas de GNU/Linux con el software necesario, para cada una de las enseñanzas que se imparten. Educación infantil dispondría de un software específico y controlado, y a la vez, primaria también tendría otro software gestionado por el mismo servidor. Este proyecto además, sigue las pautas del libro Fun with migasfree de Alberto Gacias, compañero de trabajo de Ayuntamiento de Zaragoza. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 6
  7. 7. Administración de Sistemas Gnu/Linux con Migasfree 3.1.3 Principios tecnológicos del Software Libre. Un principio tecnológico muy importante es el gran respaldo de comunidades que esta detrás del mantenimiento de GNU/Linux, estas comunidades de programadores desarrollan software para satisfacer necesidades propias y de los demás usuarios. Permite a las organizaciones la libertad de elección, tanto del equipo físico como de los programas o servicios, establece niveles de calidad y seguridad en productos y servicios, y mejor relación precio/rendimiento. Además, el software libre aporta garantía de comunicación e interoperabilidad con otros sistemas operativos existentes. Aunque surgen pequeños inconvenientes, como puede ser la frecuente imposibilidad de interconexión entre bases de datos y aplicaciones de la Organización, por “problemas propietarios” que cuestan dinero y eficacia. 3.2 Análisis de la realidad. La crisis por la que actualmente esta pasando parte del mundo, afecta de manera muy significativa a las Entidades Públicas, recortando en grandes inversiones e intentando bajar la deuda contenida. Esto implica que el gasto se reduzca y exige un recorte en todo donde sea posible, un ejemplo son las Licencias Corporativas en software que las Entidades pagan y que suponen un gran coste. Si dichas Entidades utilizan software libre adaptado a sus necesidades, se produce un ahorro considerable. Además, cada vez mas extendido, el software privativo requiere de un hardware mas especifico y más costoso. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 7
  8. 8. Administración de Sistemas Gnu/Linux con Migasfree 3.2 Entorno de la empresa colaboradora. Los días 9 y 10 de Noviembre de 2005 en el Pleno de Sesión Extraordinaria convocada para debatir el Estado de la Ciudad, todos los grupos políticos del Ayuntamiento de Zaragoza manifestaron por unanimidad, el apoyo a las políticas de Software Libre y, en concreto, al fomento de los programas de Software Libre en el entorno de Escritorio del funcionario municipal. Propuesta núm. PEC-376/05.- El grupo municipal Socialista de este Ayuntamiento presenta, de conformidad con el artículo 109 del Reglamento Orgánico, con motivo del debate sobre el estado de la Ciudad, la siguiente propuesta: ¿El Pleno insta al Gobierno de la Ciudad de Zaragoza, a impulsar el software libre->( V ), y en particular incorporando dicho software en el entorno del empleado municipal, implantando su utilización en infraestructuras corporativas y ejecutando acciones de difusión y utilización del ( V )<-software libre en entornos públicos¿.- Queda aprobada por unanimidad. Extracto del acuerdo adoptado por el Excmo. Ayuntamiento Pleno en Sesión Extraordinaria convocada para debatir el estado de la ciudad, celebrada los días 9 y 10 de noviembre de 2005. (Archivo: Excmo. Ayuntamiento de Zaragoza) El Ayuntamiento de Zaragoza dispone de alrededor de 3000 Puestos de PC con diferente Hardware y para diferentes negocios. 60 Servidores que albergan ficheros de Impresión, Certificados, Internet, Correo, Seguridad, Gestión Documental, etc. Y más de 100 Centros Municipales que disponen de conectividad diversa. El Ayuntamiento de Zaragoza considera que la migración al software libre supone una independencia tecnológica ya que evita la relación exclusiva con un único proveedor o fabricante con lo que se defiende el interés general de la ciudad y se ofrece mayor seguridad. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 8
  9. 9. Administración de Sistemas Gnu/Linux con Migasfree 3.3 Justificación: Como alumno del Centro, acepté la propuesta de proyecto correspondiente a las FCT's en el Ayuntamiento de Zaragoza. Desde el departamento de Redes y Sistemas, están llevando a cabo el proyecto Vitalinux, adaptado a la educación. Pretenden ayudar en centros escolares y centros cívicos a la implementación de software libre en sus aulas. El sistema operativo base es Linux y después pasa por un proceso de personalización (en el proyecto Vitalinux, denominado sabor) que se adapta a cada las necesidades que se proponen en los centros. 3.4 Marco Legal: Cualquier aproximación al tema del software libre implica encontrarse con multitud de definiciones y términos diferentes. Para unificar criterios, enumeramos los principales conceptos. Por derechos de autor al sistema de protección de las creaciones humanas originales, literarias, artísticas o científicas, expresadas por cualquier medio o soporte, tangible o intangible, actualmente conocido o que se invente en el futuro, entre las que se incluye el software. Por licencia de uso al instrumento legal (contrato) que se emplea por el titular de un software para otorgar permisos de uso del software a terceros, a cambio o no de una remuneración económica. En cuanto a las licencias de software libre, los paquetes instalados y editados (desde la plataforma https://github.com/vitalinux) están basados en licencia GPL. Los paquetes creados desde cero por mí, también están basados bajo licencia GPL. MigasFree en todo su conjunto se basa en licencia GPL, una vez introducidos en el marco legal, vamos a ver un poco mas a fondo en que se basa la Licencia GPL. Licencias GPL. El autor conserva los derechos de autor (copyright), y permite la redistribución y modificación bajo términos diseñados para asegurarse de que todas las versiones modificadas del software permanecen bajo los términos más restrictivos de la propia GNU GPL. Esto hace que sea imposible crear un producto con partes no licenciadas GPL: el conjunto tiene que ser GPL. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 9
  10. 10. Administración de Sistemas Gnu/Linux con Migasfree Es decir, la licencia GNU GPL posibilita la modificación y redistribución del software, pero únicamente bajo esa misma licencia. Y añade que si se reutiliza en un mismo programa código "A" licenciado bajo licencia GNU GPL y código "B" licenciado bajo otro tipo de licencia libre, el código final "C", independientemente de la cantidad y calidad de cada uno de los códigos "A" y "B", debe estar bajo la licencia GNU GPL. Aproximadamente el 60% del software licenciado como software libre emplea una licencia GPL o de manejo. 3.5 Destinatarios: El destinatario se corresponde al Centro Público Integrado de Formación Profesional Los Enlaces. En concreto al área de Informática, donde las aulas contienen en sus equipos GNU/Linux y surge la necesidad de gestionarlos de forma centralizada. Desarrollo del proyecto: 4.1 Objetivo y medición: El objetivo de este proyecto se basa en implementar un Sistema de Administración de Equipos GNU/linux de forma remota en el CPIFP Los Enlaces. Debido a la diversidad de Sistemas Operativos que se usan en el Centro, este sistema irá destinado a las aulas de Informática. Estas aulas utilizan mayoritariamente arranque dual con Windows 7 y Ubuntu 12.04. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 10
  11. 11. Administración de Sistemas Gnu/Linux con Migasfree 4.2 Actividades y cronología: SEMANA ACTIVIDAD 1 2 3 4 5 6 7 8 9 10 11 12 Planificación y diseño del Proyecto Asistencia a curso de Linux para trabajadores del Ayuntamiento de Zaragoza (Impartido por el tutor de las prácticas) Instalación del servidor Migasfree Asistencia en Universidad de Zaragoza a un curso básico de MigasFree impartido por los compañeros de Redes y Sistemas del Ayuntamiento de Zaragoza Instalación del cliente Migasfree Asistencia en Universidad de Zaragoza a un curso básico de MigasFree impartido por los compañeros de Redes y Sistemas del Ayuntamiento de Zaragoza Despliegue de máquinas Virtuales Aprendizaje de Paquetería .deb Banco de trabajo, solucionando incidencias Diseño de paquetes administrativos Creación .ISO - SSOO Linux personalizado 12.04 Pruebas con la nueva Versión Ubuntu 14.04 LTS Implantación Migasfree en C.P.I.F.P. Los Enlaces Evaluación global del proyecto Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 11
  12. 12. Administración de Sistemas Gnu/Linux con Migasfree 4.3 Metodología seguida para su estudio y posible realización: Primera semana (24/3-28/3) Migasfree es un gestor de repositorios dinámicos en base a atributos y calendarios. Se encarga de distribuir paquetes a todos sus clientes, de gestionar los posibles errores y fallas que se produzcan, realizar un inventario del hardware que tiene el cliente y finalmente el autoregistro de los clientes en el servidor sin necesidad de configurar nada previamente en él. Primeros días de adaptación, lectura y comprensión de el libro Fun with migasfree de Alberto Gacías. La instalación del servidor Migasfree se realiza mediante máquina virtual con Debian 7 como Sistema Operativo. Esta máquina virtual dispone de 1024 MB de RAM y red NAT. Para poder conectarse por ssh desde el equipo anfitrión y además vía web para la administración, realizaremos un reenvío de puertos en la máquina virtual. Reglas de reenvío de puertos, en la máquina virtual Debian 7 (Ip's y puertos del proyecto) Protocolo IP anfitrión Puerto anfitrión IP invitado Puerto invitado TCP 127.0.0.1 2222 10.0.2.15 22 TCP 172.16.69.192 8080 10.0.2.15 80 Desde la IP 172.16.69.192 y el puerto 8080 accederemos al entorno Web del servidor MigasFree. Se crean tres máquinas virtuales más con Ubuntu 12.04 y otra con 14.04 para realizar las pruebas correspondientes. En estas máquinas con Ubuntu se instalará el cliente Migasfree para realizar la conexión al servidor anterior. Nos conectamos por ssh a la máquina debian 7 y procedemos a la instalación de MigasFree, siguiendo el guión del libro Fun with migasfree de Alberto Gacías. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 12
  13. 13. Administración de Sistemas Gnu/Linux con Migasfree Instalamos la base de datos Postgresql y su módulo de Python: # apt-get install postgresql python-psycopg2 Editamos el fichero de configuración de la autenticación de Postgresql para permitir al usuario migasfree autenticarse mediante password, añadiendo la siguiente línea a /etc/postgresql/9.1/main/pg_hba.conf: # TYPE DATABASE USER ADDRESS METHOD local all migasfree password Reiniciamos el servicio postgresql: # service postgresql restart Creamos un usuario llamado migasfree en Postgresql con el siguiente comando, introduciendo migasfree como contraseña para no tener que configurar nada: # su - postgres -c "createuser -S -d -R -E -P migasfree" Ingrese la contraseña para el nuevo rol: Ingrésela nuevamente: Instalación del paquete migasfree-server: Para añadir el repositorio que contiene los paquetes necesarios para debian 7, creamos el fichero /etc/apt/sources.list.d/migasfree.list con el siguiente contenido: deb http://migasfree.org/repo debian7 PKGS Actualiza las listas de paquetes e instala el paquete migasfree-server: # apt-get update # apt-get install migasfree-server Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 13
  14. 14. Administración de Sistemas Gnu/Linux con Migasfree Como aún no hemos creado la base de datos aparecerá el siguiente error: django.db.utils.OperationalError: FATAL: no existe la base de datos <<migasfree>> Para añadir el repositorio que contiene los paquetes necesarios para Debian 7, creamos el fichero /etc/apt/sources.list.d/migasfree.list con el siguiente contenido: deb http://migasfree.org/repo debian7 PKGS Creación de la Base de datos de migasfree: Para finalizar ejecutamos el siguiente comando que crea las tablas en la base de datos migasfree desde cero y configura el servidor web Apache: # migasfree-server-from-scratch Ojo: Utilizamos este comando sólo una vez, ya que cada vez que lo ejecutas se borra y se crea la base de datos desde cero. Comprobando el servidor: En un navegador web accedemos a la dirección del servidor. Si todo ha ido bien veremos la figura 1.1. Figura 1.1 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 14
  15. 15. Administración de Sistemas Gnu/Linux con Migasfree Hacemos login con el usuario “admin” y password “admin” y verás algo parecido a la figura 1.2. Figura 1.2 Instalando el paquete migasfree-client: Ahora instalamos el cliente migasfree sobre la misma máquina donde hemos instalado el servidor. Para ello actualizamod la lista de paquetes e instalamos el paquete migasfree-client: # apt-get update # apt-get install migasfree-client Registramos el cliente ejecutando el comando: # migasfree -u Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 15
  16. 16. Administración de Sistemas Gnu/Linux con Migasfree Segunda semana (31/3-4/4) Instalación del cliente MigasFree en la máquina virtual con Sistema Operativo Ubuntu 12.04. Para añadir el repositorio que contiene el cliente migasfree para ubuntu 12.04, creamos el fichero /etc/apt/sources.list.d/migasfree.list con el siguiente contenido: deb http://migasfree.org/repo ubuntu-12.04 PKGS Ahora instalamos el cliente migasfree: # apt-get update # apt-get install migasfree-client Observamos como en el fichero /etc/migasfree.conf que ha instalado el paquete migasfree-client no hay, lógicamente, ningún ajuste configurado. less /etc/migasfree.conf A continuación, vamos a configurar este fichero haciendo uso del empaquetado. Al igual que hicimos con la configuración del servidor podemos bajarnos el fuente del paquete que vamos a utilizar de plantilla para configurar el cliente de migasfree. En la nueva máquina virtual con ubuntu 12.04 ejecutamos: $ wget http://www.migasfree.org/repo/book/acme-migasfree-client_1.0-1.tar.gz $ tar -xzvf acme-migasfree-client_1.0-1.tar.gz Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 16
  17. 17. Administración de Sistemas Gnu/Linux con Migasfree Observamos los metadatos que contiene ese paquete descargado: El directorio debian contiene los metadatos del paquete. Los ficheros más importantes en este directorio son: • El fichero control consiste en un conjunto de campos, representados en un formato común, que permiten al sistema de gestión de paquetes conocer los metadatos del paquete y así poder gestionarlo adecuadamente. • El fichero changelog contiene información, en un formato especial, con las modificaciones que se han realizado en cada versión del paquete. Cada vez que se modifica el paquete hay que añadir una entrada en este fichero incrementando la versión y registrando lo que se ha modificado. • El fichero copyright contiene la información sobre los recursos, licencia y derechos de autoría de las fuentes originales del paquete. • El fichero rules contiene las reglas que se utilizan para generar los paquetes a partir de sus fuentes. • El fichero install contiene una lista de ficheros que serán instalados con el paquete . Una vez conocidos los significados de los ficheros vamos a modificar el nombre del paquete acme- migasfree-client por enl-migasfree-client, cambiando el nombre y la fecha actual allí donde se requiera. Además modificamos también el nombre acme-migasfree-client del directorio raíz por enl- migasfree-client. La definición del nombre de los paquetes se basa en la abreviatura del C.P.I.F.P. Los Enlaces “enl” y la función que realiza. De esta forma, si tenemos varias organizaciones gestionadas por un mismo servidor, podemos distinguir a cuales pertenecen los paquetes. Observamos ahora los scripts postinst y prerm. Sus nombres nos indican cuando serán ejecutados por el sistema de gestión de paquetes. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 17
  18. 18. Administración de Sistemas Gnu/Linux con Migasfree • postinst inmediatamente después de que se produzca la instalación del paquete. • prerm justo antes de que se produzca la eliminación del paquete. En el script postinst veremos que se hace una llamada al comando dpkg-divert. Mediante este comando hacemos lo que se conoce como una desviación de fichero (divert). Mediante la desviación indicamos al sistema de gestión de paquetes que un fichero ya no pertenece a un determinado paquete sino al que nosotros establezcamos. Así el fichero de configuración /etc/migasfree.conf, que pertenece en principio al paquete migasfree-client, hacemos que pertenezca al paquete enl-migasfree-client de tal manera que una posible actualización de migasfree-client ya no nos afectará. Cada vez que queramos modificar un ajuste del cliente migasfree en /etc/migasfree.conf lo haremos a través del fichero usr/share/divert/etc/migasfree.conf del paquete enl-migasfree-client. Nos Fijamos también que en prerm deshacemos esta desviación, para que si desinstalamos el paquete quede todo como estaba. Modificamos ahora el fichero usr/share/divert/etc/migasfree.conf. Tendremos que poner el Server con el nombre o la ip del servidor migasfree que hemos utilizado anteriormente, y la Version con el nombre de tu distribución, por ejemplo ENLACES-1. El resto de ajustes modifícalos según los intereses que se deseen. Figura 1.3 Figura 1.3 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 18
  19. 19. Administración de Sistemas Gnu/Linux con Migasfree Una vez hecho esto, y situado en el directorio enl-migasfree-client, generamos el paquete (debemos tener el paquete devscripts y debhelper previamente instalados). $ /usr/bin/debuild --no-tgz-check -us -uc Con esto tendremos un paquete que configura el cliente migasfree para nuestra organización. Ahora es momento de instalarlo: # dpkg -i enl-migasfree-client_1.0-1_all.deb Observamos que al instalar el paquete, dpkg te informa que se añade la desviación de /etc/migasfree.conf. Comprobamos ahora que el Server y Version son los correctos. # less /etc/migasfree.conf Ahora ya estamos preparado para registrar este ordenador en el servidor migasfree. # migasfree -u Comprobamos que en el servidor se ha creado la versión ENLACES-1 y que existe un nuevo ordenador accediendo a la página web del servidor. Finalmente subimos el paquete a nuestro servidor migasfree con el fin de tenerlo disponible para su liberación a otros escritorios ENLACES-1. # migasfree-upload -f enl-migasfree-client_1.0-1_all.deb Introduce usuario: admin Contraseña: admin Version: ENLACES-1 Ubicacion: base Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 19
  20. 20. Administración de Sistemas Gnu/Linux con Migasfree Hasta ahora siempre hemos ejecutado el cliente Migasfree desde consola mediante el comando migasfree -u como root. Ahora vamos a hacer que se ejecute automáticamente cada vez que el usuario abra una sesión gráfica. Para este propósito existe el paquete migasfree-launcher. $ wget https://github.com/migasfree/migasfree-launcher/archive/latest.zip $ unzip latest.zip $ rm latest.zip $ cd migasfree-launcher-latest $ /usr/bin/debuild --no-tgz-check -us -uc $ cd .. Subimos el fichero migasfree-launcher al servidor # migasfree-upload -f migasfree-launcher_1.0-1_all.deb El fichero etc/xdg/autostart/migasfree-launcher.desktop Ejecutará el comando /usr/bin/migasfree-launcher cuando el usuario inicia sesión gráfica. Este comando llamará finalmente a migasfree -u. usr/share/applications/migasfree-launcher.desktop Es un fichero .desktop que pone disponible en el menú de Herramientas del Sistema al comando migasfree-launcher. /usr/bin/migasfree-launcher comando para actualizar el sistema a través de un servidor migasfree. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 20
  21. 21. Administración de Sistemas Gnu/Linux con Migasfree Ahora que ya tienes los paquetes enl-migasfree-client y migasfree-launcher en el servidor migasfree, crea un repositorio en el servidor y pon estos paquetes en paquetes a instalar y asígnale el atributo ALL-SYSTEMS. Figura 1.4 Figura 1.4 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 21
  22. 22. Administración de Sistemas Gnu/Linux con Migasfree Tercera semana (7/4-11/4) Despliegue de máquinas virtuales: A partir de este momento vamos a poder administrar fácilmente los escritorios Ubuntu-12.04 de nuestra organización, de forma generalizada, instalando simplemente estos dos paquetes. Creamos un fichero /etc/apt/sources.list.d/migasfree.list con el siguiente contenido: deb http://<myserver>/repo/<version>/REPOSITORIES <store> PKGS donde sustituiremos: Figura 1.5 • <myserver> por tu servidor. • <version> por la versión que pusiste en /etc/migasfree.conf • y <store> por la ubicación que pusiste al subir el paquete al servidor migasfree con migasfree- upload. Figura 1.5 Una vez creado este fichero ejecutamos: # apt-get update # migasfree -u y los paquetes se instalarán automáticamente. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 22
  23. 23. Administración de Sistemas Gnu/Linux con Migasfree Paquetes que personalizan el fondo de escritorio y los iconos para el Centro. Previamente obtenidos del Proyecto Vitalinux (https://github.com/vitalinux) y adaptados a las necesidades del centro. Estos paquetes disponen de licencia GPL. Este proyecto Vitalinux es Software libre y se basa en facilitar al máximo la instalación, uso y mantenimiento de Linux para todas las personas que lo deseen. Paquete enl-desktop-wallpapers, este paquete incluye en la configuración del sistema, el fondo de pantalla corporativo. En el directorio /usr/share/pixmaps/enlaces se incluye el fondo. (fondoenlaces.png 1.6) Figura 1.6 Paquete enl-desktop-settings, este paquete configura el fondo corporativo que hemos colocado anteriormente en el sistema en la ruta /usr/share/pixmaps/enlaces. (fondoenlaces.png) Paquete enl-desktop-icons, incluye en el escritorio los iconos que se hayan definido por defecto en la organización. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 23
  24. 24. Administración de Sistemas Gnu/Linux con Migasfree Paquete enl-bootsplash, este paquete incluye en la configuración del sistema, el logo corporativo en el inicio y cierre del Sistema Operativo. Figura 1.7 Figura 1.7 Paquete enl-desktop-theme, instala en el sistema el tema gráfico del sistema que en este caso esta basado en Vitalinux. Paquete enl-utils, contiene las funciones necesarias para simplificar la tarea a la hora de crear los paquetes. En muchos de los paquetes nombrados anteriormente esta como pre-dependencia. Cuarta y Quinta semana (14/4-25/4) Paquete enl-comprobar-ip, este paquete está creado desde cero, y consiste en verificar la ip del equipo cada vez que el usuario inicia sesión en el sistema. Es rutinario que el alumno realice cambios en su dirección ip para hacer pruebas prácticas y luego se olvida de configurarlo correctamente. Este script comprueba que exista un fichero oculto en la carpeta personal del usuario con la IP correcta, si este fichero no existe, se mostrará una ventana para introducir la IP asignada al equipo. Una vez introducida la IP, el sistema comparará la IP con la configurada en el sistema. Si ésta es igual no mostrará ningún aviso, pero si es distinta, saltará un aviso indicando que la IP es incorrecta y que se debe modificar. A continuación, se muestra el script y las correspondientes comprobaciones. Los mensajes que se muestran por pantalla son mediante Zenity y sus correspondientes opciones para introducir texto, mostrar una notificación, un error, etc. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 24
  25. 25. Administración de Sistemas Gnu/Linux con Migasfree #!/bin/bash FICHERO=$HOME/.checkear_ip ipequipo=$(python -c "from migasfree_client import network; print network.get_network_info() ['ip']") if [ -f $FICHERO ]; then direccion=$(cat $FICHERO) else direccion=$(zenity --entry --text "Introduzca Dirección IP del equipo, revise etiqueta en la torre" --title "Configurar Dirección IP") if [ $? = 0 ]; then echo $direccion > $FICHERO else exit 0 fi fi if ! [ $direccion = $ipequipo ]; then zenity --error --title="Error en la IP" --window-icon=error --text="La Dirección IP no está configurada correctamente, por favor, revísela" fi Pruebas pertinentes de este paquete: 1º Si no existe el fichero oculto en /home con la IP del equipo, mostrar un mensaje pidiendo la IP que se encuentra en la etiqueta del equipo. Figura 1.8 Figura 1.8 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 25
  26. 26. Administración de Sistemas Gnu/Linux con Migasfree 2º Si la IP configurada en el sistema, no coincide con la configurada anteriormente, se mostrará este error por pantalla. Figura 1.9 Figura 1.9 3º Este error anterior, también se mostrará al inicio de sesión de forma automática si la IP del equipo no es la correcta. Zenity nos permite crear diálogos simples que interactúen gráficamente con el usuario, esta herramienta, ha requerido de varias horas de comprensión y pruebas para escoger las opciones deseadas. Una vez diseñado el script, procedemos a crear el paquete. Para crear el paquete, necesitamos instalar las correspondientes herramientas. Para ello, nos dirigimos a dirección que se muestra y nos descargamos el paquete vx-pms-dev. Este paquete es válido para la distribución Ubuntu 12.04. http://migasfree.vitalinux.org/repo/VX-BASE/REPOSITORIES/dists/BASE/PKGS/vx-pms- dev_1.1-1_all.deb Con este paquete vamos a instalar las herramientas necesarias de paquetería: dpkg -i vx-pms-dev_1.1-1_all.deb Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 26
  27. 27. Administración de Sistemas Gnu/Linux con Migasfree Una vez instalado este paquete, nos dirigimos al directorio personal del usuario y mostramos los ficheros ocultos (teclas Ctrl+h). Editamos el fichero .bashrc añadiendo las siguientes lineas al final del fichero. Figura 2.0 DEBEMAIL=correo_electrónico DEBFULLNAME=”nombre_y_apellido_entre_comillas” Figura 2.0 Estas líneas son necesarias para crear la plantilla del paquete vacío, en todos los ficheros donde sean necesarios esos datos, se rellenarán de manera automática. De esta forma es menos costoso rellenar los datos de correo y nombre del creador o mantenedor. Una vez añadidas esas 3 lineas guardamos el fichero .bashrc Llego la hora de crear el paquete, en la terminal vamos a ejecutar la siguiente orden con el nombre del paquete que deseemos poner: vx-package-new enl-comprobar-ip Un proceso empezará a crear una carpeta con el nombre del paquete y unos ficheros de configuración que vamos a ver ahora un poco mas a fondo. Para tener una guía cerca y tratar de no perderse, tendremos cerca el manual de requerimientos de debian. https://www.debian.org/doc/debian-policy/ Dentro de la carpeta enl-comprobar-ip (nuestro paquete), tenemos un directorio llamado Debian, en él se encuentran los ficheros de configuración mencionados anteriormente en la segunda semana de trabajo. Existen muchos ficheros dentro de dicha carpeta Debian, pero vamos a escoger los necesarios para nuestro paquete. • El primer fichero se denomina chancelog, en él se lleva un control de las versiones que tiene el paquete y una breve descripción acerca de los cambios que se han realizado y por quien. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 27
  28. 28. Administración de Sistemas Gnu/Linux con Migasfree Veamos un ejemplo: enl-comprobar-ip (1.0-1) unstable; urgency=low * Lanzamiento inicial, para su primera prueba. -- Angel Lafuente <angel.lafuentezgz@gmail.com> Wed, 16 Apr 2014 12:51:41 +0200 • El segundo fichero se denomina control, en él podemos configurar las dependencias de este paquete, es decir, si para ejecutar este script de comprobar la ip necesitamos de otro programa que este anteriormente en el equipo se añade como dependencia y no se instalará hasta que el primer programa sea instalado. En nuestro caso, el script de comprobar la IP necesita el paquete migasfree-client porque a través de él importamos la IP del sistema. Añadimos pues la dependencia de migasfree- client en su línea correspondiente. Depends: ${shlibs:Depends}, ${misc:Depends}, migasfree-client • El tercer fichero se denomina copyrigh, en él se establecen las licencias que va a tener dicho paquete con el autor y el año de creación. Nuestro paquete en este caso deseamos que sea licencia GPL-3 y estar bajo los términos que la “GNU General Public License” publica por la “Free Software Fundation”. Se puede modificar y distribuir este paquete, pero siempre respetando la Licencia GPL y manteniendo el nombre del Autor original. Files: * Copyright: 2014 Angel Lafuente <angel.lafuentezgz@gmail.com> License: GPL-3.0+ Estas líneas anteriores, indican que todos los ficheros y directorios que se contengan en el paquete estarán bajo licencia GPL-3. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 28
  29. 29. Administración de Sistemas Gnu/Linux con Migasfree • Un fichero que no se crea por defecto pero que es muy importante se denomina install, en él indicamos que directorios se tienen que instalar cuando se descargue el paquete por parte del cliente. usr/* etc/* Un poco más adelante, explicaremos donde se encuentran estos dos directorios anteriores. Pero la idea básica es, indicarle al sistema que se instale todo lo que contengan esos directorios. Una vez comprobemos que está todo correctamente, pasamos a crear la estructura de directorios del paquete. Para ello, tenemos que pensar donde se albergaran los ficheros necesarios para que el script de comprobar la IP funcione. Nos situamos en la carpeta del paquete, al mismo nivel que la carpeta Debian, creamos los directorios necesarios. Estos directorios son usr y etc. Dentro del directorio usr, crearemos otro directorio denominado bin y dentro de este último colocaremos nuestro script creado anteriormente que comprueba la ip. Dentro del directorio etc, creamos un directorio xdg y dentro de éste ultimo otro llamado autostart. Dentro de autostart, desde una terminal, crearemos el fichero.desktop para que se arranque nuestro script de forma automática cada vez que se inicie sesión en el equipo. En nuestro caso denominado check_ip.desktop y añadimos la configuración deseada. Figura 2.1 Figura 2.1 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 29
  30. 30. Administración de Sistemas Gnu/Linux con Migasfree Una vez diseñada la estructura, el paquete nos queda con la siguiente estructura de directorios: Figura 2.2 Figura 2.2 Posteriormente, si se van desarrollando mejoras para este programa u otros en concreto, se tiene que crear la estructura de directorios y sus ficheros de acuerdo a la estructura del sistema para que se apliquen los cambios correspondientes. Indicarlo también en el fichero install de la carpeta debian. Ya tenemos la fuente del paquete. Ahora generamos el paquete, pero para ello antes debemos tener instalado el paquete devscripts: # apt-get install devscripts Y ahora sí, generamos el paquete, entramos dentro del paquete, ejecutamos la orden y salimos: $ cd enl-comprobar-ip $ /usr/bin/debuild --no-tgz-check -us -uc $ cd .. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 30 Enl-comprobar-ip etc xdg autostart usr bin debian
  31. 31. Administración de Sistemas Gnu/Linux con Migasfree Subiendo al servidor el paquete: Usamos este comando para subir el paquete generado al servidor. # migasfree-upload -f enl-comprobar-ip_1.0-1_all.deb Introduce usuario: admin Contraseña: admin Version: ENLACES-1 Ubicacion: base Nos vamos al entorno gráfico del servidor, y en notificaciones vemos que hay un paquete huérfano (en mi caso mas, debido a versiones antiguas de otros paquetes). Figura 2.3 Figura 2.3 Nos vamos a repositorios para añadir uno nuevo e introducir allí nuestro paquete de comprobar la IP. Figura 2.4 Figura 2.4 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 31
  32. 32. Administración de Sistemas Gnu/Linux con Migasfree Vamos rellenando los datos: Figura 2.5 Figura 2.5 En paquetes/conjuntos, conforme escribimos el paquete nos irá apareciendo con su versión correspondiente y la marcamos. Muy Importante, en paquetes a instalar tendremos que indicarle también el nombre del paquete, así se instala de forma obligatoria. Figura 2.6 Figura 2.6 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 32
  33. 33. Administración de Sistemas Gnu/Linux con Migasfree Y en atributos, seleccionaremos ALL-ALL SYSTEMS para que se distribuya el paquete a todos los equipos. Si no fuese así, seleccionaríamos por ejemplo, una determinada tarjeta de red u otros atributos en concreto. Finalmente le damos a “Grabar”. Figura 2.7 Figura 2.7 En el cliente, cuando se realice una actualización del sistema, se procederá a la instalación de forma automática. También se realiza esta acción ejecutando la orden sudo migasfree -u Sexta y Séptima semana (28/4-9/5) Paquete enl-apagado-automático, este paquete está creado desde cero, y consiste en programar el apagado automático del equipo cada vez que el usuario y/o administrador lo configure. Es rutinario que los alumnos se dejen encendidos sus equipos y es necesario que se apaguen automáticamente. Estos tres scripts que se van a mostrar a continuación configuran una tarea en el directorio cron.d para que se active el apagado automático. Una vez más, utilizaremos la herramienta Zenity para dialogar con el usuario y de esa manera pedir a qué hora se apague el sistema. También, mostraremos segundos antes al usuario una cuenta atrás como que el sistema va a ser apagado y si desea cancelarlo. Para terminar nuestro paquete, diseñaremos un script sencillo para poder cancelar la tarea programada y borrarla del directorio cron.d. A continuación, se muestran los scripts y las correspondientes comprobaciones. Durante estas dos semanas ha pasado por diferentes diseños y se ha optado por mostrar un calendario con la hora, otro script que salte segundos antes de apagarse el sistema para informar al usuario y finalmente otro que permita cancelar la tarea programada. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 33
  34. 34. Administración de Sistemas Gnu/Linux con Migasfree (En la octava semana se procederá a crear unas entradas en el menú de aplicaciones para que estos scripts de configuración estén disponibles al usuario del sistema). El fichero con el que vamos a obtener las variables de nuestro primer script se denomina dirs.csv y tiene esta extensión debido a que el formato csv permite representar datos en forma de tabla en las que las columnas se separan por comas y las filas por saltos de línea. De esta forma, vamos a obtener las variables que el usuario haya introducido en el primer script y poder procesarlas con los comandos “cat” y “cut” para ver si son datos correctos o no. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 34
  35. 35. Administración de Sistemas Gnu/Linux con Migasfree Primer script, en el que se pide al usuario la hora y el día a configurar el sistema. #!/bin/bash # Ventana inicial, para activar el apagado automático zenity --question --text="¿Desea activar el apagado automático?" if [ $? = 0 ];then zenity --forms --title="Configurando el apagado automatico" --text="Por favor Introduzca la información correspondiente" --separator="," --add-entry="Hora [hh:mm]" --add-calendar="fecha" > dirs.csv if [ $? = 0 ]; then hora=$(cat dirs.csv|cut -d "," -f1|cut -d ":" -f1) case "$hora" in [0-9][0-9]) # comprobar que las horas tambien sean correctas if [ $hora -gt "24" ]; then zenity --error --text="la hora está mal escrita" exit 0 fi;; *) zenity --warning --title="Error" --text="los datos son incorrectos" exit 0;; esac # Continúa en página siguiente Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 35
  36. 36. Administración de Sistemas Gnu/Linux con Migasfree #Segunda parte. minutos=$(cat dirs.csv|cut -d "," -f1|cut -d ":" -f2) case "$minutos" in [0-9][0-9]) # comprobar que los minutos sean correctos if [ $minutos -gt "60" ]; then zenity --error --text="los minutos estan mal escritos" exit 0 fi;; *) zenity --warning --title="mal" --text="mal" exit 0;; esac dia=$(cat dirs.csv|cut -d "," -f2|cut -d "/" -f1) mes=$(cat dirs.csv|cut -d "," -f2|cut -d "/" -f2) echo "$minutos $hora $dia $mes" > /etc/cron.d/apagado_automatico "*" /usr/bin/cuentaatras service cron restart zenity --warning --title="atención" --text="Ha configurado el apagado automático correctamente." exec 3> >(zenity --notification --window-icon=$ICON --listen) echo tooltip: $"Recuerde que el sistema se apagará a las $hora : $minutos del $dia del $mes" >&3 exit 0 else zenity --error --text="Has pulsado cancelar" exit 0 fi fi Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 36
  37. 37. Administración de Sistemas Gnu/Linux con Migasfree Pruebas realizadas con el primer script: Figura 2.8, pregunta a cerca de la activación o no del apagado automático. Figura 2.8 Figura 2.9, cuadro de diálogo para introducir la hora y seleccionar la fecha deseada. Figura 2.9 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 37
  38. 38. Administración de Sistemas Gnu/Linux con Migasfree Control de errores, verificando que la hora y los minutos son introducidos de forma correcta. Figuras 3.0 y 3.1 Figuras 3.0 y 3.1 Si el proceso se ha realizado bien, se mostraran dos notificaciones avisando de que se ha configurado el apagado automático. Una primera notificación, se mostrará en una ventana normal y una segunda, en un “tooltip” (mensaje informativo de Ubuntu en la parte superior derecha de la pantalla.) Primera ventana de aviso, figura 3.3 Figura 3.2 “Tooltip” informativo con la hora y el día configurados, este mensaje desaparece a los pocos segundos de ser mostrado: Figura 3.3 Figura 3.3 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 38
  39. 39. Administración de Sistemas Gnu/Linux con Migasfree Segundo script, denominado cuentaatras y que hemos realizado su llamada en el primer script para que se apague él sistema. En la hora programada, saltará una ventana con tiempo regresivo, informando de que el sistema va a ser apagado de forma inmediata y si desea cancelarse el proceso. Si el usuario no realiza ninguna acción, se ejecutará la orden shutdown –h now y el sistema se apagará automáticamente. #!/bin/bash ( echo "99" ; sleep 1 echo "90" ; sleep 1 echo "80" ; sleep 1 echo "70" ; sleep 1 echo "60" ; sleep 1 echo "50" ; sleep 1 echo "40" ; sleep 1 echo "30" ; sleep 1 echo "20" ; sleep 1 echo "10" ; sleep 1 ) | zenity --progress --window-icon=$ICON --title $"Atención, el sistema va a ser apagado" --text=$"Tu sistema se apagará en 10 segundos.n <b>Para abortar, click en cancelar!</b>" --percentage=0 --auto-close --auto-kill if [ $? = -1 ] ; then zenity --error --text="Abortado por el usuario!" fi #Orden correspondiente para que el sistema se apague shutdown -h now Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 39
  40. 40. Administración de Sistemas Gnu/Linux con Migasfree Ventana que realiza el proceso de cuenta atrás: Figura 3.4 Figura 3.4 Octava semana (12/5-16/5) Script para anular el apagado automático del sistema: #!/bin/bash # Ventana inicial, para activar el apagado automático zenity --question --text="¿Desea desactivar el apagado automático?" # Si la respuesta es afirmativa, entonces se borrará el fichero apagado automatico del directorio cron.d if [ $? = 0 ]; then # Borramos el fichero de la carpeta cron.d sudo rm /etc/cron.d/apagado_automatico zenity --info --title="Desactivado apagado automático" --text="Ha desactivado el apagado automático del sistema" exit 0 fi Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 40
  41. 41. Administración de Sistemas Gnu/Linux con Migasfree Ventana para desactivar o no el apagado automático: (Figura 3.5) Figura 3.5 Ventana informativa de que ha sido desactivado el apagado automático: (Figura 3.6) Figura 3.6 Preparando los lanzadores en el menú de aplicaciones: Estos lanzadores se encontrarán en el directorio /usr/share/applications y su icono presonalizado en /usr/share/icons Creamos estos directorios y vamos a diseñar los lanzadores. Nos colocamos en /usr/share/applications y creamos un fichero llamado: Desprogramar_apagado.desktop Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 41
  42. 42. Administración de Sistemas Gnu/Linux con Migasfree En él vamos a introducir el siguiente contenido para colocarlo en nuestro menú de aplicaciones: [Desktop Entry] Encoding=UTF-8 Name=Not Shutdown System diary Name[es]=Deshabilitar Apagado Automático Comment=Not Shutdown System diary Icon=shutdown Exec=gksudo /usr/bin/desprogramar_apagado Terminal=false Type=Application Categories=Settings;System;PackageManager; StartupNotify=true X-GNOME-Autostart-Notify=true X-GNOME-Autostart-enabled=true X-GNOME-Autostart-after=panel X-KDE-Autostart-Notify=true X-KDE-Autostart-enabled=true X-KDE-Autostart-after=panel Hidden=false La lína Name[es] va a contener el nombre que va a recibir el script y que se mostrará en el menú. Una linea muy importante es Exec=gksudo /usr/bin/desprogramar_apagado la orden gksudo nos indica que para ejecutar este script es necesario ser superusuario. Cada vez que lancemos este script el propio sistema nos pedirá la contraseña de superusario. Aquí indicamos donde se encuentra el script a ejecutar. (Figura 3.7) Figura 3.7 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 42
  43. 43. Administración de Sistemas Gnu/Linux con Migasfree Una vez introducido el contenido anterior, guardamos el fichero y procedemos a crear el siguiente llamado programar_apagado.desktop. Este fichero nos permitirá lanzar el script de apagado diario. Introducimos el siguiente contenido (similar al anterior pero modificando nombre y la linea Exec llamando al fichero a ejecutar): [Desktop Entry] Encoding=UTF-8 Name=Shutdown System diary Name[es]=Programar Apagado Diario Comment=Shutdown System diary Icon=shutdown Exec=gksudo /usr/bin/programar_apagado_diario Terminal=false Type=Application Categories=Settings;System;PackageManager; StartupNotify=true X-GNOME-Autostart-Notify=true X-GNOME-Autostart-enabled=true X-GNOME-Autostart-after=panel X-KDE-Autostart-Notify=true X-KDE-Autostart-enabled=true X-KDE-Autostart-after=panel Hidden=false Guardamos el fichero y procedemos a crear el ultimo lanzador, para programar el apagado de forma ocasional. Lo denominamos programar_apagado_ocasional.desktop y le incluimos el siguiente contenido: (similar al anterior pero modificando nombre y la linea Exec llamando al fichero a ejecutar) [Desktop Entry] Encoding=UTF-8 Name=Shutdown System Name[es]=Programar Apagado Ocasional Comment=Shutdown System Icon=shutdown Exec=gksudo /usr/bin/programar_apagado_ocasional Terminal=false Type=Application Categories=Settings;System;PackageManager; StartupNotify=true X-GNOME-Autostart-Notify=true X-GNOME-Autostart-enabled=true X-GNOME-Autostart-after=panel X-KDE-Autostart-Notify=true X-KDE-Autostart-enabled=true X-KDE-Autostart-after=panel Hidden=false Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 43
  44. 44. Administración de Sistemas Gnu/Linux con Migasfree Ahora vamos a crear el directorio donde vamos a albergar el icono personalizado para nuestros scripts anteriores. La estructura es la siguiente: /usr/share/icons/hicolor/apps Aquí vamos a introducir nuestro icono llamado shutdown.svg y que hemos indicado en los ficheros .desktop en la línea Icon para que aparezca en el ménu de aplicaciones: Figura 3.8 Llego la hora de crear el paquete, en la terminal vamos a ejecutar la siguiente orden con el nombre del paquete que deseemos poner: vx-package-new enl-apagado-automatico Este proceso realizará una carpeta con el nombre del paquete y unos ficheros de configuración que vimos más afondo en el script de comprobar la IP (chancelog, copyright...). Para tener una guía cerca y tratar de no perderse, tendremos cerca el manual de requerimientos de debian. https://www.debian.org/doc/debian-policy/ Dentro de la carpeta enl-apagado-automatico (nuestro paquete), tenemos un directorio llamado Debian, en él se encuentran los ficheros de configuración mencionados anteriormente en la segunda semana de trabajo. Existen muchos ficheros dentro de dicha carpeta Debian, pero vamos a escoger los necesarios para nuestro paquete y los modificaremos como en el script de comprobar la IP. • chancelog. enl-apagado-automatico (1.0-1) unstable; urgency=low * Lanzamiento inicial, para su primera prueba. -- Angel Lafuente <angel.lafuentezgz@gmail.com> Mon, 28 Apr 2014 12:51:41 +0200 • control. Para este paquete de apagado automático no necesitamos ninguna dependencia anterior a su instalación, así que rellenamos la descripción corta y larga. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 44
  45. 45. Administración de Sistemas Gnu/Linux con Migasfree • copyrigh, Nuestro paquete en este caso deseamos que sea licencia GPL-3 al igual que el anterior paquete enl-comprobar-ip Files: * Copyright: 2014 Angel Lafuente <angel.lafuentezgz@gmail.com> License: GPL-3.0+ • Un fichero que no se crea por defecto pero que es muy importante se denomina install, en él indicamos que directorios se tienen que instalar cuando se descargue el paquete por parte del cliente. usr/* Una vez comprobemos que está todo correctamente, pasamos a crear la estructura de directorios del paquete. Para ello, tenemos que pensar donde se albergaran los ficheros necesarios para que el script de apagar el sistema automáticamente funcione. Anteriormente ya hemos creado los directorios y ahora sólo va a ser copiar y pegar dentro del directorio enl-apagado-automatico tal y como se muestra a continuación en la siguiente estructura de directorios. Figura 3.9 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 45 Enl-apagado-automatico usr bin debian share applications icons hicolor scalable apps
  46. 46. Administración de Sistemas Gnu/Linux con Migasfree Posteriormente, si se van desarrollando mejoras para este programa u otros en concreto, se tiene que crear la estructura de directorios y sus ficheros de acuerdo a la estructura del sistema para que se apliquen los cambios correspondientes. Indicarlo también en el fichero install de la carpeta debian. Ya tenemos la fuente del paquete y su estructura de directorios. Ahora generamos el paquete. Nos situamos dentro del directorio del paquete, ejecutamos la orden y salimos: $ cd enl-apagado-automatico $ /usr/bin/debuild --no-tgz-check -us -uc $ cd .. Usamos este comando para subir el paquete generado al servidor. # migasfree-upload -f enl-apagado-automatico _1.0-1_all.deb Introduce usuario: admin Contraseña: admin Version: ENLACES-1 Ubicacion: base Nos vamos al entorno gráfico del servidor, y en notificaciones vemos que hay un paquete huérfano (en mi caso mas, debido a versiones antiguas de otros paquetes). Figura 4.0 Figura 4.0 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 46
  47. 47. Administración de Sistemas Gnu/Linux con Migasfree Nos vamos a repositorios para añadir uno nuevo e introducir allí nuestro paquete de apagar el sistema. Figura 4.1 Figura 4.1 En paquetes/conjuntos, conforme escribimos el paquete nos irá apareciendo con su versión correspondiente y la marcamos.: Figura 4.2 Figura 4.2 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 47
  48. 48. Administración de Sistemas Gnu/Linux con Migasfree Muy Importante, en paquetes a instalar tendremos que indicarle también el nombre del paquete, así se instala de forma obligatoria. Figura 4.3 Figura 4.3 Y en atributos, seleccionaremos ALL-ALL SYSTEMS para que se distribuya el paquete a todos los equipos. Si no fuese así, seleccionaríamos por ejemplo, una determinada tarjeta de red u otros atributos en concreto. Finalmente le damos a “Grabar”. Figura 4.4 Figura 4.4 En el cliente, cuando se realice una actualización del sistema, se procederá a la instalación de forma automática. También se realiza esta acción ejecutando la orden sudo migasfree -u Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 48
  49. 49. Administración de Sistemas Gnu/Linux con Migasfree Comprobamos en nuestro cliente que tras realizar sudo migasfree -u se han añadido los iconos y los scripts correctamente en nuestro menú de aplicaciones. Figura 4.5 Figura 4.5 Novena semana (19/5-23/5) Paquetes que personalizan la instalación de nuestro sistema operativo, que están obtenidos desde la plataforma Github Vitalinux y adaptados al centro. Paquete enl-xdm, nos permite elegir con que versión de escritorio va a arrancar nuestro sistema operativo, colocar el fondo corporativo y el logo cuando se inicie. En la distribución que vamos a crear, el escritorio elegido es Gnome Classic. Paquetes por defecto en la instalación, una vez modificados y diseñados los paquetes, pasamos a organizar cuales de ellos formaran parte de la imagen .iso. Para ello, tenemos que marcar en cada repositorio, que paquetes se instalarán por defecto en la distribución a la hora de crear la imagen .iso Figura 4,6. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 49
  50. 50. Administración de Sistemas Gnu/Linux con Migasfree Figura 4.6 Una vez los paquetes estén incluidos por defecto, los eliminaremos de paquetes a instalar. Una vez instalados los paquetes que personalizan nuestro sistema operativo Ubuntu 12.04 y los paquetes de administración, es el momento de generar nuestra distribución. Para ello, vamos a obtener el paquete vx-create-iso de la plataforma https://github.com/vitalinux/vx- create-iso este paquete nos va a permitir generar imágenes iso a partir de los cambios que se han realizado anteriormente. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 50
  51. 51. Administración de Sistemas Gnu/Linux con Migasfree Es decir, se parte de una imagen “pelada” de Ubuntu 12.04 y cuando se realiza el proceso de crear el fichero .iso se le incorporan todos los paquetes realizados anteriormente. La configuración del cliente, los iconos personalizados, la comprobación de la IP, la personalización del fondo de escritorio... Todos aquellos paquetes que se hayan definido por defecto a la hora de realizar la imagen. Instalamos el paquete vx-create-iso con el comando: dpkg –i vx-create-iso Y nos situamos desde una terminal, en el directorio donde se encuentre una iso de Ubuntu 12.04 Limpia. En otra terminal, modificaremos el archivo de configuración de vx-create-iso para indicarle el nombre que va a tener la distribución, que fecha, y de donde tiene que obtener los paquetes a instalar por defecto. Una vez comprobado todo y sin cerrar nuestro servidor de Migasfree en la terminal con el directorio anterior abierto, ejecutaremos: Vx-create-iso Y nuestra iso comenzará el proceso de creación, dependiendo de los paquetes necesarios, el proceso se realizará en una hora más o menos. Terminado el proceso, la iso se encontrará en el directorio raíz y lista para ser instalada. Si se desea tener un live CD o un live USB utilizaremos también la herramienta de la plataforma https://github.com/vitalinux/vx-iso2usb y su proceso es muy sencillo. Seleccionamos la Imagen iso y en la siguiente ventana, en que dispositivo va a instalarse. El software creará el live CD o live USB y estará listo para llegar y usar. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 51
  52. 52. Administración de Sistemas Gnu/Linux con Migasfree Décima semana (26/5-30/5) Pruebas con Distribución Ubuntu 14.04 Lts • Instalación del Cliente Migasfree, satisfactoria realizando el mismo proceso indicado en Ubuntu 12,04 Lts. Pero modificando la versión del cliente por la nueva Distribución. A la hora de instalar los paquetes que personalizan la distribución, surge un problema bastante importante con el paquete enl-dconf-profile, éste último no configura los paquetes necesarios y el sistema se queda “colgado”. Veamos los cambios que hay que realizar para que funcione correctamente: • Paquete enl-dconf-profile, cambio en la configuración del paquete, el entorno gráfico de gnome classic no se mostraba correctamente con la configuración de Ubuntu 12,04 Lts. Para solucionar este problema, tenemos que modificar en nuestro paquete, el fichero “user” en el directorio /etc/dconf/profile/user y sustituir el contenido existente por el siguiente. user-db:user system-db:local Guardamos el fichero de configuración, editamos el fichero chancelog que se encuentra dentro de nuestro paquete en /debian/chancelog para subir la versión al paquete: enl-dconf-profile (1.0-2) unstable; urgency=low * Se modifica el fichero user para que sea compatible con Ubuntu 14.04. -- Angel Lafuente <angel.lafuentezgz@gmail.com> Mon, 26 May 2014 10:55:47 +0200 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 52
  53. 53. Administración de Sistemas Gnu/Linux con Migasfree Generamos el paquete: $ cd enl-dconf-profile $ /usr/bin/debuild --no-tgz-check -us -uc $ cd .. Subiendo al servidor el paquete: Usamos este comando para subir el paquete generado al servidor, pero en este caso, cambiamos la versión por la correspondiente a Ubuntu 14,04 Lts. # migasfree-upload -f enl-dconf-profile _1.0-2_all.deb Introduce usuario: admin Contraseña: admin Version: Ubuntu-14.04 Ubicacion: base En el servidor, nos situamos en la versión correspondiente (Ubuntu-14.04) y vemos que existe un paquete huérfano, generamos un repositorio de la misma manera que en la versión ENLACES-1 y le asignamos el paquete enl-dconf-profile _1.0-2_all.deb En atributos seleccionamos ALL-ALL SYSTEMS y finalmente Grabamos. Cuando el usuario realice migasfree -u en Ubuntu 14.04 Lts se instalará el paquete. Una vez la sesión gráfica sea restaurada, los cambios serán visibles y las configuraciones personalizadas como el logotipo del centro en el menú de aplicaciones se mostrarán. • Paquete enl-desktop-theme, con el diseño correspondiente a la distribución Ubuntu 12.04 se muestran de forma errónea los colores en la barra de tareas. Para solucionar este problema, vamos a utilizar el própio tema “Ambiance” que se encuentra en Ubuntu 14.04 Lts. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 53
  54. 54. Administración de Sistemas Gnu/Linux con Migasfree Undécima semana (2/6-6/6) Implementación del Sistema Migasfree en CP.I.F.P. Los Enlaces. El primer paso va a ser exportar la máquina virtual de VirtualBox para migrarla a VMWare que es el software que se encuentra en el centro. Las máquinas de VirtualBox no son directamente compatibles con VMware Player (ni ningún otro VMware, para el caso) así que el primer paso es exportarla desde VirtualBox. Abrimos la consola de VirtualBox y en el menú “Archivo” seleccionamos “Exportar servicio virtualizado…“. Nos aparecerá una lista con todas nuestras máquinas virtuales, donde podemos seleccionar todas las que queramos para exportar. Figura 4.7 Figura 4.7 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 54
  55. 55. Administración de Sistemas Gnu/Linux con Migasfree Pulsamos “Siguiente” y elegimos dónde queremos dejar la máquina exportada. Se guardará en formato OVA/OVF (Open Virtualization Format Archive). Figura 4.8 Figura 4.8 Terminamos de Realizar el proceso de Exportación de la máquina virtual. Figura 4.9 Figura 4.9 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 55
  56. 56. Administración de Sistemas Gnu/Linux con Migasfree Lo primero es desempaquetar el archivo OVA, que no es más que un TAR de una maquina en formato OVF. Para hacerlo lo mejor es usar una herramienta gratuita de VMware: Open Virtualization Format Tool ovftool --lax [archivo.ova] [archivo.ovf] Una vez desempaqueta el OVA aparecen 3 tipos de archivo: • Archivo descriptor OVF, un archivo de texto en formato XML • Imagen de los discos en formato VMDK • Archivo MF, un archivo de texto con el HASH en SHA1 de los archivos OVF y VMDK Una vez llegados a este punto si intentamos incorporar el OVF aparecerá el siguiente error: Unsupported hardware family 'virtualbox-2.2'. Es necesario editar el archivo OVF, y buscar una entrada parecida a: <vssd:VirtualSystemType>virtualbox-2.2</vssd:VirtualSystemType> y cambiarla por : <vssd:VirtualSystemType>vmx-08</vssd:VirtualSystemType> También será necesario cambiar las controladoras SATA por otras de tipo SCSI, cambiando apartados como éste: Figura 5.0 Figura 5.0 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 56
  57. 57. Administración de Sistemas Gnu/Linux con Migasfree Por otro como éste: Figura 5.1 Figura 5.1 Una vez cambiado sólo falta volver a calcular el HASH del archivo OVF. En el caso de estar con Linux seguramente ya tendremos disponible la utilidad sha1sum. fciv.exe -sha1 [archivo.ovf] En cuanto actualicemos el archivo ya estaremos en disposición de incorporar el Appliance a VMWare. Una vez tengamos la máquina importada en VMWare, dispondremos de un servidor Migasfree desplegado en el C.P.I.F.P. Los Enlaces y se procederá a instalar los clientes según las necesidades. El paquete correspondiente al cliente Migasfree ya se ha diseñado y explicado en este documento. Mediante VPN se realiza la configuración del servidor Migasfree, desde las Instalaciones del Ayuntamiento de Zaragoza. Se preparan los paquetes que han sido solicitados por los docentes (Packet Tracer, Filezilla, Chrome,...) y se crean los repositorios correspondientes. Para poder distinguir a que taller pertenece cada aplicación, vamos a crear una nueva propiedad en el servidor migasfree. Con esta operación vamos a distingir los talleres por la dirección IP que les corresponde. Vamos pues a diseñar dicha propiedad y a ver como funciona. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 57
  58. 58. Administración de Sistemas Gnu/Linux con Migasfree Nos vamos a Propiedades: Figura 5.2 Figura 5.2 Añadimos una nueva propiedad: Figura 5.3 Figura 5.3 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 58
  59. 59. Administración de Sistemas Gnu/Linux con Migasfree Rellenamos los datos y colocamos nuestro código en Python que se muestra a continuación. Figura 5.4 Figura 5.4 Código en Python que importa desde Migasfree la IP que tiene el equipo y la compara. Si la ip comienza por la primera opción, el equipo pertenecerá al Taller ASIR. Si la IP comienza por la segunda opción, el equipo pertenecerá al Taller DAW. import migasfree_client.network ip=migasfree_client.network.get_network_info()['ip'] if ip.startswith("172.30.166."): print "ASIR" if ip.startswith("172.30.168."): print "DAW" Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 59
  60. 60. Administración de Sistemas Gnu/Linux con Migasfree Una vez tengamos el código listo, pasamos a grabar la propiedad. Figura 5.5 Figura 5.5 El último paso será indicar qué repositorios van a ir a cada taller. Nos vamos a repositorios, en el deseado, bajamos hasta atributos y ponemos la propiedad. Figura 5.6 Figura 5.6 Con esto se consigue que cada Taller tenga sus aplicaciones de forma individualizada. Surge un pequeño inconveniente a la hora de distribuir los paquetes para los equipos. Por defecto los repositorios en el servidor se generan para la arquitectura i386 y los equipos del centro son de 64 bits. Para solucionar esto tenemos que realizar los siguientes pasos y rehacer los repositorios. Vamos al menú de opciones y entramos en P.M.S. Figura 5.7 Figura 5.7 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 60
  61. 61. Administración de Sistemas Gnu/Linux con Migasfree Una vez dentro seleccionamos el sistema gestor de paquetes, en nuestro caso apt-get. Figura 5.8 Figura 5.8 En el sistema de gestión de paquetes apt-get tenemos que añadir las líneas que se encuentran en un rectángulo rojo, y una vez realizado este proceso, borramos el repositorio y lo creamos otra vez desde cero. Realizando estos pasos, los repositorios ya estarán listos para versiones de 64 bits. Figura 5.9 Figura 5.9 Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 61
  62. 62. Administración de Sistemas Gnu/Linux con Migasfree Paquetes que han sido propuestos por los docentes del centro, estos se encuentran como disponibles en el servidor Migasfree para su posterior instalación cuando se desee. 2º ASIR 2º DAW VirtualBox Phpmyadmin Filezilla Netbeans Wireshark Sublime Text Cisco Packet Tracer Brackets Proxy Apache2 Google-Chrome Chromium-browser Duodécima semana (9/6-11/6) Evaluación final del proyecto con los colaboradores de la empresa y realización de modificaciones necesarias que surjan. Se practica la defensa del proyecto con los compañeros y se diseñan las diapositivas que se expondrán el día de la defensa. Además se adjuntan los paquetes que se han utilizado durante el proceso de elaboración del proyecto y los anexos que se encuentran más abajo explicados. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 62
  63. 63. Administración de Sistemas Gnu/Linux con Migasfree 4.4 Recursos: a) Materiales: HP Compaq Elite 8300 SFF (QV996AV) Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz Memoria RAM DDR3 1600 MHz, 4 GB Tarjeta de red 82579LM Gigabit Network Connection Disco Duro ATA Seagate con 250 GB Lector-grabador DVD-RAM SW820 Monitor LCD Samsung SyncMaster 203B de 20 Pulgadas b) Infraestructura y equipamiento: Red Municipal GigaBit Ethernet correspondiente al Departamento de Redes y Sistemas del Ayuntamiento de Zaragoza. c) Humanos: Técnicos colaboradores en el Departamento de Redes y Sistemas del Ayuntamiento de Zaragoza: Eduardo Romero (Tutor FCT) Alberto Gacías. Desarrollador de Migasfree y autor del Libro “Fun with migasfree ” José António Chavarría. Desarrollador de Vitalinux y MigasFree. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 63
  64. 64. Administración de Sistemas Gnu/Linux con Migasfree 5 Presupuesto: A continuación se representan dos modelos de presupuestos con un pack opcional de 20 horas de formación en Migasfree para el C.P.I.F.P. Los Enlaces. (Datos Personales NO REALES) Primer presupuesto, se indica una cantidad de 8 € por cada equipo donde se desee instalar el cliente Migasfree. Se han indicado aproximadamente 20 equipos calculando el tamaño del aula. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 64 Nombre: Ángel Lafuente Castán Datos del cliente: Dirección: ***** Nombre: C.P.I.F.P. Los Enlaces Población: Zaragoza Dirección: Jarque del Moncayo Nº 10 Cpostal: 50017 Población: Zaragoza CIF/NIF: 12345678Z CIF/NIF: Q1234567C Teléfono/Fax: ***** Teléfono/Fax: 976 300 804 Teléfono Móvil: ***** Fecha de Presupuesto: 22/05/2014 Validez: 30 Días Descripción: Precio Unitario Cantidad/horas total 50 €/hora 4 horas 200,00 € 160,00 € 200,00 € 1 año 200,00 € TOTAL BRUTO 560,00 € IVA 21,00% 117,60 € TOTAL PRESUPUESTO 677,60 € Pack opcional 20 horas de formación por valor de 600 € Forma de Pago: Ingreso en cuenta bancaria. Instalación Servidor Migasfree: * Base de datos Postgresql * Paquete Migasfree Server * Creación Base de Datos Migasfree * Instalación del cliente en el servidor Instalación cliente Migasfree En cada equipo del aula. 8 €/Unidad 20 Unidades Mantenimiento Migasfree de 1 año: * Actualizaciones de servidor y clientes. * Copias de seguridad cada mes. Nombre y apellidos de la persona que confecciona el presupuesto: ACEPTO EL PRESUPUESTO Nombre, apellidos y firma del cliente:
  65. 65. Administración de Sistemas Gnu/Linux con Migasfree Segundo presupuesto, se diseña una distribución propia para el centro, partiendo de Ubuntu 12,04 Lts y se incluye además, la instalación del cliente Migasfree. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 65 Nombre: Ángel Lafuente Castán Datos del cliente: Dirección: ***** Nombre: C.P.I.F.P. Los Enlaces Población: Zaragoza Dirección: Jarque del Moncayo Nº 10 Cpostal: 50017 Población: Zaragoza CIF/NIF: 12345678Z CIF/NIF: Q1234567C Teléfono/Fax: ***** Teléfono/Fax: 976 300 804 Teléfono Móvil: ***** Fecha de Presupuesto: 22/05/2014 Validez: 30 Días Presupuesto con Distribución personalizada e instalación de cliente Migasfree incluido en ella. Descripción: Precio Unitario Cantidad/horas total 50 €/hora 4 horas 200,00 € 500,00 € 1 Unidad 500,00 € 200,00 € 1 año 200,00 € TOTAL BRUTO 900,00 € IVA 21,00% 189,00 € TOTAL PRESUPUESTO 1.089,00 € Pack opcional 20 horas de formación por valor de 600 € Forma de Pago: Ingreso en cuenta bancaria. Instalación Servidor Migasfree: * Base de datos Postgresql * Paquete Migasfree Server * Creación Base de Datos Migasfree * Instalación del cliente en el servidor Distribución Ubuntu 12.04 Personalizada: (Se incluye instalación de Cliente Migasfree) * Paquete ubiquity-slideshow * Paquete ubiquity * Paquete Migasfree Client * Paquete Desktop-Wallpapers * Paquete Desktop-icons * Paquete Desktop Settings * Paquete Desktop Theme * Paquete XDM * Paquete Comprobar IP * Paquete Apagado Automático * Paquete utils * Paquete bootsplash * Paquete dconf profile * Paquete create iso * Paquete iso2usb * Paquete Migasfree Launcher Mantenimiento Migasfree de 1 año: * Actualizaciones de servidor y clientes. * Copias de seguridad cada mes. Nombre y apellidos de la persona que confecciona el presupuesto: ACEPTO EL PRESUPUESTO Nombre, apellidos y firma del cliente:
  66. 66. Administración de Sistemas Gnu/Linux con Migasfree 6 Resultados Obtenidos y Conclusiones: Con la implementación del sistema Migasfree en el Centro se ha conseguido una gestión centralizada de los equipos correspondientes a los talleres de informática. Permitiendo así un ahorro de tiempo considerable al administrador de sistemas informáticos en red. Creación de paquetes de acuerdo a determinadas peticiones y su posterior liberación a los talleres con una serie de repositorios según los atributos que dispongan los equipos. Diseño de una Distribución de Ubuntu 12.04 personalizada con los paquetes explicados en el proyecto y acorde a las necesidades del C.P.I.F.P. Los Enlaces. Y finalmente la instalación de un servidor Migasfree para administrar de forma remota los clientes que se encuentra albergado en el própio centro. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 66
  67. 67. Administración de Sistemas Gnu/Linux con Migasfree 7 bibliografía: Migasfree: Libro “Fun with Migasfree” de Alberto Gacías. http://www.migasfree.org/repo/book/html/ GitHub Migasfree https://github.com/migasfree/ Vitalinux: GitHub Vitalinux https://github.com/vitalinux/ Repositorios oficiales de Ubuntu http://archive.ubuntu.com/ Debian: Manual Debian Policiy https://www.debian.org/doc/debian-policy/ Paquetería https://wiki.debian.org/MaintainerScripts/ Licencias http://www.gnu.org/licenses/licenses.es.html http://es.wikipedia.org/wiki/GNU_General_Public_License Universidad de Zaragoza http://softlibre.unizar.es/manuales/ Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 67
  68. 68. Administración de Sistemas Gnu/Linux con Migasfree Ayuntamiento de Zaragoza http://www.zaragoza.es/contenidos/azlinux/migracionescritoriosl.pdf http://zaragozaciudad.net/azlinux/ http://www.slideshare.net/eduromo/azlinux-master-software-libre-urjc-2012 Archivo: Excmo. Ayuntamiento de Zaragoza (Intranet, fichero adjunto a este proyecto) Software http://www.sublimetext.com/3 https://www.netacad.com/ https://www.virtualbox.org/wiki/Linux_Downloads http://brackets.io/ https://www.google.com/chrome/browser/?platform=linux&extra=devchannel Convertir .ova de VirtualBox a .ovf http://www.hmartinezlopez.es/2013/11/ova-de-virtualbox-desplegado-como-ovf.html Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 68
  69. 69. Administración de Sistemas Gnu/Linux con Migasfree 8 Agradecimientos: Muchas gracias a la comunidad educativa de Los Enlaces desde mis inicios allá por el 2003. A los docentes que ya no están con nosotros y que dejaron una profunda huella en mí. Seguro que desde allá donde estén se sentirán orgullosos del trabajo realizado durante estos años. Como no, al departamento de Proyecto de Integración de Espacios Escolares (PIEE) y a l personal no docente porque sin ellos no funcionaría el centro. A todos los docentes de E.S.O. y Bachillerato que tuvieron muchísima paciencia en sacarnos adelante y apoyarnos a pesar de repetir algún que otro curso. A los docentes de Gestión de Transporte, sin ellos no hubiese podido llegar a realizar las prácticas donde deseaba. Construcción y Auxiliar de Ferrocarriles, fanático total de trenes y justo con el proyecto del Tranvía de Zaragoza. ¿Qué más se pudo pedir? A los docentes de Administración de Sistemas Operativos en Red, por los conocimientos que he adquirido en informática. Con un poco de tensión en segundo y mucho esfuerzo, se consigue otro objetivo. Pasar 3 meses de prácticas en el Departamento De Redes y Sistemas del Ayuntamiento de Zaragoza. Qué decir de la gran familia que hay en el Ayuntamiento de Zaragoza, trabajo, risas y compañerismo. Con ganas de no marcharme nunca de allí, me quedo con un gran recuerdo y gratitud por su colaboración en este proyecto. Seguro que nos volveremos a ver por el Departamento de Redes y Sistemas. No me olvido de todos mis compañeros que he tenido durante este camino en los Enlaces y los amigos que han estado ahí en los momentos difíciles. Por último, y no menos importante, a mis padres por el gran esfuerzo que han invertido en mi educación. A toda mi familia que me han animado a seguir estudiando y en especial a mi tía Gloria que me inició desde niño a conocer el mundo de la informática. Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 69
  70. 70. Administración de Sistemas Gnu/Linux con Migasfree Proyecto Final realizado por: Ángel Ventura Lafuente Castán 2º ASIR C.P.I.F.P. Los Enlaces Zaragoza 2013/2014 angel.lafuentezgz@gmail.com Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original. GPLv3 Ángel Ventura Lafuente Castán Proyecto Final – Ángel Ventura Lafuente Castán – ASIR – C.P.I.F.P. Los Enlaces 70

×