Guía de uso

La reacción al cacahuete.

El interfaz de administración

Mantén tus ojos en las estrellas y tus pies en la tierra.

—Theodore Roosevelt.

Antes de profundizar en el uso de migasfree, déjame que te describa el interfaz de administración del servidor migasfree mediante la siguiente imagen.

interfaz de administración.
  1. Nombre de tu organización (o instancia del servidor) definido en el ajuste de configuración del servidor: MIGASFREE_ORGANIZATION.

  2. Menú.

    • Configuración.
    • Dispositivos.
    • Liberación.
    • Datos.
    • Consultas.
  3. Búsqueda rápida de ordenador.

  4. Selección de Dominios.

  5. Selección de Ámbitos.

  6. Alertas.

  7. Usuario que ha iniciado sesión. Permite el Cambio de contraseña.

  8. Miga de pan. Debajo de la miga de pan aparece el nombre de los datos con los que estamos trabajando, Ordenadores en este caso. A continuación del nombre aparecería un simbolo + para introducir más datos en caso de disponer permisos para ello.

  9. Filtros predefinidos.

  10. Búsqueda.

  11. Acciones sobre los datos:

    • Selecciona los datos (12).
    • Elije una acción.
    • Pulsa en el botón ir.
  12. Datos.

Ayudas

Ahora fíjate que en el interfaz de administración, abajo a la derecha, hay tres iconos de ayuda.

Ayudas.

El primer icono, representa al modelo de datos. Te proporciona información contextual de las tablas y campos de la Base de Datos junto con sus relaciones con otras tablas. Puede serte útil para obtener información a la hora de realizar consultas SQL a la Base de Datos.

Mediante el segundo icono podrás acceder a la documentación de la Migasfree REST API. Desde aquí podrás realizar llamadas directamente a la API y ver la respuesta del servidor. Muy útil para el desarrollo de programas que hacen uso de ella.

El último icono, el del libro, también es una ayuda contextual. Pulsando en él, y dependiendo de en que menú estés situado, se te dirigirá a la sección de la Guía de uso de Fun with migasfree en la que se describe lo que estás viendo en ese momento.

Datos relacionados

Ahora fíjate en cómo podemos navegar fácilmente por los datos relacionados, pulsando en el triángulo que aparece a la derecha de los elementos.

Datos relacionados.

Para acceder a los datos relacionados pulsa sobre el número de elementos.

Mas adelante, cuando cojas soltura, podrás añadir tus propias acciones externas tales como VNC, PING, SSH, etc. mediante el ajuste MIGASFREE_EXTERNAL_ACTIONS de los Ajustes del servidor migasfree, pero por ahora creo que es suficiente.

La configuración del sistema migasfree

El hombre razonable se adapta al mundo; el irrazonable intenta adaptar el mundo a sí mismo. Así pues, el progreso depende del irrazonable.

—George Bernard Shaw

En capítulos anteriores, has aprendido a instalar el servidor y el cliente migasfree, así como a crear paquetes. La creación de paquetes no es una tarea trivial, no tanto por su construcción en sí, sino por el hecho de que son necesarios amplios conocimientos de los sistemas operativos y de las aplicaciones.

En este y en los siguientes tres capítulos, vas a aprender a adaptar y usar el servidor migasfree.

Fórmulas

En migasfree, una fórmula es una característica de los equipos o de los usuarios, y que nos servirá para desplegar los paquetes.

Como administrador de migasfree, una de las primeras tareas que debes realizar es definir estas fórmulas. Debes preguntarte en función de qué características vas a realizar los despliegues. Por ejemplo, ¿te interesa desplegar los paquetes por el HOSTNAME de los equipos?, ¿y por subred? ¿Qué tal por el grupo al que pertenece el usuario en el LDAP? ¿O por su contexto LDAP?

Nota

En AZLinux, usamos principalmente el contexto LDAP al que pertenece el usuario para desplegar los cambios por los distintos servicios o departamentos de nuestro ayuntamiento, y en menor medida usamos también el CID.

Una fórmula es un código que se programa en un registro de la base de datos de migasfree. Estas fórmulas serán ejecutadas en cada uno de los clientes migasfree y sus valores de retorno serán devueltos al servidor como atributos.

Nota

El atributo es el valor concreto que toma una fórmula al ser ejecutada en un equipo.

Veamos un ejemplo sencillo de todo esto con la fórmula MACHINE NAME. Accede a la web de tu servidor migasfree y ve a Configuración-Fórmulas-MACHINE NAME. En este registro, verás el siguiente código escrito en python.

import platform
print platform.node()

Si ejecutas python en una consola y escribes estas dos líneas, verás que python muestra, por la salida estándar, el nombre de tu equipo.

$ python
Python 2.7.3 (default, Apr 10 2013, 05:46:21)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import platform
>>> print platform.node()
white

En mi caso me ha devuelto white, que es el nombre de mi portátil. ¿A que no aciertas de qué color es?

Esto es, en definitiva, lo que hace el cliente migasfree: obtiene del servidor la fórmula MACHINE NAME (su código), la ejecuta y devuelve al servidor el resultado como atributo (HST-white).

Podrías haber escrito la fórmula también en código bash simplemente llamando al comando de Linux hostname o escribiendo echo $HOSTNAME (el resultado sería el mismo), pero utilizar código python nos permite, en este caso, usar la misma fórmula también para plataformas Windows o Mac OS.

Campos de la Fórmula

Observa cada uno de los campos de la fórmula:

  • Prefijo: Es una combinación de tres números o letras. Este prefijo se utiliza para agrupar e identificar los atributos.

  • Nombre: Denomina a la fórmula.

  • Habilitado: Indica si está activa la fórmula. Si no está marcado, la fórmula no será ejecutada en los clientes.

  • Lenguaje de programación: En el que está escrito el código de la fórmula.

  • Código: Instrucciones a ejecutar en los clientes para obtener atributos.

  • Clase: Hay cuatro tipos de clases y que nos permiten tratar el valor devuelto por la fórmula de diferentes maneras:

    • Normal. El valor devuelto por la fórmula viene con el siguiente formato:

      <valor>~<Descripción>
      

      o, simplemente, como:

      <valor>
      
    • Lista: El valor al ejecutar la fórmula en el cliente es una lista de atributos separados por una coma. Puedes ver un ejemplo en la fórmula PCI. Su formato es:

      <valor>~<Descripción>, ...
      
    • Añadir por la derecha: Permite añadir atributos de la siguiente manera: Si el valor devuelto por la fórmula es «CONTEXTO1.CONTEXTO2.MIEMPRESA», el servidor interpreta que el equipo tiene estos tres atributos:

      • MIEMPRESA
      • CONTEXTO2.MIEMPRESA
      • CONTEXTO1.CONTEXTO2.MIEMPRESA

      Se utiliza esta clase para crear atributos relacionados con LDAP.

    • Añadir por la izquierda. Lo mismo que la anterior, pero agregando por la izquierda.

      • CONTEXTO1
      • CONTEXTO1.CONTEXTO2
      • CONTEXTO1.CONTEXTO2.MIEMPRESA
  • Añadir automáticamente: Si este campo está marcado, los nuevos atributos serán añadidos automáticamente a la base de datos de migasfree. En caso contrario es el administrador de migasfree el responsable de añadir manualmente los atributos para esta fórmula. Se pueden añadir atributos manualmente accediendo a Datos-Atributos.

Fórmulas específicas

Existen unas fórmulas predefinidas que tienen unos objetivos muy concretos y que no pueden ser eliminadas del sistema. Lo más característico de ellas es que no son ejecutadas en el cliente sino en el servidor.

  • SET: Esta fórmula tiene un atributo llamado SET-ALL SYSTEMS. Todos los ordenadores tendrán este atributo sin excepción. Sirve para referirse a todos los ordenadores. Por ejemplo, si en un despliegue asignas este atributo, todos los ordenadores tendrán acceso a él. Es habitual usarlo también en la última demora de un calendario. Esta fórmula, además, se usa internamente para definir Conjuntos de Atributos.

  • CID: Computer Identificator. Esta fórmula generará un atributo que es igual al campo id de la tabla computer de la Base de Datos de migasfree.

    Dicho atributo CID es único por cada ordenador y se utiliza en lugar de referirse al UUID de la placa base de un ordenador siendo el más recomendado para señalar a un ordenador en concreto (procesos como el Reemplazo de ordenadores tienen en cuenta este atributo).

    Por ejemplo, un atributo CID-572 se correspondería con el UUID 5FD85780-9BC9-11E3-91B8-F0921CF3678D.

    El ajuste MIGASFREE_COMPUTER_SEARCH_FIELDS del servidor, permite configurar búsquedas por otros campos del ordenador a la hora de asignar un determinado CID en el servidor migasfree.

    Cuando un ordenador pasa a un estado Baja o a Disponible todos sus CID asignados en el sistema son eliminados. Ver campo estado de Ordenadores.

    El CID aparece por defecto en la etiqueta del ordenador que muestra el comando migasfree-label.

Categorías de etiquetas

Hasta ahora, has visto que una fórmula es un código que se ejecuta en el cliente para obtener un atributo automáticamente. Ahora bien, pueden existir casos en que no se puede obtener automáticamente estos atributos. Imagina que quieres «etiquetar» ciertos equipos según la funcionalidad que van a realizar (tratamiento gráfico, administración, aula, etc.). Esto no es algo que, a priori, se pueda programar.

En migasfree existe la posibilidad de crear estas etiquetas y asignarlas manualmente a los equipos tal y como harías con una etiqueta física que pegas a un ordenador.

Una etiqueta no ejecutará ningún código en el cliente. Es el propio registro del ordenador en el servidor de migasfree quien lleva asignadas, manualmente, estas etiquetas. A todos los efectos, una etiqueta es un atributo más del sistema y, por tanto, te permitirá hacer el despliegue también en función de ellas.

Por cada Configuración-Categorías de etiquetas, existirá un conjunto de etiquetas que manualmente debes añadir en Datos-Etiquetas. Una vez añadidas, puedes asignarlas a Datos-Ordenadores. También puedes editar Datos-Etiquetas y asignarle un conjunto de ordenadores.

Existe en el cliente el comando migasfree-tags que permite consultar y asignar etiquetas desde el propio cliente.

Para obtener el conjunto de etiquetas que pueden ser asignadas a un ordenador ejecuta:

migasfree-tags --available

Para consultar las etiquetas asignadas a un ordenador ejecuta:

migasfree-tags --get

Para asignar etiquetas al equipo, seleccionando manualmente las etiquetas entre las disponibles en el sistema, ejecuta:

migasfree-tags --set

Para asignar determinadas etiquetas a un equipo, escribe las etiquetas separadas por espacios:

migasfree-tags --set <ETIQUETA1> <ETIQUETA2> ...

Para asignar etiquetas en el servidor migasfree pero que no se produzca ningún cambio de paquetes utiliza:

migasfree-tags --communicate <ETIQUETA1> <ETIQUETA2> ...

Para quitar todas las etiquetas de un equipo, ejecuta:

migasfree-tags --set ""

Las etiquetas están relacionadas con los campos de los despliegues:

  • Paquetes pre-incluidos por defecto
  • Paquetes incluidos por defecto
  • Paquetes excluidos por defecto

ya que al ejecutar el comando migasfre-tags --set se instalarán los paquetes definidos en los pre-incluidos e incluidos y se desinstalarán los paquetes definidos en el campo excluidos, siempre y cuando los atributos asignados al despliegue coincidan con los del equipo. Esto se utiliza para crear la imagen ISO de los escritorios.

Nota

En AZLinux, usamos migasfree-tags básicamente para, partiendo de una imagen ISO de Ubuntu, desinstalar e instalar los paquetes que componen nuestro escritorio y crear una imagen del disco para clonar.

Nota

En Vitalinux, se emplean las etiquetas para cambiar fácilmente de «sabor». Cuando se quiere cambiar de «sabor» (Infantil, Primaria, Profes, …), simplemente se eligen las etiquetas mediante el comando migasfree-tag --set, produciéndose automáticamente la instalación y desinstalación de los paquetes correspondientes. También se utiliza en la creación del DVD, permitiendo hacer una ISO para cada sabor o conjunto de sabores.

Campos de categorías de etiquetas

  • Prefijo: Es una combinación de tres números o letras. Este prefijo se utiliza para agrupar e identificar las etiquetas.

  • Nombre: Denomina el tipo de etiqueta.

  • Habilitado: Si no está marcado, las etiquetas de este tipo no serán funcionales.

  • Clase: El funcionamiento es exactamente igual al campo de mismo nombre que tienen las fórmulas.

    Un valor muy útil que puede tomar este campo es el de añadir por la derecha. Imagina que quieres agrupar los ordenadores por ubicación para liberar software por distintas zonas. Una forma de hacerlo es crear una Categoría de etiqueta llamada p.e. UBICACIÓN definada de clase añadir por la derecha. Después, puedes crear las Etiquetas de tipo UBICACION p.e.:

    UBI-PLANTA-1.SEDE_CENTRAL.MADRID
    

    Cuando un equipo con esta etiqueta asignada se conecta al servidor, automáticamente el servidor interpretará que tiene no una, sino tres etiquetas:

    UBI-MADRID
    UBI-SEDE_CENTRAL.MADRID
    UBI-PLANTA-1.SEDE_CENTRAL.MADRID
    

    Con lo que finalmente podemos liberar software a todo MADRID, a toda la sede central de Madrid, o solamente a la planta 1ª.

    Nota

    Observa que el caracter de delimitación es el punto: .

