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.
Nombre de tu organización (o instancia del servidor) definido en el ajuste de configuración del servidor: MIGASFREE_ORGANIZATION.
Menú.
- Configuración.
- Dispositivos.
- Liberación.
- Datos.
- Consultas.
Búsqueda rápida de ordenador.
Selección de Dominios.
Selección de Ámbitos.
Usuario que ha iniciado sesión. Permite el Cambio de contraseña.
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.Filtros predefinidos.
Búsqueda.
Acciones sobre los datos:
- Selecciona los datos (12).
- Elije una acción.
- Pulsa en el botón
ir
.
Datos.
Ayudas
Ahora fíjate que en el interfaz de administración, abajo a la derecha, hay tres iconos de ayuda.
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.
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 unafó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órmulaPCI
. 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 tablacomputer
de la Base de Datos de migasfree.Dicho atributo
CID
es único por cada ordenador y se utiliza en lugar de referirse alUUID
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 elUUID
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 aDisponible
todos susCID
asignados en el sistema son eliminados. Ver campoestado
de Ordenadores.El
CID
aparece por defecto en la etiqueta del ordenador que muestra el comandomigasfree-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 enDatos-Etiquetas
. Una vez añadidas, puedes asignarlas aDatos-Ordenadores
. También puedes editarDatos-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 --availablePara consultar las etiquetas asignadas a un ordenador ejecuta:
migasfree-tags --getPara asignar etiquetas al equipo, seleccionando manualmente las etiquetas entre las disponibles en el sistema, ejecuta:
migasfree-tags --setPara 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 lospre-incluidos
eincluidos
y se desinstalarán los paquetes definidos en el campoexcluidos
, 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 unaCategoría de etiqueta
llamada p.e.UBICACIÓN
definada de claseañadir por la derecha
. Después, puedes crear lasEtiquetas
de tipoUBICACION
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 deParametersForm
.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 gruposReader
yPackager
.configurator
. Pertenece a los gruposReader
yConfigurator
.installer
. Pertenece a los gruposReader
yDevice installer
.query
. Pertenece a los gruposReader
yQuery
.liberator
. Pertenece a los gruposReader
yLiberator
.checker
. Pertenece a los gruposReader
yComputer Checker
.reader
. Pertenece al grupoReader
.
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
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
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.
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 paraapt
en el fichero/etc/apt/sources.list.d/migasfree.list
.Nota
Todos los
repositorios migasfree
se encuentran configurados parayum
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.
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 equipoPC13098
, 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
ymigasfree-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
ymigasfree-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
ocomponentes
, 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:
- nombre: BASE
- URL base: http://es.archive.ubuntu.com/ubuntu (ó http://softlibre.unizar.es/ubuntu/archive)
- suite: bionic
- componentes: main universe multiverse
- congelado: True
- opciones: [arch=amd64]
UBUNTU BIONIC UPDATES:
- nombre: UPDATES
- comentario: Actualizaciones para errores graves que no afectan la seguridad del sistema.
- URL base: http://es.archive.ubuntu.com/ubuntu (ó http://softlibre.unizar.es/ubuntu/archive)
- suite: bionic-updates
- componentes: main universe multiverse
- congelado: True
- opciones: [arch=amd64]
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/ubuntu (ó http://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
- nombre: PYLINK
- comentario: Ejemplo de uso de PPA
- URL base: http://ppa.launchpad.net/tacocat/pylink-nightly/ubuntu
- suite: bionic
- componentes: main
- congelado: True
- opciones: [arch=amd64]
DEBIAN STRETCH
- nombre: BASE
- URL base: http://ftp.es.debian.org/debian
- suite: stretch
- components: main
- congelado: True
- opciones: [arch=amd64]
CENTOS 8
- nombre: BASE
- URL base: http://mirror.centos.org/centos
- suite: 8
- components: BaseOS/x86_64/os
- congelado: True
- opciones: gpgcheck=1 gpgkey==file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
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
- nombre: EPEL
- URL base: http://download.fedoraproject.org/pub/epel
- suite: 7
- componentes:
- congelado: True
- opciones: gpgcheck=1 gpgkey=https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7
FEDORA 31
- nombre: base
- URL base: http://download.fedoraproject.org/pub/fedora/linux/releases
- suite: 31
- componentes: Everything/x86_64/os
- congelado: True
- opciones: gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
OPENSUSE 42.3
- nombre: base
- URL base: http://download.opensuse.org/distribution/leap
- suite: 42.3
- componentes: repo/oss/suse
- congelado: True
- opciones:
OPENSUSE 15.1
- nombre: base
- URL base: http://download.opensuse.org/distribution/leap
- suite: 15.1
- componentes: repo/oss
- congelado: True
- opciones:
¿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 losDespliegues
, puedes borrar los registros dePaquetes
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 enREPOSITORIES
no son más que enlaces simbólicos a los paquetes ubicados enSTORES
.
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 equipoPC13098
, 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/oconjuntos 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 unconjunto 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 losconjuntos de paquetes
a la hora de seleccionarlos en los despliegues. Los paquetes incluidos dentro de losconjuntos de paquetes
no pueden asignarse individualmente. Esto es así para simplificar y hacer más sencilla la asignación depaquetes
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
ymigasfree-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
ymigasfree-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 denivel 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 porPhotoshop
, puedes añadir en la descripción que:gimp es una alternativa a Photoshop
.
- Paquetes por proyectos: Por cada
Proyecto
se deben especificar losPaquetes 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 deA
. Es decir: incluimosALL SYSTEMS
y excluimosA
.Crear dos despliegues.
- En uno asignamos como atributo el conjunto
A
y ponemos comopaquetes a instalar
dicho paquete.- En el segundo asignamos como atributo el conjunto
A-
y ponemos el paquete enpaquetes 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.
Crea el paquete que deshabilita el montaje de USB y CDROM: ECS: acme-media-disable (nuevo).
Pon el paquete
acme-media-disable
en un despliegue disponible paraALL SYSTEMS
Crea la
Aplicación NO-MEDIA
.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
- Atributos incluidos:
Prioridad 2:
- Atributos incluidos:
ALL SYSTEMS
- Aplicaciones: (vacio)
- Atributos incluidos:
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 losDespliegues
a configurar, basándose en losAtributos
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 deFalla
por cada una de ellas.- Configura los
Despliegues
que el servidor ha dispuesto en función de losAtributos
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 losDespliegues
efectivos.- Instala los paquetes obligatorios. Conjunto de paquetes definidos en el campo
Paquetes a instalar
de losDespliegues
efectivos.- Actualiza paquetes disponibles. Si en los Ajustes del cliente migasfree
Auto_Update_Packages
esFalse
, 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
Catálogo de aplicaciones
Catálogo de dispositivos
Información del ordenador
Detalles
Ajustes
El ajuste
Mostrar detalles al sincronizar
hará que al iniciar sesión el usuario, automáticamente aparezca maximizada la pantalla deDetalles
. 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.
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 campocomprobado
. 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 deacción
seleccionarLa 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 losErrores 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 ajusteMIGASFREE_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 finalmenteBaja
.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 elCID
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 elCID
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
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 laFó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:
- Obtén el ppd del propio fabricante de la impresora o en su defecto de openprinting.org
- Instala una impresora en tu sistema con el archivo ppd obtenido.
- 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).- 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 elNombre
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 elNombre 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
Creamos el conjunto de atributos
SET-NO-MEDIA
:ATRIBUTOS:
NET-192.168.100.0/24
GRP-NO-MEDIA
CID-1291
EXCLUYE:
CID-3245
Creamos un despliegue
MEDIA-DISABLE
:Asignamos el paquete:
acme-media-disable_1.0-1_all.deb
asignamos en atributos incluidos:
ALL SYSTEMS
Creamos una Aplicación
NO-MEDIA
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
- Atributos incluidos:
Prioridad 2:
- Atributos incluidos:
ALL SYSTEMS
- Aplicaciones: (vacio)
- Atributos incluidos:
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 simpleetiqueta
asignada a un ordenador. Laetiqueta
está pensada para que un usuario puede asignarla desde su ordenador mediente el comandomigasfree-tags
. En cambio, losconjuntos de atributos
son definidos en el servidor por un administrador mediante la asignación y exclusión deatributos
y/o otrosconjuntos 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
:
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.