Conjuntos de Atributos

En ocasiones puedes necesitar agrupar Atributos.

Imagina que tienes muchos equipos a los que asignar una cierta Etiqueta y que te resulta pesado tener que hacerlo uno a uno. Puedes entonces crear un Conjunto de Atributos.

Supón que tienes subredes con un buen ancho de banda y otras subredes que no, y que necesitas liberar software en función de esto. Podríamos crear dos Conjuntos de Atributos:

Conjunto 1:
      Nombre:                 RED LENTA
      Atributos asignados:    NET-192.168.1.0/24
                              NET-192.168.8.0/24

Conjunto 2:
      Nombre:                 RED RAPIDA
      Atributos asignados:    SET-ALL SYSTEMS
      Atributos excluidos:    SET-RED LENTA

De esta manera, cualquier equipo de las subredes 192.168.1.0/24 o 192.168.8.0/24, al ejecutar migasfree -u, se le asignará automáticamente un Atributo: SET-RED LENTA. Al resto de equipos se le asignará el Atributo: SET-RED RAPIDA.

Ahora ya podríamos crear Despliegues y asignarles dichos Atributos.

Los Conjuntos de Atributos no ejecutan ningún código en el cliente, sino que son evaluados en el servidor. Si un ordenador pertenece a un conjunto, se le asigna un Atributo con el mismo nombre que el Conjunto de Atributos.

Campos de Conjuntos de Atributos

  • Nombre: Denomina al conjunto.
  • Habilitado: Indica si el conjunto será evaluado.
  • Atributos incluidos: Lista de Atributos que formarán parte el conjunto.
  • Atributos excluidos: Lista de Atributos a excluir del conjunto.

Definición de Fallas

Una falla es un hecho negativo que se produce en un equipo cliente. Por ejemplo que un equipo se quede con poco espacio en la partición de sistema, es algo a lo que se debe prestar atención y ser solucionado antes de que sea tarde.

Migasfree, mediante las fallas, permite lanzar código en el cliente con este objetivo. Fíjate que las posibilidades son inmensas y que facilita la proactividad.

En definitiva, una falla es un código que se ejecuta en el cliente. Si el código escribe algo por la salida estándar, ésta será enviada al servidor como Falla. El servidor entonces añadirá un registro de Falla, apareciendo en las Alertas de los usuarios de migasfree.

Campos de Definición de Falla

  • Nombre: Denomina a la falla.
  • Habilitado: Activa o desactiva la falla.
  • Descripción: Para detallar lo que hace la falla.
  • Lenguaje de programación: Especifica en qué lenguaje está escrito el código. Mi recomendación es que programes en la medida de lo posible en python.
  • Código: Instrucciones que detectan alguna falla en los equipos y que debe poner en la salida estándar un texto que indique la falla producida. Puede serte útil en algunos casos poner también el procedimiento a seguir.
  • Atributos incluidos: Permite asignar en qué equipos cliente será efectiva la falla. Por ejemplo si escribes el código en bash, deberías asignar la falla sólo a los equipos con plataforma Linux PLT-Linux, ya que plataformas Windows no serán capaces de ejecutar bash. También te puede interesar programar una falla sólo para obtener información de un equipo o de un grupo de equipos.
  • Atributos excluidos: Permite excluir a ciertos equipos de la ejecución de la falla.
  • Usuarios: Sirve para asignar usuarios de migasfree a los que les aparecerán las fallas de este tipo cuando se accede desde las Alertas (sólo se muestran las que están pendientes de comprobar por el usuario autenticado).

Si una definición de falla no tiene asignado ningún usuario, las fallas que se produzcan aparecerán a cualquier usuario autenticado.

Nota

Poder ejecutar código en los clientes proporciona una gran potencia para realizar cualquier cosa. Usa esta capacidad con responsabilidad y sé meticuloso en las comprobaciones antes de activar cualquier falla.

Errores autocomprobables

Por defecto, los errores producidos por el PMS, se añaden al sistema como no comprobados. Ahora bien, en ocasiones puede resultar tedioso tener que marcar como comprobados uno a uno ciertos errores que, más que errores, son «alertas».

Para automatizar esta tarea puedes crear un error autocomprobable. Simplemente añade un registro con el patrón de búsqueda deseado y los errores que coincidan son ese patrón se marcarán automáticamente como comprobados.

Por ejemplo, si quisieras que todos los errores que llegan del tipo:

2014-10-03 10:44:47
Error: Generic error
Info: Curl error: Couldn't resolve host 'myserver'

se autocomprobaran, podrías emplear el siguiente patrón:

.*\sError: Generic error\sInfo: Curl error: Couldn't resolve host 'myserver'

Consultas

Migasfree incorpora un sistema para crear consultas parametrizables.

Cada consulta se programa en un registro y podrá ser ejecutada accediendo a Consultas.

Hay una pocas consultas ya predefinidas, pero puedes programar nuevas o adaptar las que ya existen.

Campos de consulta

  • Nombre: Denomina la consulta.

  • Descripción: Describe la consulta.

  • Código: Instrucción en Django de la consulta. Mediante la asignación de unas variables predeterminadas el servidor podrá crear la consulta.

    Las variables en concreto son:

    • query: Conjunto de registros de la consulta.
    • fields: Lista de los campos del QuerySet que se quieren mostrar.
    • titles: Lista de los titulos de los campos que se quieren mostrar.
    • project: Sirve para obtener el proyecto del usuario y poder hacer filtros cuando se requiera.
  • Parámetros: Permite la petición de parámetros de consulta. Se debe crear una función que se llame form_params y que devuelva una clase que herede de ParametersForm.

Nota

Para realizar consultas, necesitarás conocer un poco los QuerySet de Django y la Documentación del modelo de datos. Esta última la tienes disponible al final de todas las páginas de la aplicación, pulsando sobre el icono de base de datos.

Proyectos

Migasfree puede trabajar con distintos Sistemas Operativos. Un proyecto, en migasfree, representa a un conjunto de ordenadores que comparten un mismo Sistema Operativo base.

Por ejemplo, en el Ayto. de Zaragoza contamos con los siguientes proyectos:

  • AZLinux-1 (SLED 10.2) Se migró a AZLinux-2 (ningún PC).
  • AZLinux-2 (OpenSUSE 11.2) Se migró a AZLinux-12 (ningún PC).
  • AZLinux-12 (Ubuntu 12.04) En producción (900 PC). En fase de migración a otros AZLinux.
  • AZLinux-14 (Ubuntu 14.04) En producción (500 PC).
  • AZLinux-16 (Ubuntu 16.04). En producción (100 PC).
  • ZA (Ubuntu 10.04 para escritorios tipo kioskos). Obsoleto.
  • WIN-XP (Windows XP). En producción (1600 PC).
  • AZW-10 (Windows 10). En producción (80 PC).

Cada ordenador estará configurado en un único proyecto en un momento dado. Cambios de proyecto en un ordenador crean en el sistema un registro de migración automáticamente. De esta manera, es posible conocer las diferentes migraciones de S.O. que se han ido produciendo en los equipos y en qué momento se han hecho efectivas. Puedes consultar las migraciones accediendo a Datos-Migraciones.

Mediante el ajuste MIGASFREE_AUTOREGISTER se permite, o no, a los equipos registrar automáticamente los proyectos. Puedes consultarlo en Ajustes del servidor migasfree.

Campos del proyecto

  • Nombre: Denomina al proyecto.

  • Plataforma: a la que pertenece el proyecto.

  • Sistema de gestión de paquetes: El PMS que se utiliza en el sistema operativo de este proyecto.

  • Auto registrar ordenadores: Si está marcado, se permiten registrar ordenadores desde un cliente automáticamente. En este caso, sólo con que un equipo esté configurado con el proyecto, será añadido automáticamente a la base datos.

    En caso contrario, sólo se podrán registrar ordenadores mediante el uso de un usuario que cuente con los permisos adecuados para añadir ordenadores al sistema.

Sistemas de gestión de paquetes

Son los distintos PMS predefinidos que vienen con migasfree.

Nota

En versiones futuras de migasfree está previsto su refactorización y la eliminación de este modelo de datos.

Plataformas

Los proyectos se clasifican por plataformas. Las plataformas vienen establecidas por la función python platform.system() y, por tanto, sus valores pueden ser:

  • Linux
  • Windows
  • (Otras)

Esta clasificación de los proyectos te permite realizar consultas y estadísticas en función de la plataforma.

Mediante el ajuste MIGASFREE_AUTOREGISTER se permite, o no, a los equipos registrar automáticamente las plataformas. Puedes consultarlo en Ajustes del servidor migasfree.

Perfiles de usuario Migasfree

En migasfree existen dos tipos de usuarios, los usuarios que administran migasfree y los usuarios que utilizan los ordenadores. Este apartado se refiere a los primeros.

Cuando se genera la base de datos de migasfree, se crean 8 usuarios predeterminados y varios Grupos de Usuarios:

Usuarios por defecto

  • admin. Tiene permisos de lectura/escritura a todas las tablas.
  • packager. Pertenece a los grupos Reader y Packager.
  • configurator. Pertenece a los grupos Reader y Configurator.
  • installer. Pertenece a los grupos Reader y Device installer.
  • query. Pertenece a los grupos Reader y Query.
  • liberator. Pertenece a los grupos Reader y Liberator.
  • checker. Pertenece a los grupos Reader y Computer Checker.
  • reader. Pertenece al grupo Reader.

Estos usuarios tienen por defecto como contraseña su nombre, es decir, la contraseña de admin es admin, y lo mismo es aplicable al resto de usuarios.

Estos usuarios son ficticios para realizar pruebas y conviene que sean eliminados. Se recomienda crear los usuarios reales que usarán el servidor migasfree, asignándoles los grupos de usuarios correspondientes.

Nota

Es importante que en un entorno de producción se deshabiliten los usuarios que no se vayan a utilizar o que, al menos, se les cambie la contraseña por motivos de seguridad.

Campos de Perfiles de usuarios migasfree

  • Nombre de usuario: Nombre de la cuenta de usuario.
  • Nombre: Nombre del usuario.
  • Apellidos: Apellidos del usuario.
  • Dirección de correo electrónico: Email.
  • Fecha de alta: Cuando se añadió el usuario al sistema.
  • Último inicio de sesión: del usuario.
  • Activo: Indica si el usuario debe ser tratado como activo. Desmarca esta opción en lugar de borrar la cuenta.
  • Es superusuario: Indica que este usuario tiene todos los permisos sin asignárselos explícitamente. Cuando marcamos este campo estamos indicando que es un usuario administrador.
  • Es staff: Indica si el usuario puede entrar en El interfaz de administración
  • Grupos: Grupos a los que pertenece el usuario.
  • Permisos de usuario: Permisos adicionales.
  • Dominios: Lista de dominios que puede administrar el usuario.
  • Dominio: Dominio que actualmente tiene selecionado el usuario en El interfaz de administración
  • Ámbito: Ámbito que actualmente tiene selecionado el usuario en El interfaz de administración

Cambio de contraseña

La contraseña puede ser cambiada por los usuarios pulsando en su nombre de usuario y que aparece arriba a la derecha en El interfaz de administración.

También puede ser modificada por otro usuario que tenga marcado el campo Es superusuario, accediendo al registro del usuario en cuestión y modificando directamente su campo Contraseña.

Si un usuario olvida su contraseña, y el administrador ha configurado en los ajustes del servidor el EMAIL, podrá restablecerla.

Grupos de Usuarios

En función de las tareas que los usuarios de administración de migasfree pueden realizar, se establecen los siguientes grupos de usuarios.

  • Domain Admin. Cuenta con permisos de lectura/escritura a:

    • Ordenadores
    • Despliegues
    • Ámbitos
  • Configurator con permisos de lectura/escritura a:

    • Fórmulas
    • Proyectos
    • Sistemas de gestión de paquetes (PMS)
    • Plataformas
    • Comprobaciones
    • Definiciones de fallas
    • Mensajes
    • Sincronizaciones
    • Mensajes del servidor
    • Migraciones
    • Notificaciones
  • Computer Checker tiene permisos de lectura/escritura a:

    • Errores
    • Fallas
    • Mensajes
    • Sincronizaciones
  • Liberator. Permisos de lectura/escritura a:

    • Despliegues
    • Calendarios
  • Packager cuenta con permisos de lectura/escritura a:

    • Paquetes
    • Almacenes
  • Query. Permisos de lectura/escritura a:

    • Consultas
  • Device installer cuenta con permisos de lectura/escritura a:

    • Dispositivos
  • Reader. Permisos de sólo lectura a todas las tablas.

Dominios

En migasfree llamanos dominio a un conjunto de ordenadores.

Mientras que un usuario administrador ve a todos y cada uno de los ordenadores del sistema, un usuario administrador de dominio sólo va a poder ver y trabajar con los ordenadores del dominio que administra.

Un ejemplo típico de uso de administrador de dominio sería el de una empresa con varias delegaciones donde se requiere que un determinado usuario pueda administrar sólo los ordenadores de una de las delegaciones, siendo el resto de ordenadores y sus datos «invisibles» para él.

Sólo un usuario administrador puede crear y editar dominios asignándoles usuarios administradores de dominio.

Un administrador de dominio puede administrar varios dominios.

Campos de dominio

  • Nombre: Denomina al dominio.
  • Comentario: Describe al dominio.
  • Atributos incluidos: Aqui se establecen mediante atributos los ordenadores que formarán parte del dominio.
  • Atributos excluidos: Permite excluir ordenadores.
  • Etiquetas: Especifica que etiquetas serán visibles al ejecutar «migasfree-tags -s» el el cliente para los ordenadores que pertenezcan al dominio
  • Administradores: Lista de usuarios administradores de dominio que administran el dominio

Características del usuario administrador de dominio

  • Ve sólo los datos relativos al dominio que tiene seleccionado en El interfaz de administración.

  • Pertenece al grupo de usuarios Domain Admin que establece las siguientes restricciones por defecto:

    • Puede crear despliegues en el dominio con objeto de instalar, actualizar o eliminar paquetes en ese dominio, pero no puede subir nuevos paquetes ni modificar despliegues de otros dominios.
    • Puede definir dispositivos pero no modelos de dispositivos.
    • No puede modificar Formulas, Categorias de Etiquetas, ni Definiciones de Fallas.
  • No es un superusuario. Ver Perfiles de usuario Migasfree

El administrador de dominio debe colaborar estrechamente con el administrador para no duplicar configuraciones y crear definiciones generalistas en la medida de lo posible. Piensa que un administrador puede querer p.e. desinstalar obligatoriamente una determinada aplicación a todos los equipos y entrar en conflicto con un administrador de dominio que desea instalarla, en este caso se instalará y desinstalará continuamente la aplicación. Ten cuidado con esto.

Procedimiento de creación de un dominio

  1. Antes de crear el dominio debemos crear las etiquetas que van a estar disponibles en el dominio. Ve a «datos-etiquetas» y añádelas.

    Supongamos que queremos crear el dominio «INSTITUTO GOYA» con la siguiente estructura:

    GOYA

    AULA

    A

    B

    LABORATORIO

    ADMINISTRACION

    SALA PROFESORES

    las etiquetas que se deben crear son:

    DMN-GOYA.AULA

    DMN-GOYA.AULA.A

    DMN-GOYA.AULA.B

    DMN-GOYA.AULA.LABORATORIO

    DMN-GOYA.ADMINISTACION

    DMN-GOYA.ADMINISTACION.SALA_PROFESORES

  2. Añadir el dominio.

    • Nombre
    • Comentario
    • Atributos: Añadirlos si se conocen, si no se puede dejar en blanco para añadirlos más tarde.
    • Asignar las tags creadas en el paso anterior.
    • Administradores de dominio: Si ya los has dado de alta, añádelos.
  3. Registrar los ordenadores al dominio.

    • OPCION A. Cuando eres un usuario administrador.

      • Se añade el equipo al dominio. (Ir al dominio y asignar en atributos incluidos el CID)
      • Se asigna cualquiera de las etiquetas del dominio (o varias) en el ordenador.
    • OPCION B. Cuando eres un usuario administrador de dominio

      • Ejecutar el siguiente comando en el ordenador y automáticamente éste se registrará en el dominio que tenga seleccionado en El interfaz de administración en ese momento el administrador de dominio.

        migasfree -g --user=<user_admin_domain>
        

Ámbitos

Un ámbito en migasfree es un subconjuto de ordenadores para un determinado dominio.

Cada usuario es responsable de programarse a su antojo sus propios ámbitos que serán sólo accesibles por él.

Cualquier usuario que tenga acceso a El interfaz de administración va a poder crearse los ámbitos que desee. No es necesario que sea ni administrador ni admistrador de dominio.

Campos de Ámbitos

  • Nombre: Indica el nombre del ámbito.
  • Dominio: Referencia al dominio en el que el ámbito se enmarca.
  • atributos incluidos: Aquí se establecen los atributos que dictarán que ordenadores, del dominio seleccionado, pertenecerán al ámbito.
  • atributos excluidos: Permite excluir ordenadores al ámbito.

Los ámbitos permiten filtrar ordenadores de una manera personalizada, rápida y sencilla. Este filtro no tiene efecto sólo en los ordenadores, sino en todos los datos relacionados, incluyendo consultas y estadísticas.

La Liberación

El conocimiento nos hace responsables.

—Ernesto Guevara.

Este es el capítulo que mejor define a migasfree, ya que la principal funcionalidad del servidor es ofrecer unos determinados repositorios de paquetes, que estarán disponibles para los clientes en función de sus atributos.

En los proyectos de software libre, la liberación tiene que ver con poner a disposición de la comunidad un determinado software. Aspectos como la autoría o la licencia son esenciales, tanto o más como el propio software que se libera.

En los sistemas operativos GNU/Linux la liberación de software se realiza mediante la configuración de una lista de repositorios públicos, también denominados lista de orígenes.

Liberar software mediante migasfree implica, además, decidir quién tendrá acceso a dicho software y a partir de qué momento. Como vimos en la introducción al hablar de La liberación, esto es importante ya que antes de actualizar un determinado software te conviene haberlo probarlo, para más tarde, si procede, liberarlo paulatinamente a los equipos que lo requieran.

Repositorios estándar vs Repositorios migasfree

Llamamos repositorio migasfree al repositorio controlado por un servidor migasfree.

Nota

Todos los repositorios migasfree se encuentran configurados para apt en el fichero /etc/apt/sources.list.d/migasfree.list.

Nota

Todos los repositorios migasfree se encuentran configurados para yum en el fichero /etc/yum.repos.d/migasfree.repo.

Un repositorio estándar es un repositorio configurado en los clientes y que no apunta al servidor migasfree. Los repositorios que vienen por defecto configurados en las distribuiciones son un ejemplo. Otro serían los típicos repositorios tipo ppa de Ubuntu.

Si quieres tener un mayor control de tus sistemas, mi recomendación es que sustituyas los repositorios estándar por Despliegues de origen externo con el campo frozen activado.

Otra opción sería que te bajes todos los paquetes de los repositorios de tu distribución y luego los subas como conjunto de paquetes al servidor y creess Despliegues de origen interno al efecto. A esto, lo denominamos congelar un repositorio y vendría a ser como un mirror del repositorio estándar.

De esta manera, tendrás congelados a una fecha los repositorios de tu distribución, y podrás actualizar sólo el software que te interese. Si te decides por cualquiera de estos dos métodos, obviamente tendrás que empaquetar un código que deshabilite los repositorios estándar en los clientes.

Repositorios migasfree Repositorios estándar
Requieren mantenimiento ante las actualizaciones de los paquetes No requieren mantenimiento ya que es mantenido por el dueño del repositorio
Mayor control de los sistemas frente a los cambios, siendo tu quién decide qué actualizaciones deben producirse Menor control frente a los cambios
Si el servidor migasfree está en la red local, no produce tráfico internet Genera tráfico internet

Un pequeño script para obtener los paquetes de los repositorios estándar (en este caso para ubuntu-16.04) podría ser:

#!/bin/bash

function download(){
  _SERIE_POCKET=$1
  download_repo "$_SERIE_POCKET" "main"
  download_repo "$_SERIE_POCKET" "multiverse"
  download_repo "$_SERIE_POCKET" "restricted"
  download_repo "$_SERIE_POCKET" "universe"
}

function download_repo(){
  _SERVER=http://en.archive.ubuntu.com/ubuntu
  _PKGS=Packages
  _SERIES=$1
  _REPO=$2
  _PATH=`pwd`
  echo "PATH= $_PATH"
  wget $_SERVER/dists/$_SERIES/$_REPO/binary-amd64/$_PKGS.bz2
  bzip2 -d $_PKGS.bz2
  _FILES=`grep "^Filename:" $_PKGS| awk '{print $2}'|sort`
  _TARGET=$_SERIES-$_REPO
  echo "$_FILES" > Packages-$_TARGET
  mkdir -p $_TARGET
  cd "$_TARGET"
  for _f in $_FILES
  do
    _file=${_f:6+${#_REPO}}
    _BASE=`basename $_file`
    mkdir -p `dirname $_file`
    echo "Downloading $_SERIES $_f"
    wget -c -t1  $_SERVER/$_f -O $_file
  done
  cd "$_PATH"
  rm $_PKGS
}

download "xenial-security"
download "xenial-updates"
download "xenial-backports"
download "xenial"

Despliegues

Me gusta la definición: migasfree es simplemente un gestor de despliegues de paquetes. En realidad es básicamente esto. De hecho, así es como empezó este proyecto, y a partir de aquí ha ido creciendo hasta convertirse en lo que es hoy en día, un gestor de sistemas.

A todos los efectos, y desde el punto de vista del cliente, un despliegue en migasfree es un repositorio de paquetes estándar como los que puedas encontrar en cualquier distribución. Migasfree permite crear muy fácilmente estos repositorios y asignarlos a los equipos en función de sus atributos a partir de una fecha determinada mediante los despliegues.

Un despliegue consta de:

  • Repositorio de paquetes: Contiene el software que se va a liberar. Incluye los paquetes y los metadatos del repositorio.
  • Atributos: Establece a quién se le liberará.
  • Fecha y calendario: Indica cúando se liberará.
  • Acciones: Se puede establecer que se instalen o desinstalen obligatoriamente paquetes en el despliegue.

Diferenciamos dos tipos de despliegues en función del origen de los paquetes:

  • Despliegues de origen externo: Los paquetes se van obteniendo automáticamente de un repositorio público (mediante técnica de cache).
  • Despliegues de origen interno: Los paquetes son subidos al servidor migasfree manualmente por un administrador; en el momento de asignar estos paquetes al despliegue, automáticamente se crea el repositorio de paquetes.

Despliegues de origen externo

El primer paso para independizarte de los repositorios públicos de tu Distribución GNU/Linux, es estudiarlos para a continuación eliminarlos y pasar dicha configuración al servidor migasfree mediante lo que denominamos Despliegues de origen externo.

Origen externo.

PC1 configurado a un origen público de software vs PC2 configurado al mismo origen pero a través de un origen externo.

Un despliegue de origen externo creará un repositorio que no es más que un caché del repositorio de paquetes al que apunta. Se configura desde El interfaz de administración y por tanto está centralizado.

Cuando se ejecuta la sincronización (migasfree –update) es cuando se creará, en el ordenador cliente, el fichero que configura dichos reposisitorios (/etc/apt/sources.list.d/migasfree.list para apt y /etc/yum.repos.d/migasfree.repo para yum)

Advertencia

Los depliegues de origen externo están disponibles desde la versión 4.17 (tanto del cliente como del servidor). Asegúrate que tienes todos los clientes actualizados antes de usar esta funcionalidad.

Nota

Para Distros basadas en apt puedes estudiar los ficheros /etc/apt/sources.list y el directorio /etc/apt/sources.list.d/

Nota

Para Distros basadas en yum mira los ficheros del directorio /etc/yum.repos.d/

Nota

Un caché y un mirror de repositorio de paquetes no es lo mismo. El mirror tendrá descargados a priori todos los paquetes del repositorio público. En el caché, en cambio, se van descargando según los ordenadores los vayan solicitando.

Nota

Si el servidor migasfree lo tienes en tu red local, tener configurados la lista de repositorios de los ordenadores mediante Despliegues de origen externo te va ahorrar, además, mucho tráfico de internet.

Campos del despliegue de origen externo

  • Habilitado: Activa o desactiva el origen.

  • Nombre: Denomina al despliegue.

  • Proyecto. Indica el proyecto migasfree al que pertenece.

  • Comentario: Campo de texto que sirve para registrar aclaraciones sobre el despliegue

  • A quién (atributos):

    • Atributos incluidos: Aquellos clientes que tengan un atributo que coincida con los asignados en este campo tendrán accesible el origen (a menos que otro atributo lo excluya).

    • Atributos excluidos: Sirve para excluir atributos de la lista anterior.

      Por ejemplo, si quieres liberar el origen a toda la subred 192.168.92.0 menos al equipo PC13098, puedes hacerlo asignando:

      • Atributos incluidos: NET-192.168.92.0/24
      • Atributos excluidos:HST-PC13098
  • Origen: Aquí especificaremos el origen del repositorio público.

    Nota

    Para más información consulta: man sources.list ó man yum.conf, según el caso.

    • URL base: URI del repositorio público de la Distro GNU/Linux
    • suite: Suele indicar el nombre concreto de tu Distribución: stretch, bionic, 7 (para centos), etc.
    • componentes: Aquí se enumeran los distintos componentes del origen. Ejemplos pueden ser main contrib non-free (para Debian), main updates universe multiverse (para Ubuntu, os udpates extras (para Centos)
    • congelado: Indica que los metadatos del repositorio público no son actualizados. Con ello indicamos que queremos «congelar» el repositorio a la fecha de la primera solicitud de datos por parte de los ordenadores. Si se desmarca los metadatos son actualizados desde el repositorio público teniendo en cuenta el campo expiración.
    • opciones: Permite especificar las distintas opciones que necesitemos para el repositorio.
    • expiración: Minutos en que los metadatos del repositorio publico permanecerá cacheado. Sólo se tiene en cuenta para el caso que el campo congelado no esté marcado.
  • Acciones:

    • Paquetes a instalar: Campo de texto que especifica una lista de paquetes separados por espacios o por retornos de carro. Estos paquetes serán instalados obligatoriamente a los clientes que tengan acceso al origen.

      Se puede espeficar sólo el nombre del paquete, o el nombre de paquete más una versión.

      Este campo se tiene en cuenta al ejecutar los comandos de cliente migasfree --update y migasfree-tags --set.

    • Paquetes a desinstalar: Campo de texto que especifica una lista de paquetes separados por espacios o por retornos de carro que serán desinstalados obligatorimente en los clientes.

      Este campo se tiene en cuenta al ejecutar los comandos de cliente migasfree --update y migasfree-tags --set.

    • Paquetes pre-incluidos por defecto: Campo de texto que especifica una lista de paquetes separados por espacios o por retornos de carro. Este campo sirve para instalar paquetes que configuran repositorios estándar a migasfree (ver Repositorios estándar vs Repositorios migasfree). Un ejemplo de este tipo de paquetes lo tienes en el paquete vx-repo-unizar.

      La razón de la existencia de este campo, es que después de instalar este repositorio externo, es necesario obtener de nuevo los metadatos de los repositorios (apt-get update), a fin de que el cliente tenga acceso inmediatamente a los paquetes contenidos en el repositorio externo.

      Estos paquetes serán instalados a los clientes que tengan acceso al despliegue al ejecutar el comando migasfree-tags --set.

    • Paquetes incluidos por defecto: Campo de texto que especifica una lista de paquetes separados por espacios o por retornos de carro. Estos paquetes serán instalados a los clientes que tengan acceso al origen al ejecutar el comando migasfree-tags --set.

    • Paquetes excluidos por defecto: Campo de texto que especifica una lista de paquetes separados por espacios o por retornos de carro que serán desinstalados en los clientes que tengan acceso al origen al ejecutar el comando migasfree-tags --set.

  • Cuándo (calendario):
    • Fecha de inicio: A partir de la cual estará disponible el origen en los clientes.
    • Calendario: Especifica una programación del origen basada en calendario.

    Nota

    Si te has confundido con los campos URL base suite o componentes, a medida que los clientes soliciten estos recursos, se irán generando Notificaciones para indicarte la url de los ficheros que el servidor migasfree intenta bajarse. Esto te ayudará a localizar el error.

Ejemplos

Aterrizando, que desde el cielo no se ven a las hormigas: a continuación una lista de configuraciones, de Despliegues de origen externo, a modo de ejemplo para Ubuntu, Debian, Centos, Fedora y OpenSuse.

  • UBUNTU BIONIC:

  • UBUNTU BIONIC UPDATES:

  • UBUNTU BIONIC SECURITY:

    • nombre: UPDATES
    • comentario: Parches para vulnerabilidades de seguridad. Están gestionados por el Equipo de seguridad de Ubuntu y están diseñados para cambiar el comportamiento del paquete lo menos posible, de hecho, el mínimo requerido para resolver el problema de seguridad. Como resultado, tienden a ser de muy bajo riesgo de aplicación y se insta a todos los usuarios a aplicar actualizaciones de seguridad.
    • URL base: http://es.archive.ubuntu.com/ubuntuhttp://softlibre.unizar.es/ubuntu/archive)
    • suite: bionic-security
    • componentes: main universe multiverse
    • congelado: False
    • opciones: [arch=amd64]
    • expire: 1440 minutos (Mantenemos los metadatos cacheados 1 día)
  • UBUNTU BIONIC PPA tacocat/pylink-nightly

  • DEBIAN STRETCH

  • CENTOS 7

    • nombre: BASE
    • URL base: http://mirror.centos.org/centos
    • suite: 7
    • components: os/x86_64 updates/x86_64 extras/x86_64
    • congelado: True
    • opciones: gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
  • CENTOS 7 EPEL

  • FEDORA 29

  • OPENSUSE 42.3

  • OPENSUSE 15.0

  • ¿Apuntando a otro servidor migasfree?

    • nombre: Origen en otro servidor migasfree
    • URL base: http://<nombre_servidor>/public/<nombre_projecto>/REPOSITORIES
    • suite: <nombre_despliegue>
    • componentes: PKGS
    • congelado: True

Subiendo paquetes al servidor

Acabamos de ver que mediante los Despliegues de origen externo podemos almacenar paquetes de repositorios públicos en el servidor migasfree, pero… ¿ y si quiero liberar un paquete que he realizado yo mismo? ¿Como lo hago?

Lo primero que tienes que hacer es subir el paquete al servidor ( y después ya podrás desplegarlo a los equipos que te interesen, pero vayamos poco a poco ).

Como viste en los primeros capítulos, la manera de hacerlo es utilizando el comando de cliente:

migasfree-upload -f <mipaquete>

o si quieres subir un conjunto de paquetes (Set) ponlos todos juntos en un directorio y ejecuta:

migasfree-upload -d <midirectorio>

Para subir paquetes al servidor es necesario utilizar un usuario que tenga permisos de lectura/escritura en la tabla de almacenes y paquetes. Por defecto el usuario packager y el usuario admin los tienen.

Para no tener que introducir cada vez que subas un paquete al servidor el usuario, su contaseña y/o el proyecto con el que trabajas, puedes asignar los ajustes indicados en la sección [Packager] de Ajustes del cliente migasfree.

Almacenes

Un almacén es una ubicación o ruta del servidor donde se colocan los paquetes y/o conjuntos de paquetes subidos al servidor. No es más que un directorio colgando de la ruta /var/migasfree/repo/<PROJECT>/STORES, y que se utiliza para tener organizados los paquetes. También es accesible desde un explorador web accediendo a la ruta:

http://tuservidor/public/<PROJECT>/STORES/

Lo anterioriormente expuesto, corresponde al lugar donde se almacenan los archivos del paquete, pero además hay una parte lógica que es necesaria llevar en la base de datos de migasfree. Es lo que denominamos registros de «Almacén».

Cuando se utiliza el comando migasfree-upload y se indica una ubicación inexistente, el servidor automáticamente creará el registro lógico en la base de datos y creará la carpeta en el sistema de archivos.

Campos de Almacén

  • Nombre: Denomina al almacén. Corresponde al nombre de la carpeta en el sistema de archivos.
  • Proyecto. Indica el proyecto migasfree al que pertenece el almacén.

Paquetes

Cuando subes un paquete o un conjunto de paquetes al servidor, además de copiarse en el almacén o ubicación indicada, se crea un registro lógico en la base de datos. Estos registros nos servirán para asignarlos posteriormente en los Despliegues que vayamos creando.

Campos de Paquete

  • Nombre: Es el nombre del fichero del paquete.
  • Proyecto: Indica el proyecto migasfree al que pertenece el paquete.
  • Almacén: Especifica la ubicación donde está situado el paquete.

Acciones de Paquete

A la derecha del nombre del paquete, en la lista de paquetes, hay un desplegable con las siguientes acciones:

  • Información del paquete. Permite ver los metadatos del paquete.
  • Descargar. Permite almacenar el paquete seleccionado en tu equipo.

Si necesitas borrar uno o varios paquetes, selecciónalos y en el desplegable Acción elige Eliminar Paquetes/conjuntos seleccionados y después pulsa en el botón ir.

  • Eliminar Paquetes/conjuntos seleccionados. Permite borrar el registro del paquete. A medida que vayas haciendo cambios en el software, irás teniendo distintas versiones del mismo paquete. Generalmente, te interesará trabajar sólo con la última versión. Si quieres que sólo te aparezca ésta a la hora de asignarlo a los Despliegues, puedes borrar los registros de Paquetes antiguos. Borrar el registro no borrará el archivo del paquete en ningún caso y simplificarás la selección de paquetes.

Paquetes huérfanos

Un paquete huérfano es un paquete que no está asignado a ningún despliegue. Cuando un paquete es subido al servidor, o cuando lo quitas de un despliegue y no está en ningún otro, se convierte en un paquete huérfano. Existe una comprobación de Alerta que te avisará de cuáles son estos paquetes.

Información de los paquetes

Si accedes a Liberación-Información de paquetes verás que te aparecen dos carpetas:

  • STORES. Muestra esta carpeta, en donde podrás navegar hasta un determinado paquete que hayas subido previamente.
  • REPOSITORIES Muestra los repositorios físicos (en el sistema de archivos) que se hayan creado, y que son los que, en última instancia, verán los clientes. En realidad, los paquetes que veas en REPOSITORIES no son más que enlaces simbólicos a los paquetes ubicados en STORES.

Si quieres ver los metadatos de un determinado paquete, simplemente, pulsa sobre él.

Despliegues de origen interno

Permite crear repositorios de paquetes para su liberación. Un administrador ha tenido que subir, previamente, dichos paquetes al servidor.

Campos de despliegue de origen interno

  • Habilitado: Activa o desactiva el despliegue.

  • Nombre: Denomina al despliegue.

    Nota

    En AZLinux solemos incorporar en el nombre del despliegue el número de tarea de redmine al que hace referencia el cambio de software que queremos liberar.

  • Proyecto: Especifica el proyecto en el que estará disponible el despliegue.

  • Comentario: Campo de texto que sirve para registrar aclaraciones sobre el despliegue. Es muy conveniente que registres las modificaciones que vayas haciendo en este campo, indicando quién, cuándo y qué se ha modificado.

    Un ejemplo de cómo lo hacemos en AZLinux, sería:

    [alberto@2013-03-09] Añadido paquete azl-firefox-12.0-3_all.deb
    
    [alberto@2013-04-10] Añadido paquete azl-firefox-12.0-4_all.deb
    
    [eduardo@2013-05-10] Detectado problemas en algunos clientes. Desactivo
        el despliegue hasta diagnosticar y encontrar solución.
    
  • A quién (atributos):

    • Atributos incluidos: Aquellos clientes que tengan un atributo que coincida con los asignados en este campo tendrán accesible el despliegue (a menos que otro atributo lo excluya).

    • Atributos excluidos: Sirve para excluir atributos de la lista anterior.

      Por ejemplo, si quieres liberar un paquete a toda la subred 192.168.92.0 menos al equipo PC13098, puedes hacerlo asignando:

      • Atributos incluidos: NET-192.168.92.0/24
      • Atributos excluidos:HST-PC13098
  • El qué (paquetes):

    • Paquetes disponibles: En este campo se seleccionan los paquetes y/o conjuntos de paquetes que se incluirán en el repositorio físico.

      Que un paquete esté incluido en un repositorio y el repositorio sea accesible desde el cliente, no implica que se instale el paquete. Los sistemas de paquetería sólo actualizan aquellos paquetes que ya estuvieran instalados en el sistema.

      Cada vez que hay una modificación de este campo y se pulsa el botón Grabar, se generarán los metadatos del repositorio físico. Dependiendo de la cantidad de paquetes que se tengan que procesar, el tiempo para realizar este proceso puede ser largo. En los casos en los que se asigne un conjunto de paquetes donde se incluyan todos los paquetes de un DVD p.e. puede llegar a ser del orden de decenas de minutos.

      Nota

      Fíjate que aparecen sólo los paquetes (los subidos individualmente) más los conjuntos de paquetes a la hora de seleccionarlos en los despliegues. Los paquetes incluidos dentro de los conjuntos de paquetes no pueden asignarse individualmente. Esto es así para simplificar y hacer más sencilla la asignación de paquetes y no perdernos entre los miles que componen una distribución.

  • Acciones:

    • Paquetes a instalar: Campo de texto que especifica una lista de paquetes separados por espacios o por retornos de carro. Estos paquetes serán instalados obligatoriamente a los clientes que tengan acceso al despliegue.

      Se puede espeficar sólo el nombre del paquete, o el nombre de paquete más una versión.

      Este campo se tiene en cuenta al ejecutar los comandos de cliente migasfree --update y migasfree-tags --set.

    • Paquetes a desinstalar: Campo de texto que especifica una lista de paquetes separados por espacios o por retornos de carro que serán desinstalados obligatorimente en los clientes.

      Este campo se tiene en cuenta al ejecutar los comandos de cliente migasfree --update y migasfree-tags --set.

    • Paquetes pre-incluidos por defecto: Campo de texto que especifica una lista de paquetes separados por espacios o por retornos de carro. Este campo sirve para instalar paquetes que configuran repositorios externos a migasfree (ver Repositorios estándar vs Repositorios migasfree). Un ejemplo de este tipo de paquetes lo tienes en el paquete vx-repo-unizar.

      La razón de la existencia de este campo, es que después de instalar el repositorio externo, es necesario obtener de nuevo los metadatos de los repositorios (apt-get update), a fin de que el cliente tenga acceso inmediatamente a los paquetes contenidos en el repositorio externo.

      Estos paquetes serán instalados a los clientes que tengan acceso al despliegue al ejecutar el comando migasfree-tags --set.

    • Paquetes incluidos por defecto: Campo de texto que especifica una lista de paquetes separados por espacios o por retornos de carro. Estos paquetes serán instalados a los clientes que tengan acceso al despliegue al ejecutar el comando migasfree-tags --set.

    • Paquetes excluidos por defecto: Campo de texto que especifica una lista de paquetes separados por espacios o por retornos de carro que serán desinstalados en los clientes que tengan acceso al despliegue al ejecutar el comando migasfree-tags --set.

  • Cuándo (calendario):
    • Fecha de inicio: A partir de la cual estará disponible el despliegue en los clientes.
    • Calendario: Especifica una programación del despliegue basada en calendario. En el siguiente apartado tienes más información.

Calendarios

Los calendarios te permiten programar sistemáticamente liberaciones en el tiempo para unos determinados atributos previamente establecidos, partiendo de la fecha de inicio del despliegue.

Por ejemplo, en AZLinux usamos distintos calendarios (LENTO, NORMAL, RÁPIDO, MUY RÁPIDO) según la criticidad del cambio de software que se va a liberar o de su urgencia. En estos calendarios, asignamos días de demora para los distintos servicios de nuestra organización.

CALENDARIO LENTO
    a los 0 días:  GRP-EQUIPOS DE TEST.
    a los 5 días:  CTX-SERVICIO DE PERSONAL
    a los 10 días: CTX-GESTION TRIBUTARIA
    a los 15 días: SET-ALL SYSTEMS

CALENDARIO MUY RÁPIDO
    a los 0 días: CTX-SERVICIO DE PERSONAL, CTX-GESTION TRIBUTARIA
    a los 2 dias: SET-ALL SYSTEMS

Es conveniente que en la última demora asignes, si procede, el atributo SET-ALL SYSTEMS.

Cuando asignas un calendario a un despliegue, podrás ver la temporalización resultante en la columna línea temporal de Liberación-Despliegues (pulsa en el desplegable que contiene el nombre del calendario).

Asignar un calendario a un despliegue no es obligatorio.

Esta programación de la liberación se utiliza, fundamentalmente, para conseguir:

  • No aplicar una liberación de golpe a muchos equipos, lo que puede provocar un consumo de tráfico de red intenso (imagina 1000 equipos actualizando LibreOffice a la vez).
  • Liberar poco a poco los paquetes y así poder hacer comprobaciones más tranquilamente. Cualquier error en el empaquetado o bug en los fuentes del paquete, puede ser más manejable si ha afectado a pocos equipos y no a la totalidad.

Un determinado cliente tendrá acceso al despliegue si:

  • Tiene un atributo que coincide con alguno de los asignados en el despliegue y ya se ha cumplido la fecha de inicio del despliegue.
  • O existe un atributo coincidente con el calendario cuya fecha de inicio del despliegue más la demora se ha cumplido.
  • Siempre y cuando un atributo del cliente no coincida con el campo atributos excluidos del despliegue.

Una manera en que puedes ver una estimación de la cantidad de equipos que un calendario va haciendo efectivos los despliegues a lo largo de los días es accediendo a la línea temporal en cada despliegue.

Campos de calendario

  • Nombre: Denomina al calendario.

  • Descripcion: Describe el calendario.

  • Demoras: Es un conjunto de días (demoras) a los que se asignan atributos.

    • Demora: Número de días desde la fecha de inicio del despliegue a los que los atributos asignados serán efectivos. No se tienen en cuenta ni sábados ni domingos.
    • Atributos: Lista de atributos para una demora.
    • Duración: Número de días en que se completará el despliegue a los equipos asignados a la demora. O dicho de otra forma, si asignamos el atributo SET-ALL SYSTEMS y una duración de 20 días, obtendríamos un incremento diario aproximado del 5% del total de equipos.

Aplicaciones

En los sistemas GNU/Linux existen front-ends para los PMS tales como Synaptic o el Centro de software de Ubuntu que permiten a los usuarios buscar e instalar aplicaciones de forma sencilla.

Ahora bien, estos front-end te permiten instalar miles de aplicaciones y por supuesto la mayoría de ellas nunca van a ser instaladas en tu organización. Por otra parte un usuario puede verse aturdido al ver la cantidad de paquetes que puede instalar, y no encontrar la que debe utilizar.

Conviene por tanto que tu organización cuente con un catálogo de las aplicaciones que más usáis.

Pues bien, mediante lo que denominamos Aplicaciones el servidor migasfree publica éste catálogo de aplicaciones simplificando este proceso al usuario mediante el uso de Migasfree Play.

Campos de Aplicaciones.

  • Nombre: Identifica la aplicación
  • Categoría: Permite clasificar la aplicación.
  • Nivel: El nivel de usuario indica que no se requerirá tener privilegios de administrador deĺ ordenador para que usuario instalale la aplicación. En cambio si se establece la aplicación de nivel administrador sólo un usuario con privilegios de administrador en el ordenador podrá instalar la aplicación. En este caso Migasfree Play solicitará dicho usuario y contraseña.
  • Puntuación: Relevancia para la organización.
  • Icono: Campo obligatorio.
  • Disponible para los atributos: La aplicación aparecerá publicada en los ordenadores que cuenten con alguno de los atributos especificados.
  • Descripción: Campo que se utiliza para descibrir la aplicación. Puedes emplear notación markdown.

Nota

Si quieres que el usuario encuentre gimp cuando busca por Photoshop, puedes añadir en la descripción que: gimp es una alternativa a Photoshop.

  • Paquetes por proyectos: Por cada Proyecto se deben especificar los Paquetes a instalar en el ordenador.

Políticas

Las políticas te van a permitir dar órdenes complejas de instalación y desinstalación de aplicaciones.

Ya has visto que en los Despliegues puedes dar ordenes de instalar y desinstalar paquetes de manera obligatoria a los ordenadores.

Ahora bien, imagina que quieres dar la orden de instalar obligatoriamente un paquete en un grupo de ordenadores, y que se desinstale obligatoriamente en el resto de ordenadores. ¿cómo se hace esto?

Una posible solución a este problema sería:

  • Crear un Conjunto de atributos A en donde incluimos los ordenadores a los que se va instalar el paquete obligatoriamente.

  • Crear otro Conjunto de atributos A- que sea el inverso de A. Es decir: incluimos ALL SYSTEMS y excluimos A.

  • Crear dos despliegues.

    • En uno asignamos como atributo el conjunto A y ponemos como paquetes a instalar dicho paquete.
    • En el segundo asignamos como atributo el conjunto A- y ponemos el paquete en paquetes a desinstalar

Vale, de acuerdo, esto funcionaría, pero es tedioso de configurar y de mantener.

Otro escenario imaginable puede ser el que en un proyecto migasfree una determinada aplicacion se llame diferente en otro proyecto migasfree. No es tan extraño, ocurre a menudo. ¿Como puedo dar una única orden de instalar esa aplicación independientemente de como se llame y de qúe proyecto tenga configurado cada ordenador?

Para estas situaciones (y otras similares), hemos creado lo que denominamos Políticas.

Una Politica comprende una lista ordenada de prioridades en las que se indica que Aplicaciones se van a instalar obligatoriamente a unos determinados atributos.

En el proceso de la sincronización del ordenador, un algoritmo recorre esta lista ordenada y en cuanto se cumple que los atributos de una prioridad coinciden con los del ordenador, se ordena instalar las Aplicaciones de esa la prioridad, y además se ordenará desinstalar las Aplicaciones del resto de prioridades siempre y cuando en la Politica esté marcado el campo exclusivo.

Campos de Políticas.

  • Nombre: Denomina la política.

  • Comentario: Describe la política.

  • Habilitado: si desmarca este campo, la política está deshabilitada para todos los ordenadores.

  • Exclusivo: Se ordena desinstalar las Aplicaciones asignadas en las prioridades que no se han cumplido.

  • atributos incluidos: Permite especificar el área de aplicación de la politica, es decir a que ordenadores va a afectar dicha política.

  • atributos excluidos: Permite excluir ordenadores del área de aplicación de la politica.

  • Grupos de políticas: Lista de prioridades.

    • Prioridad: Es un número entero. Sirve únicamente para ordenar.
    • Atributos incluidos: Atributos a los que va se les va a instalar Aplicación indicada en la prioridad.
    • Atributos excluidos: Excluye atributos de la prioridad.
    • Aplicaciones: Lista de Aplicaciones.

Ejemplo de uso.

Julián puede iniciar sesion en cualquier ordenador, pero se necesita deshabilitarle el montaje de unidades USB y CDROM sólamente para él.

  1. Crea el paquete que deshabilita el montaje de USB y CDROM: ECS: acme-media-disable (nuevo).

  2. Pon el paquete acme-media-disable en un despliegue disponible para ALL SYSTEMS

  3. Crea la Aplicación NO-MEDIA.

  4. Crea la Politica Julián

    • Nombre: Julian

    • Comentario: No queremos que Julián use USB.

    • Exclusivo: Marcado

    • Atributos incluidos: ALL SYSTEMS

    • Grupos de politicas:

      • Prioridad 1:

        • Atributos incluidos: USR-Julian
        • Aplicaciones: NO-MEDIA
      • Prioridad 2:

        • Atributos incluidos: ALL SYSTEMS
        • Aplicaciones: (vacio)

Cuando Julián inicia sesión en cualquier ordenador y se ejecuta la sincronización con el servidor migasfree, el algoritmo de las políticas recorre las prioridades en orden:

  • Prioridad 1: Como se cumple (es Julian) se instala la aplicacion NO-MEDIA, y cómo está marcado el campo exclusivo se desinstala las Aplicaciones del resto de prioridades (no hay ninguna en Prioridad 2)

Veamos ahora como funcionaría para cualquier usuario que no sea Julian:

  • Prioridad 1: Como no se cumple (no es Julian) salta a la siguiente prioridad.
  • Prioridad 2: Como se cumple ALL SYSTEMS, se instalan las aplicaciones de la prioridad 2 (ninguna en este caso), y cómo está marcado el campo exclusivo se desinstalan las Aplicaciones del resto de prioridades. Por tanto se desintalará la aplicación NO-MEDIA

En resumen, en cualquier ordenador Julian tendrá instalada la aplicacion NO-MEDIA y el resto de usuarios no.

El proceso de la liberación

Las tareas que debe realizar un liberador son:

  • Controlar que no haya paquetes huérfanos, borrando los paquetes antiguos y creando los despliegues adecuados para los nuevos paquetes.

  • Decidir qué calendario es conveniente aplicar a cada despliegue.

  • Decidir cuándo un despliegue ha terminado de liberarse (se ha cumplido toda la línea temporal) y qué debe hacerse con sus paquetes.

    En AZLinux mayoritariamente, y para no tener muchos despliegues activos, estos paquetes los asignamos a otro despliegue (ya existente para este fin) que tiene asignado sólo el atributo SET-ALL SYSTEMS. Los despliegues que nos han servido para liberar poco a poco los paquetes son desactivados (no los borramos) para mantener así la historia de lo que se ha ido haciendo.

La sincronización de los sistemas

Al fin y al cabo, somos lo que hacemos para cambiar lo que somos.

—Eduardo Galeano

En el capítulo anterior, has aprendido a liberar paquetes desde un servidor migasfree. Pero, para que se produzca el cambio de software, no basta sólo con liberarlo. Los clientes deben poder acceder a los despliegues, bajarse los paquetes e instalarlos.

En este capítulo vas a centrarte en el cliente migasfree para ir conociendo los comandos que tienes a tu disposición.

El proceso de sincronización

Ahora, creo que es buen momento para aprender qué hace migasfree --update :

  • Envía mensaje de inicio del proceso de sincronización al servidor.
  • Envía errores de anteriores ejecuciones. Si los hay, el servidor creará un registro de Error.
  • Recibe las Fórmulas definidas en el servidor.
  • Ejecuta dichas fórmulas y los resultados son enviados como Atributos. El servidor almacena estos atributos y los asocia con el ordenador que se está sincronizando.
  • Recibe el código de las Fallas y los Despliegues a configurar, basándose en los Atributos y la fecha actual. Recibe las impresoras que deben estar instaladas. Además, la lista de paquetes a desinstalar e instalar obligatoriamente, también se reciben en este momento del proceso.
  • Ejecuta y envía el resultado de las Fallas. Si estas se producen, el servidor creará un registro de Falla por cada una de ellas.
  • Configura los Despliegues que el servidor ha dispuesto en función de los Atributos del cliente y de la fecha actual.
  • Actualiza los metadatos de los repositorios configurados en el sistema. Consiste simplemente en obtener el índice de paquetes actualizado de cada repositorio.
  • Desinstala los paquetes obligatorios. Conjunto de paquetes definidos en el campo Paquetes a desinstalar de los Despliegues efectivos.
  • Instala los paquetes obligatorios. Conjunto de paquetes definidos en el campo Paquetes a instalar de los Despliegues efectivos.
  • Actualiza paquetes disponibles. Si en los Ajustes del cliente migasfree Auto_Update_Packages es False, no se producirá esta actualización.
  • Envía al servidor el historial de cambios en el software. Es la diferencia de paquetes instalados en el sistema antes y despues de desisntalar, instalar y actualizar los paquetes.
  • Envía el inventario de software (los paquetes que tiene ahora mismo ese equipo).
  • Envía el inventario de hardware periódicamente según MIGASFREE_HW_PERIOD de los Ajustes del servidor migasfree.
  • Envía los errores de ejecución. Si los hay, el servidor creará un registro de Error.
  • Se añaden y/o eliminan las impresoras.
  • Por último, envía un mensaje de proceso finalizado. Cuando el servidor recibe este mensaje añade un registro de Sincronización en la base de datos que se emplean para hacer diferentes estadísticas.

Puedes ver una simulación de esta sincronización, accediendo al menú desplegable del identificador del ordenador en la aplicación web. Ver Ordenadores.

El comando migasfree

La opción del comando migasfree --update es, sin lugar a dudas, la más importante. Su sintaxis es:

migasfree -u
migasfree --update

migasfree -u puede usarse conjuntamente con opción --force-upgrade para forzar la sincronización de paquetes a pesar que en el ajuste Auto_Update_Packages esté asignado a False. Consulta el ajuste Auto_Update_Packages de los Ajustes del cliente migasfree.

migasfree -u -a
migasfree --update --force-upgrade

Existen otras opciones que pueden hacer más fácil el mantenimiento a los administradores.

En las organizaciones que usan distintos sistemas operativos con sistemas de paquetería diferentes, tanto para buscar, instalar o desinstalar paquetes, los administradores tienen que utilizar los comandos propios del sistema de paquetería. Utilizar las opciones del comando migasfree para realizar estas tareas te permite abstraerte del PMS (no tendrás que estar pensando si estás en un sistema basado en Debian o en un Redhat p.e.):

  • Para buscar un determinado paquete en los repositorios, utiliza:

    migasfree -s <texto>
    migasfree --search <texto>
    
  • Para instalar un determinado paquete, usa:

    migasfree -ip <paquete>
    migasfree --install --package=<paquete>
    
  • Para desinstalar un determinado paquete, usa:

    migasfree -rp <paquete>
    migasfree --remove --package=<paquete>
    

Por último, tienes la opción que permite registrar el equipo cliente en el servidor migasfree en caso que en el registro Proyecto del servidor el campo Autoregistrado, esté desmarcado.

migasfree -g
migasfree --register

El comando migasfree-tags

Puedes ver una explicación de este comando y de su sintaxis en el campo Etiqueta de las Fórmulas en el capítulo La configuración del sistema migasfree.

El comando migasfree-label

Consulta el ajuste MIGASFREE_HELP_DESK de los Ajustes del servidor migasfree donde se describe este comando.

Migasfree Play

Migasfree Play es un frontal para el cliente migasfree.

La función más importante de Migasfree Play es realizar la sincronización con el servidor migasfree en cuanto el usuario inicia sesión gŕafica.

Nota

A las 24 horas del inicio de sesión se sincroniza de nuevo automáticamente si el ordenador no se ha apagado.

Además, Migasfree Play permite al usuario buscar e instalar Aplicaciones y Dispositivos de forma rápida y sencilla mediante un catálogo personalizado. Un administrador del servidor migasfree es el encargado de publicar previamente estas aplicaciones y dispositivos.

Descripción de las pantallas

  1. Catálogo de aplicaciones

    Permite buscar aplicaciones e instalarlas o desinstalarlas pulsando sobre el icono de descargar o sobre el cubo de basura respectivamente.

    Catálogo de aplicaciones
  2. Catálogo de dispositivos

    Selecciona o deselecciona las distintas prestaciones de las impresoras que quieras instalar en el ordenador y pulsa a continuación PLAY (triángulo abajo a la derecha) para forzar la sincronización con el servidor.

    Catálogo de dispositivos.
  3. Información del ordenador

    Muestra información del ordenador.

    Información del ordenador.
  4. Detalles

    Muestra los detalles de cada instalación o desinstalación, así como de las sincronizaciones.

    Detalles del ordenador.
  5. Ajustes

    El ajuste Mostrar detalles al sincronizar hará que al iniciar sesión el usuario, automáticamente aparezca maximizada la pantalla de Detalles. De esta manera el usuario podrá ver el proceso, cada vez que se sincroniza el ordenador.

La Auditoría

Nuestro conocimiento es necesariamente finito, mientras que nuestra ignorancia es necesariamente infinita.

—Karl Raimund Popper

Una vez que liberas los paquetes y que los equipos se van sincronizando, llega el momento de que veas, de manera centralizada, toda la información que se ha ido generando a consecuencia del proceso de sincronización.

Esto es lo que te vas a encontrar en este capítulo.

Alertas

Muestra en lo que debe actuar el administrador para tener un sistema lo más íntegro posible.

Son un conjunto de comprobaciones que se realizan para alertar al usuario. Pulsando en cada una de las Alertas puedes obtener más información. Ver figura 11.1.

Alertas del sistema.

figura 11.1. Alertas del sistema.

Hay 9 alertas predeterminadas en migasfree:

  • Errores sin comprobar. Cuando en un cliente migasfree se produce algún error, es enviado al servidor. Esta comprobación hace que se muestren estos errores. Una vez revisado o solucionado un error en el cliente debes editar el error en el servidor y marcar el campo comprobado. Esto hará que ya no aparezca en la lista de errores a comprobar. Puedes también seleccionar un conjunto de errores en la lista de errores y en el desplegable de acción seleccionar La comprobación es correcta.
  • Fallas sin comprobar. Cuando en un cliente migasfree se produce una falla, es enviada al servidor. Esta comprobación hace que se muestren las fallas pendientes. La manera de proceder con las fallas es similar a la de los Errores sin comprobar.
  • Notificaciones sin comprobar. Son hechos que se han producido en el sistema y que son informados mediante esta comprobación. Un ejemplo de notificación es cuando un equipo da de alta una plataforma o un proyecto nuevo en el sistema.
  • Paquetes huérfanos. Comprueba si hay paquetes que no están asignados a ningún despliegue.
  • Ordenadores sincronizándose. Cuando un equipo está ejecuando el cliente migasfree, éste va informando al servidor de lo que está haciendo mediante un texto que indica el proceso que está realizando. Cuando el cliente migasfree finaliza, envía al servidor un mensaje de texto vacío. Esta comprobación comprueba cuántos de estos mensajes se han recibido.
  • Ordenadores retrasados. Si pasa un determinado tiempo desde que se recibió el último mensaje del cliente, es muy posible que algo ha ido mal en el cliente. Quizás perdió la conexión, o el usuario apagó el equipo en medio de la ejecución del cliente migasfree, o quizás ha habido algún error. Esta comprobación permite detectar estos casos. La cantidad de tiempo viene establecida por defecto en 30 minutos y puede ser modificado mediante el ajuste MIGASFREE_SECONDS_MESSAGE_ALERT de los Ajustes del servidor migasfree.
  • Generación de repositorios. Indica si se están generando los metadatos de algún repositorio físico asociado a algún despliegue.
  • Despliegues con calendario activo.
  • Despliegues con calendario finalizado. Si hay despliegues que tienen el calendario de distribución finalizado, deberías pasar esa información (paquetes disponibles, a instalar, etc.) a otro despliegue que no tenga calendario y borrar el despliegue original para simplificar la gestión de los mismos.

Las alertas proporcionan al usuario una vista general de la situación actual del sistema, dirigiendo su actuación a lo relevante.

El objetivo en todo momento debería ser mantener el sistema con 0 alertas. Esto indicaría que se han revisado los errores, se han comprobado las fallas, no hay paquetes huérfanos, etc.

Ordenadores

Accediendo a Datos-Ordenadores, verás la lista de ordenadores que se han registrado en el servidor.

Puedes acceder al hardware de un equipo desde la última columna Producto de la lista de ordenadores.

También puedes acceder a los datos que están relacionados con un equipo determinado, mediante el desplegable que hay a la derecha del identificador del equipo. Así, fácilmente podrías ver la cantidad de errores que ha habido en un equipo, sus fallas, migraciones, actualizaciones, … Además, en este menú desplegable del ordenador, te vas a encontrar con otras opciones interesantes:

  • Sucesos: Sobre un calendario, desde la fecha de entrada del equipo en el servidor, se muestra la cantidad diaria de sincronizaciones, errores, fallas, migraciones y registros de estado. A más cantidad diaria de sucesos, el color es más oscuro.
  • Simular sincronización: Te permite simular lo que entregaría el servidor al cliente cuando éste último ejecuta migasfree -u. De esta manera, y basándonos en los actuales atributos del ordenador, puedes ver qué despliegues se configurarían en el cliente, qué paquetes se instalarían o eliminarían o qué fallas se ejecutarían.
  • Hardware: Nos da acceso al hardware del equipo.
  • Etiqueta: Te muestra una etiqueta que puede ser impresa para pegarla en el ordenador.

Campos de Ordenador

  • Nombre: Es el nombre del equipo o el especificado en el ajuste Computer_Name de los Ajustes del cliente migasfree.

  • Proyecto: El proyecto migasfree del ordenador.

  • Fecha de alta: Fecha de alta del ordenador en migasfree.

  • Dirección IP: La dirección IP del equipo en el momento de la sincronización.

  • Dirección IP reenviada: Útil si el equipo es virtual y queremos saber la IP del ordenador anfitrión.

  • Comentario.

  • Estado: Un ordenador puede tener uno de estos seis estados: Asignado, Reservado, Desconocido, Disponible, En reparación y finalmente Baja.

    Estos estados los clasificamos de la siguiente manera:

    • ALTA: Son todos los ordenadores que no tienen el estado Baja y los dividimos en productivos e improductivos.

      • PRODUCTIVOS: Conjunto de ordenadores en uso. Los diferentes estados dentro de esta categoría son:

        • Asignado. Es el estado por defecto e indica que el ordenador está siendo usado para el propósito propio de tu organización.
        • Reservado. Indica que el ordenador se utiliza para un uso especial, por ejemplo para pruebas.
        • Desconocido. Cualquier otro uso.
      • IMPRODUCTIVOS: Ordenadores que no están siendo utilizados y que podrán utilizarse en el futuro. Dentro de los improductivos encontramos los siguientes estados:

        • Disponible. El ordenador está libre y listo para pasar a un estado productivo inmediatamente.

          Nota

          Cuando un ordenador pasa a estado Disponible, se elimina la asignación de todas sus etiquetas y además, si el CID del ordenador se ha asignado en algún Despliegue, Conjunto de Atributos, Dispositivo Lógico, Definición de Falla y/o Demora de Calendario también será eliminada dicha asignación automáticamente. Esto evita configuraciones inapropiadas derivadas de cambios de equipos (si no se hiciera de esta manera, el uso antiguo que se le haya dado a un ordenador podría influir en su uso futuro).

        • En reparación. El ordenador está siendo reparado.

    • BAJA: Tienen el estado Baja. Se indica con este estado que el ordenador no se va utilizar nunca más debido a rotura, robo, venta o por cualquier otro motivo.

      Nota

      Cuando un ordenador pasa a estado Baja, se elimina la asignación de todas sus etiquetas y además, si el CID del ordenador se ha asignado en algún Despliegue, Conjunto de Atributos, Dispositivo Lógico, Definición de Falla y/o Demora de Calendario también será eliminada dicha asignación automáticamente.

    Puedes consultar más información sobre los CID en las Fórmulas específicas.

    Puedes asignar un estado por defecto a los nuevos ordenadores con el ajuste de servidor: MIGASFREE_DEFAULT_COMPUTER_STATUS

    Iconos de estado: asignado, reservado, desconocido, disponible, en reparación y baja.

    figura 11.1. Iconos de estado: asignado, reservado, desconocido, disponible, en reparación y baja.

  • Etiquetas: Lista de Etiquetas asignadas actualmente al ordenador. Para una explicación del funcionamiento de las etiquetas mira los Categorías de etiquetas.

  • Dispositivos lógicos: Impresoras lógicas configuradas en el ordenador.

  • Dispositivo lógico por defecto: Indica el dispositivo lógico por defecto en el sistema.

  • Usuario: Último usuario que ha iniciado sesión en el ordenador.

  • Atributos de la sincronización: Lista de Atributos que se han obtenido como resultado de ejecutar la Fórmulas en el ordenador cliente en el proceso de sincronización.

  • Fecha de inicio de la sincronización: Fecha en la que comenzó la última sincronización del cliente migasfree.

  • Fecha de fin de la sincronización: Fecha en la que se finalizó por última vez la sincronización del cliente migasfree.

  • Tiempo de la última actualización: Tiempo que ha tardado el cliente migasfree en actualizarse.

  • Errores sin comprobar: Muestra el número de errores pendientes de comprobar del ordenador.

  • Fallas sin comprobar: Muestra el número de fallas pendientes de comprobar del ordenador.

  • Inventario de software: Paquetes actuales instalados en el ordenador.

  • Historial de software: Registro de los paquetes instalados y desinstalados según se van produciendo en el tiempo.

  • Fecha de la última actualización del hardware: Fecha en que se envió por última vez el hardware.

  • Producto: Nombre del ordenador incluido en la placa base. Por ejemplo HP ProDesk 600 G1 SFF (C8T89AV)

  • Uuid: Es el identificador único universal de la placa base del equipo.

    Nota

    El cliente de migasfree es el encargado de proporcionar este UUID. En caso de no poder obtenerlo porque el fabricante de la placa base no lo ha asignado o por cualquier otro motivo, el cliente proporciona un UUID basado en la MAC de la primera tarjeta de red que encuentre.

  • Máquina: Indica si es una máquina física o virtual.

  • Procesador: Nombre del microprocesador. Ejemplo: Intel Core i5-4590 3.30GHz

  • RAM: Cantidad de memoria RAM.

  • Almacenamiento: Cantidad de almacenamiento en disco.

  • Discos: Número de discos.

  • Dirección MAC: Direcciones MAC del ordenador.

Usuarios

A medida que el cliente de migasfree va ejecutándose en los equipos, el servidor va añadiendo los usuarios que se han autenticado en el entorno gráfico.

Puedes ver la lista de usuarios en Datos-Usuarios

Campos de Usuario

  • Nombre: Nombre de la cuenta de usuario para acceder al equipo.
  • Nombre Completo: Nombre y apellidos del usuario.

Atributos

A medida que se vayan actualizando los equipos, el servidor migasfree irá añadiendo los atributos enviados por los clientes con objeto de que puedas liberar paquetes en función de estos atributos.

Campos de Atributo

  • Fórmula: Fórmula a la que hace referencia el atributo.
  • Valor: Identifica el atributo.
  • Descripción: Describe el atributo.

Una explicación del funcionamiento de los atributos la puedes obtener en el apartado Fórmulas de La configuración del sistema migasfree.

Etiquetas

Manualmente podrás añadir etiquetas y asignarlas a ordenadores para liberar software en función de estas.

El funcionamiento de las etiquetas ya lo hemos visto en los Categorías de etiquetas.

Campos de Etiqueta

  • Categoría de etiqueta: Hace referencia al tipo de etiqueta.
  • Valor: Identifica a la etiqueta.
  • Descripción: Describe la etiqueta.
  • Ordenadores: Permite asignar ordenadores a la etiqueta.

Sincronizaciones

Registra las sincronizaciones que se han ido produciendo en los ordenadores.

Campos de Sincronización

  • Ordenador: Referencia al ordenador.
  • Usuario: Referencia al usuario.
  • Proyecto: Referencia al proyecto en el que estaba el ordenador en el momento de la sincronización.
  • Fecha: Momento en que ha finalizado la sincronización. Si una sincronización no termina por el motivo que sea, no se registra ninguna sincronización.

Errores

Conforme se vayan produciendo errores en los clientes, irán llegando al servidor y serán mostrados en Alertas.

Campos de error

  • Comprobado: Campo que se marcará manualmente cuando se ha comprobado y solucionado el error.
  • Ordenador: Equipo en el que se ha producido el error.
  • Proyecto: Es el proyecto que tenía el equipo cuando se produjo el error.
  • Fecha: Fecha y hora en que se produjo el error.
  • Descripción: Mensaje que describe el error. Generalmente corresponde a la salida de error del front-end del P.M.S.

Fallas

Ya viste el concepto de Definición de Fallas y cómo se pueden programar en el capítulo La configuración del sistema migasfree, así que no me repitiré.

Lo mismo que ocurre con los errores, conforme las fallas se vayan detectando en los clientes, irán apareciendo en el Alertas.

Campos de falla

  • Comprobado: Campo que se marcará manualmente cuando se ha comprobado y solucionado la falla.
  • Ordenador: Equipo en el que se ha producido.
  • Proyecto: Es el proyecto que tenía el equipo cuando se produjo la falla.
  • Definición de falla:: Tipo de Falla. Hace referencia al código que ha generado la falla.
  • Fecha: Fecha y hora en que se produjo la falla.
  • Resultado: Mensaje que describe la falla. Corresponde a la salida estándar del código de la Definición de la falla.

Registros de estados

Aquí se van registrando automáticamente los diversos estados por los que ha ido pasando un ordenador. Para una explicación de estos estados, mira el campo estado en Ordenadores.

Campos de registro de estados

  • Ordenador: referencia al ordenador.
  • Estado: Al que se ha cambiado el ordenador.
  • Fecha: Momento en que se ha producido el cambio de estado.

Migraciones

Como hemos visto al principio de este capítulo, los Ordenadores se identifican inequívocamente por el UUID de la placa base y, además, mantienen un campo Proyecto que se corresponde con el ajuste del mismo nombre de los Ajustes del cliente migasfree. Ahora bien, en el momento en que el servidor detecta que no corresponde el proyecto que tiene el ordenador en la base de datos del servidor con el que recibe del equipo, el servidor actualiza el registro Ordenador y además añade un registro de Migración. De esta manera se consigue llevar un histórico de migraciones.

Campos de Migración

  • Ordenador: Equipo que se ha migrado de proyecto migasfree.
  • Proyecto: Proyecto migasfree.
  • Fecha: Fecha y hora en que se ha detectado el cambio de proyecto.

Notificaciones

Ante hechos relevantes en el sistema, el servidor genera notificaciones para alertar a los administradores.

Campos de Notificación

  • Fecha: Fecha y hora en que se ha generado la notificación.
  • Notificación: Describe el hecho.
  • Comprobado: Campo que se marcará manualmente cuando se ha recibido la notificación.

Consultas

Aquí podrás ejecutar las Consultas disponibles.

Puedes añadir nuevas consultas o modificar las predeterminadas accediendo a Configuración-Consultas. Una pequeña explicación de cómo se programan la puedes encontrar en el apartado Consultas de La configuración del sistema migasfree.

Estadísticas

Es una lista con estadísticas predefinidas.

  • cuadro de mando: Resumen de las estadísticas más importantes sobre el parque de ordenadores gestionado por el servidor migasfree.
  • ordenadores actualizados/hora: Gráfica de barras que indica la cantidad (única) de equipos que han completado la actualización de migasfree por hora.
  • ordenadores actualizados/día: Gráfica de barras que indica la cantidad (única) de equipos que han completado la actualización de migasfree por día.
  • ordenadores actualizados/mes: Gráfica de barras que indica la cantidad (única) de equipos que han completado la actualización de migasfree por mes.
  • resumen de dispositivos: Varias gráficas relacionadas con los dispositivos.

El proceso de las comprobaciones

Al igual que como liberador debes realizar un conjunto de tareas para mantener el sistema en codiciones, continuamente te llegarán errores, fallas, etc. que debes comprobar y atender. Esta es la misión para un usuario checker.

¿Qué tareas tienes que hacer como comprobador del sistema? Sencillo. Mantén las Alertas a 0. El sistema te irá avisando qué debes atender.

  • Comprueba periódicamente la existencia de Errores. Soluciónalos y márcalos como comprobados.
  • Comprueba periódicamente la existencia de Fallas. Soluciónalas y márcalas como comprobadas.
  • Comprueba periódicamente la existencia de Notificaciones. Una vez leídas, márcalas como comprobadas.

Otros procesos

Reemplazo de ordenadores

Este proceso permite intercambiar el estado, etiquetas, dispositivos y atributos CID asignados en el sistema entre dos ordenadores.

Imagina que un usuario te reporta un fallo de hardware y decides darle un equipo que tienes en estado disponible para que continúe su trabajo. En este caso ve al menú Datos - Reemplazo de ordenadores e introduce los dos ordenadores. Una vez pulses en el botón Reemplazar el ordenador que estaba disponible tendrá ahora el estado, etiquetas e impresoras que tenía el ordenador estropeado. Finalmente puedes editar el ordenador que ha fallado y cambiarle el estado a en reparación o a baja.

Dispositivos

La lógica es clara y sencilla: la propaganda es a la democracia lo que la cachiporra al estado totalitario.

—Noam Chomsky

Migasfree puede ser utizado también para instalar de manera centralizada las impresoras, ahorrándote un tiempo más que considerable respecto a una instalación manual en cada ordenador (aunque inicialmente se requiera introducir en el sistema los distintos modelos de impresoras que vayas a utilizar).

Además, por ser un sistema centralizado, te va a permitir conocer el parque de impresoras de tu organización.

En migasfree las impresoras son asignadas a atributos, por lo que puedes especificar que una determinada impresora sea instalada en todos los ordenadores que tengan, por ejemplo, la etiqueta AUL-AULA_DE_FORMACION aunque, obviamente, lo más común será asignarlas a un ordenador concreto utilizando su CID (Computer ID).

Nota

La instalación de las impresoras se producirá cuando un cliente haga migasfree -u ya que el servidor indica en ese momento al cliente qué impresoras debe tener instaladas. El cliente es el que con esa información instala, desinstala o actualiza las impresoras.

Pasos para la configuración de las impresoras:

  • Añadir los fabricantes.
  • Definir las diferentes prestaciones que vas a utilizar.
  • Añadir los modelos y crear un paquete por cada modelo de impresora.
  • Añadir cada dispositivo físico, especificando cómo está conectado y qué dispositivos lógicos deben instalarse a cada atributo.

Fabricantes

Campos del Fabricante

  • Nombre: Nombre del fabricante de la impresora.

Prestaciones

Representa una determina configuración por defecto del controlador del dispositivo.

Esto sirve para facilitar a los usuarios la impresión, ya que por cada impresora fisica puedes querer instalarle diferentes configuraciones por defecto. Por ejemplo, puedes querer configurar estas 3 impresoras lógicas:

  • Impresión en negro, doble cara y calidad borrador
  • Impresión en color y en 1 cara
  • Impresión usando la bandeja multipropósito

Así que en este caso te interesaría crear las siguiente prestaciones:

  • BORRADOR
  • COLOR
  • MULTIPROPOSITO.

Campos de la Prestación

  • Nombre: Nombre la prestación.

Modelos

Por cada modelo de impresora se especifican las distintas conexiones y los distintos controladores que estarán admitidos.

Campos del modelo de dispositivo

  • Nombre: Nombre del modelo de la impresora.

  • Fabricante: Asigna el Fabricante del modelo de impresora.

  • Tipo: Actualmente sólo se utiliza “PRINTER”.

  • Conexiones: Especifica las distintas maneras en las que puedes conectar físicamente la impresora.

  • Controladores: Por cada version y prestación tendrás que definir que archivo ppd debe ser utilizado.

    Un archivo PPD (PostScript Printer Description) describe las características disponibles para la impresora. Dicho archivo puede ser obtenido directamente del fabricante o en su defecto de openprinting.org

    • Proyecto: Proyecto migasfree.
    • Prestación: Prestación.
    • Nombre: Ruta completa donde esta ubicado el archivo .ppd en los ordenadores.
    • Paquetes a instalar: En este campo deberás poner el nombre del paquete que contiene el archivo ppd que vas a utilizar. Si es necesario algún otro paquete, puedes añadirlo separándolo con un espacio.

Dispositivos

Representa a cada una de las distintas impresoras físicas.

Campos del dispositivo

  • Nombre: Identificador único de la impresora física (en AZLinux usamos el nº de inventario que lleva impreso la etiqueta que pegamos en cada impresora).

  • Modelo: Modelo de la impresora

  • Conexión: Como se conecta físicamente la impresora.

  • disponible para los atributos: Indica a qué atributos se va a publicar el dispositivo. Migasfree Play hace uso de esta pubicación permitiendo al usuario del ordenador (sin privilegios de administración) instalar las impresoras que se le han publicado. Por ejemplo si publicas el dispositivo al atributo AUL-AULA 3 en todos los ordenadores del aula 3 aparecerá esa impresora y se podrá instalar cualquiera de sus prestaciones con Migasfree Play y un sólo «click». Otro ejemplo de uso es asignar en los atributos una subred: cualquier usuario que esté en esa subred le aparecerá la impresora y sus prestaciones.

  • Dispositivos lógicos:

    • Prestación: Prestación.
    • Nombre: Nombre alternativo a la prestación. Es opcional.
    • Atributos: Atributos a los que será instalado el dispositivo lógico.

Nota

La forma más eficaz de añadir los dispositivos es asignar el nombre, modelo y conexión y entonces pulsar en grabar y continuar editando. De esta manera se añadirán automáticamente los dispositivos lógicos asociados a ese modelo de impresora y podrán ser asignados entonces los atributos.

Reemplazo de dispositivos

Imagina p.e. que tienes una impresora de red instalada en 30 ordenadores y que va a ser sustituida por otro modelo de impresora. En este caso, lo único que tendrás que hacer es un Reemplazo de dispositivos indicando el dispositivo antiguo y el nuevo. Solamente eso.

Si has leído y entendido bien este último párrafo, deberías ya comprender cómo migasfree puede ahorrarte mucho tiempo en todo lo relacionado a la instalación de impresoras.

Ejemplo EPSON AL-M300

Para afianzar los conceptos vamos a crear el modelo EPSON AL-M300 y a instalar dos impresoras físicas con estas tres prestaciones:

  • BN: Impresión en negro.
  • MP: Bandeja multipropósito.
  • DUPLEX: Doble cara

Para ello descárgate los ejemplos de este libro donde encontrarás una carpeta llamada acme-epson-al-m300

$ wget https://github.com/migasfree/fun-with-migasfree-examples/archive/master.zip
$ unzip master.zip
$ cd fun-with-migasfree-examples-master/acme-epson-al-m300

Observa que en el paquete existen tres archivos .ppd que se corresponden con las prestaciones comentadas.

$ ls  usr/share/ppd/acme
Epson_AL_M300-duplex-ps-es.ppd
Epson_AL_M300-MP-ps-es.ppd
Epson_AL_M300-ps-es.ppd

Una manera simple de obtener estos archivos ppd, es la siguiente:

  1. Obtén el ppd del propio fabricante de la impresora o en su defecto de openprinting.org
  2. Instala una impresora en tu sistema con el archivo ppd obtenido.
  3. Modifica las propiedades de la impresora desde el interface gráfico de usuario de acuerdo a la prestación que va a proporcionarte (ejecuta p.e. system-config-printer en un terminal).
  4. En el directorio /etc/cups/ppd/ tendrás el ppd con las opciones que has elegido para tu prestación, cópialo con un nombre relacionado con esa prestación.

Crea ahora el paquete (debes tener el paquete devscripts y debhelper previamente instalados).

$ /usr/bin/debuild --no-tgz-check -us -uc

Súbelo al servidor

# migasfree-upload -f ../acme-epson-al-m300_1.0-1_all.deb

y libéralo creando un nuevo despliegue en el servidor llamado p.e. impresoras. Asígnale el paquete acme-epson-al-m300_1.0-1_all.deb y en atributos asigna ALL-SYSTEMS.

Ve a Dispositivos - Fabricantes y añade EPSON.

En Dispositivos -Pestaciones añade BN MP y DUPLEX

Añade un Dispositivo - Modelos de la siguiente manera:

  • Nombre: AL-M300
  • Fabricante: EPSON
  • Tipo: PRINTER
  • Conexiones: USB y TCP. (Aquí especificamos las distintas conexiones que tiene la impresora)

Pulsa en Grabar y continuar editando.

Ahora añade los controladores:

  • Controlador 1:

    • Proyecto: debian-8.6. (u otra)
    • Prestación: BN
    • Nombre: /usr/share/ppd/acme/Epson_AL_M300-ps-es.ppd
    • Paquetes a instalar: acme-epson-al-m300
  • Controlador 2:

    • Proyecto: debian-8.6. (u otra)
    • Prestación: MP
    • Nombre: /usr/share/ppd/acme/Epson_AL_M300-MP-ps-es.ppd
    • Paquetes a instalar: acme-epson-al-m300
  • Controlador 3:

    • Proyecto: debian-8.6. (u otra)
    • Prestación: DUPLEX
    • Nombre: /usr/share/ppd/acme/Epson_AL_M300-duplex-ps-es.ppd
    • Paquetes a instalar: acme-epson-al-m300

Hasta aquí hemos definido los modelos de impresoras. Ahora ya estamos en disposición de añadir las impresoras a los equipos.

Vamos a añadir 2 impresoras físicas de ejemplo al ordenador CID-1.

Impresora Física 1 conectada por TCP

Ve a Dispositivos - Dispositivos y añade la primera impresora:

  • Nombre: Impresora1
  • Modelo: AL-M300
  • Conexión: Elije TCP
  • IP: 10.0.2.250
  • Pulsa ahora en Grabar y continuar editando y aparecerán los tres dispositivos lógicos correspondientes. Deja el Nombre en blanco. Añade a cada uno de los dispositivos lógicos el atributo CID-1 (o el atributo que quieras).

Impresora Física 2 conectada por USB

Ve a Dispositivos - Dispositivos y añade la segunda impresora:

  • Nombre: Impresora2
  • Modelo: AL-M300
  • Conexión: Elije ahora USB.
  • Pulsa ahora en Grabar y continuar editando y aparecerán los tres dispositivos lógicos correspondientes. Deja el Nombre en blanco. Añade a cada uno de los dispositivos lógicos el atributo CID-1 (o el atributo que quieras).

Y con esto, al hacer migasfree -u en cada ordenador se instalarán las impresoras lógicas según hemos especificado.

Para finalizar, conviene mencionar que cualquier cambio que se realice en el dispositivo (la IP, el tipo de conexión, o el nombre p.e.) será modificado automáticamente en los ordenadores cuando estos se actualicen.

Ejemplos prácticos

La imaginación tiene sobre nosotros mucho más imperio que la realidad.

—Jean de la Fontaine

A continuación, te voy a mostrar una selección representativa de peticiones e incidencias de la Gestión de Configuración Software, junto con una solución, la que creo más acertada a día de hoy, porque es obvio que no existe una única solución a los problemas.

El objetivo de estos ejemplos (basados en casos reales del proyecto AZLinux) es afianzar los conceptos que hemos ido viendo durante los capítulos anteriores. De esta manera, podrás hacerte una mejor idea de toda la potencia de trabajar con la paquetería estándar de tu distibución Linux junto con migasfree, en el proceso de la GCS.

El código fuente de los paquetes utilizados en este capítulo está disponible en http://github.com/migasfree/fun-with-migasfree-examples

Descárgatelo si aún no lo has hecho:

$ wget https://github.com/migasfree/fun-with-migasfree-examples/archive/master.zip
$ unzip master.zip
$ cd fun-with-migasfree-examples-master

Deshabilitar montaje de unidades USB y CDROM

a) Petición de cambio

Todos los ordenadores de la NET-192.168.100.0/24, excepto el ordenador CID-3245, no deberían montar unidades USB por motivos de seguridad. Tampoco deben montar unidades USB aquellos usuarios que pertenezcan al grupo de LDAP GRP-NO-MEDIA, ni tampoco el ordenador CID-1291.

b) Aceptación de la petición

Petición aceptada. Crearemos un conjunto de atributos ya que es muy posible que en el futuro vayan asignándose o excluyéndose otros atributos.

c) Cambio

Después de buscar en Internet la forma de bloquear el montaje de dispositivos USB, y de varias pruebas, llegamos a la conclusión que realizar un cambio de permisos en el directorio /media es suficiente para alcanzar nuestro objetivo.

ECS: acme-media-disable (nuevo)

Decidimos crear el paquete acme-media-disable que bloqueará el montaje en /media cuando esté instalado este paquete.

Observa como en la post-instalación del paquete se restringe los permisos a /media, y como en la post-desintalación dejamos los permisos por defecto.

Crea el paquete acme-media-disable (debes tener previamente instalados el paquete devscripts y debhelper)

$ cd acme-media-disable
$ /usr/bin/debuild --no-tgz-check -us -uc
$ cd ..

y súbelo al servidor.

# migasfree-upload -f acme-media-disable_1.0-1_all.deb

d) Liberación

  1. Creamos el conjunto de atributos SET-NO-MEDIA:

    ATRIBUTOS:

    NET-192.168.100.0/24

    GRP-NO-MEDIA

    CID-1291

    EXCLUYE:

    CID-3245

  2. Creamos un despliegue MEDIA-DISABLE:

    Asignamos el paquete: acme-media-disable_1.0-1_all.deb

    asignamos en atributos incluidos: ALL SYSTEMS

  3. Creamos una Aplicación NO-MEDIA

  4. Crea la política NO-MEDIA

    • Nombre: NO-MEDIA

    • Exclusivo: Marcado

    • Atributos incluidos: ALL SYSTEMS

    • Grupos de politicas:

      • Prioridad 1:

        • Atributos incluidos: SET-NO-MEDIA
        • Aplicaciones: NO-MEDIA
      • Prioridad 2:

        • Atributos incluidos: ALL SYSTEMS
        • Aplicaciones: (vacio)

Para añadir o excluir atributos en el futuro, simplemente bastará con modificar el conjunto de atributos SET-NO-MEDIA.

Cierre de sesión gráfica en ordenadores HP ProDesk 600 G2 SFF

a) Petición de cambio

Aleatoriamente y de repente, se cierra la sesión gráfica de usuario en los equipos HP ProDesk 600 G2 SFF

Frecuencia aproximada del error: de 0 a 3 cierres de sesión por día.

Se han recibido incidencias de este tipo sólo en algunos equipos de este modelo de ordenador.

b) Aceptación

Se comprueba, observando el fichero /var/log/syslog, que el error en estos equipos es provocado por la tarjeta gráfica intel-hd-graphics-530, que se identifica como PCI-8086:1912 incluida en los ordenadores HP ProDesk 600 G2 SFF.

c) Cambio

Después de buscar en Internet información relativa a este error, y de probar distintas soluciones, llegamos a comprobar que modificando el método de aceleración de la tarjeta gráfica, siguiendo un workaround propuesto en Internet, el error ya no se reproduce.

ECS: acme-intel-hd-graphics-530 (nuevo)

Creamos un paquete acme-intel-hd-graphics-530 que, simplemente, modifica el método de acelaración añadiendo en el sistema el fichero /usr/share/X11/xorg.conf.d/20-intel-hd-graphics-530.conf con el siguiente contenido:

Section "Device"
 Identifier "Card0"
 Driver "Intel"
 Option "AccelMethod" "uxa"
EndSection

y lo subimos al servidor.

d) Liberación

Dado que tenemos en producción unos 120 equipos con la tarjeta gráfica PCI-8086:1912 desplegaremos este paquete poco a poco (sólo a los ordenadores que tengan dicho atributo) ya que no sabemos, a priori, qué otros efectos no deseados puede provocar el cambio de acelaración gráfica.

Creamos un calendario únicamente para este despliege:

Calendario intel-hd-graphics-530

Demora: 0

Atributos: PCI-8086:1912

Duración: 20 días

Creamos el despliegue intel-hd-graphics-530

Ponemos en paquetes a instalar: acme-intel-hd-graphics-530

Asignamos en calendario: intel-hd-graphics-530

Nota

De esta manera se actualizarán aproximadamente 120/20 = 6 ordenadores por día, lo que puede ser manejable por el servicio telefónico de Asistencia a Usuarios en caso de producirse efectos no deseados.

Etiqueta MEDIA-DISABLE en migasfree

a) Petición de cambio

Crear una etiqueta en migasfree para desplegar software en los equipos que no deben montar unidades USB y CDROM.

b) Aceptación

Se rechaza la petición, debido a que ya disponemos del conjunto de atributos SET-MEDIA-DISABLE.

Nota

Los conjuntos de atributos son mucho más versátiles que una simple etiqueta asignada a un ordenador. La etiqueta está pensada para que un usuario puede asignarla desde su ordenador mediente el comando migasfree-tags. En cambio, los conjuntos de atributos son definidos en el servidor por un administrador mediante la asignación y exclusión de atributos y/o otros conjuntos de atributos.

Instalación de software en AULA-3

a) Petición de cambio

Se va a proceder a impartir cursos sobre gimp en el AULA-3. Es neceserario que este software esté instalado esta misma tarde, a las 16:00 h, en todos los ordenadores de dicha aula.

b) Aceptación

Existe un despliegue per-aula-3 para añadir software a los equipos de dicha aula. Como atributos incluidos, este despliegue tiene el conjunto de atributos SET-AULA-3

Conjunto de atributos SET-AULA-3:

CID-3578

CID-3579

CID-3580

CID-3581

CID-3582

CID-3583

CID-3584

CID-3585

Despliegue per-aula-3:

paquetes a instalar:

atributos incluidos: SET-AULA-3

c) Cambio

En este caso no hay implicado ningún ECS que tenga que ser modificado.

d) Liberación

Editamos el despliegue per-aula-3

añadimos a los paquetes a instalar : gimp

Nota

Cuando los equipos del AULA-3 inicien la próxima sesión gráfica, automáticamente se les instalará el software solicitado. Observa que no es necesario desplazarnos al aula, acceder por control remoto, ni tan siquiera encender los equipos. El software se instalará cuando, plácidamente, esté echando mi siesta después de comer.