Primeros pasos
Probando migasfree
La unidad es la variedad, y la variedad en la unidad es la ley suprema del universo.
—Isaac Newton.
Si bien puedes instalar el servidor migasfree en distintas distribuciones, en este capítulo voy a explicarte como instalarlo sobre Debian 8 Jessie.
El objetivo es que dispongas rápidamente de un servidor y un cliente migasfree totalmente funcional, por eso no me voy a extender en explicaciones.
Si decides usar otra Distribución GNU/linux de la recomendada, tendrás que conseguir los paquetes apropiados. Puedes generar los paquetes como se indica en Empaquetando migasfree. Ten en cuenta que las instrucciones de este capítulo pueden variar según la distribución que elijas.
Nota
Usa una máquina virtual de virtualbox realizando la instalación mínima por red de Debian 8 para ver el funcionamiento de migasfree y familiarizarte con él antes de poner a Migasfree en producción
Instalando el servidor
Como root
, ejecuta en un terminal:
# wget -O - http://migasfree.org/pub/install-server | bashNota
Al instalar el paquete del servidor migasfree se añade al sistema el fichero
/etc/apache2/conf.d/migasfree.conf
. Este fichero contiene la configuración del servidor web.Nota
Al instalar el paquete del servidor migasfree se crea el usuario
migasfree
en Postgresql con passwordmigasfree
y se añade al fichero/etc/postgresql/9.1/main/pg_hba.conf
la línea'local all migasfree password'
para permitir al usuario migasfree autenticarse mediante password. Recuerda que para poner en producción el servidor deberás cambiar la contraseña de este usuario tal y como se indica en Migasfree en producción.Nota
Otra forma alternativa de instalar un servidor migasfree, y que te recomiendo encarecidamente que pruebes, es utilizando contenedores docker. Accede a https://github.com/migasfree/migasfree-docker y sigue las instrucciones. En AZLinux llevamos tiempo utilizando estos contenedores y estamos muy satisfechos.
Comprobando el servidor
En un navegador web accede a la dirección del servidor. Si todo ha ido bien, verás la figura 5.1.
Pulsa en iniciar sesión
y haz login con el nombre de usuario “admin” y
password “admin”. Verás algo parecido a la figura 5.2. Observa como arriba a la
derecha pone alertas 0
. Esto nos indica que todo está bien.
Instalando el cliente
Instalando el paquete migasfree-client
Ahora instala el cliente migasfree sobre la misma máquina donde has instalado el servidor. Para ello, actualiza la lista de paquetes e instala el paquete migasfree-client:
# wget -O - http://migasfree.org/pub/install-client | bash
Registrando el cliente
Ejecuta el comando:
# migasfree -u
te devolverá una salida parecida a esta:
root@debian:/home/tux# migasfree -u Sesión gráfica no detectada Versión de migasfree client: 4.13 Opciones de ejecución: /etc/migasfree.conf Versión: debian-8.7 Servidor: localhost Actualizar paquetes automáticamente: True Proxy: None Certificado SSL: None Proxy caché de paquetes: None Depuración: False Nombre del ordenador: debian GUI detallado: True PMS: apt-get Usuario gráfico: root Autoregistrando ordenador... ¡Clave /var/migasfree-client/keys/localhost/debian-8.7.pri creada! ¡Clave /var/migasfree-client/keys/localhost/server.pub creada! ¡Clave /var/migasfree-client/keys/localhost/repositories.pub creada! ******************* Conectando al servidor migasfree... ******************** ***************************** Correcto ************************ Obteniendo propiedades... ************************* ***************************** Correcto ************************** Evaluando atributos... ************************** SET: ALL SYSTEMS PCI: 8086:1237~Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02) ,8086:7000~ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] ,8086:7111~IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01) ,80ee:beef~VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter ,8086:100e~Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02) ,80ee:cafe~System peripheral: InnoTek Systemberatung GmbH VirtualBox Guest Service ,106b:003f~USB controller: Apple Inc. KeyLargo/Intrepid USB ,8086:7113~Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08) ,8086:265c~USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller ,8086:2829~SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02) , IP: 10.0.2.15 HST: debian NET: 10.0.2.0/24 PLT: Linux USR: root~root VER: debian-8.7 ************************** Subiendo atributos... *************************** ***************************** Correcto *************************** Ejecutando fallas... *************************** LOW_HOME_PARTITION_SPACE: LOW_SYSTEM_PARTITION_SPACE: **************************** Subiendo fallas... **************************** ***************************** Correcto ************************* Creando repositorios... ************************** ***************************** Correcto ************* Obteniendo los metadatos de los repositorios... ************** Ign http://ftp.es.debian.org jessie InRelease Obj http://ftp.es.debian.org jessie-updates InRelease Obj http://security.debian.org jessie/updates InRelease Obj http://ftp.es.debian.org jessie Release.gpg Obj http://ftp.es.debian.org jessie-updates/main Sources Obj http://security.debian.org jessie/updates/main Sources Des:1 http://ftp.es.debian.org jessie-updates/main amd64 Packages/DiffIndex [6.916 B] Obj http://ftp.es.debian.org jessie Release Obj http://security.debian.org jessie/updates/main amd64 Packages Obj http://ftp.es.debian.org jessie/main Sources Obj http://ftp.es.debian.org jessie/main amd64 Packages Descargados 6.916 B en 1s (5.169 B/s) Leyendo lista de paquetes... Hecho ***************************** Correcto ************************ Desinstalando paquetes... ************************* ***************************** Correcto ******************* Instalando paquetes obligatorios... ******************** ***************************** Correcto ************************* Actualizando paquetes... ************************* DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get -o APT::Get::Purge=true -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -o Debug::pkgProblemResolver=1 --assume-yes --force-yes --auto-remove dist-upgrade Leyendo lista de paquetes... Creando árbol de dependencias... Leyendo la información de estado... 0 actualizados, 0 nuevos se instalarán, 0 para eliminar y 0 no actualizados. ***************************** Correcto ****************** Subiendo el inventario del software... ****************** ***************************** Correcto *************** Capturando información sobre el hardware... *************** ***************************** Correcto **************** Enviando información sobre el hardware... **************** ***************************** Correcto ************************* Operaciones completadas **************************
Comprobando el estado del servidor
Comprueba los datos que se han recogido accediendo al servidor con tu navegador web.
- Fíjate ahora que tienes 2
Alertas
(figura 5.3). Pulsa sobre ellas y luego
sobre 2 alertas por comprobar
:
Accede a
Datos - Ordenadores
y observa: (figura 5.4)Nota
CID es un acrónimo de
Computer IDentificator
. Es un número que el servidor asigna a cada ordenador para identificarlo. Es imposible tener dos ordenadores con el mismo CID.Nota
El símbolo que aparece a la izquierda del CID (el corazón) indica el
estado
en el que encuentra el ordenador.
¡Enhorabuena! Has instalado un servidor migasfree y has registrado en él tu primer ordenador.
En el siguiente capítulo vas a aprender a hacer el cambio de configuración software al estilo migasfree.
Configurando software al estilo migasfree
No esperes hasta que las condiciones sean perfectas para comenzar, el empezar hace las condiciones perfectas.
—Alan Cohen.
En este capítulo vas a aprender a configurar el servidor migasfree al estilo migasfree.
Quizás no sea el ejemplo más acertado porque vas a configurar sólo un servidor migasfree, pero imagina un escenario donde tienes X centros de trabajo y te interesa tener un servidor migasfree, con la misma configuración en cada centro, para dar servicio a sus clientes. Uno de estos servidores, bien podría ser el que admistrara al resto de servidores.
El objetivo de este capítulo es que veas todo el proceso de la Gestión de la Configuración Software en conjunto.
Al estilo tradicional
Imagina que te llega una petición de cambio para modificar, en todos los centros, el nombre de la organización de los servidores migasfree con el nombre de tu empresa.
Miras la documentación de migasfree y concluyes que tienes que crear el
fichero /etc/migasfree-server/settings.py
y añadir la siguiente
variable:
MIGASFREE_ORGANIZATION = "ACME"
Decides acceder a cada uno de los equipos por ssh, crear el fichero, reiniciar el servidor Apache y olvidarte del tema.
Ahora bien, si estás de vacaciones, ¿podría responder fácilmente a las cuestiones siguientes tu compañero de trabajo?
- ¿Qué cambios se han realizado en un determinado equipo desde el 1 de enero? ¿Quién los hizo? ¿Y cúando se realizaron todos esos cambios?
- ¿Qué equipos tienen el cambio propuesto?
Este método es sencillo y rápido, pero difícilmente tu compañero va a poder reponder estas cuestiones de manera eficaz, aunque hayas registrado muy bien tu trabajo. La integridad frente al cambio no está garantizada con este método.
A continuación, te propongo otra forma de realizar los cambios de configuración. Se basa en utilizar el empaquetado para trasladar los cambios a los equipos, conservando la integridad del sistema.
Asumo que tienes un gestor de proyectos, como Redmine, donde vas a registrar las peticiones de cambio (o al menos que hagas como que lo tienes) y que has completado con éxito el capítulo anterior. Todos los comandos de este capítulo los vas a ejecutar como root en el equipo que hayas utilizado en el capítulo anterior.
Tu primer cambio de configuración
El primer cambio sobre un Elemento de Configuración Software (ECS) es el que te llevará más trabajo, porque exige la creación de un paquete.
Petición
Imagina que te llega la siguiente la petición de cambio, que registras y aceptas en el gestor de proyectos:
Gestor de proyectos:
Registro: Sustituir el nombre de la organización
My organization
de los servidores migasfree por el deACME
Lo primero que haces es identificar al ECS que afecta, es decir, cuál es el paquete que debe ser modificado. Como no existe todavía un paquete sobre el que actuar, asigna la petición de cambio a un desarrollador (¡qué suerte, siempre te toca a ti!) y registra en la petición de cambio:
Gestor de proyectos:
Registro: Crear el paquete acme-migasfree-server
Asignado a: desarrollador.
Cambio
Empaquetado
Como desarrollador, tienes que crear el paquete de configuración
acme-migasfree-server
. Si nunca has creado un paquete, no te
preocupes, para facilitarte las cosas y que puedas avanzar, centrándote
en el proceso GCS, descárgate el proyecto fun-with-migasfree-examples
donde se incluyen los ejemplos utilizados es este libro.
# apt-get install unzip $ wget https://github.com/migasfree/fun-with-migasfree-examples/archive/4.13.zip $ unzip 4.13.zip $ cd fun-with-migasfree-examples-4.13
Observa cómo modificamos el nombre de la organización:
$ less acme-migasfree-server/etc/migasfree-server/settings.pyNota
En los Ajustes del servidor migasfree puedes ver el conjunto de ajustes que se pueden emplear para adaptar el servidor a tus necesidades.
Y observa también que, en la postinstalación del paquete, se ejecutará el
comando service apache2 reload
cuando se produzca la configuración
del paquete:
$ less acme-migasfree-server/debian/postinst
Ya tienes el fuente del paquete. Ahora genera el paquete. Para ello, antes debes tener instalados algunos paquetes:
# apt-get install devscripts gcc build-essential:native
Y, ahora sí, genera el paquete:
$ cd acme-migasfree-server $ /usr/bin/debuild --no-tgz-check -us -uc $ cd ..
¡Felicidades, el cambio está empaquetado en acme-migasfree-server_1.0-1_all.deb
!
Subiendo el cambio al servidor
Usa este comando para subir el paquete generado al servidor.
# migasfree-upload -f acme-migasfree-server_1.0-1_all.deb
- Introduce usuario: admin
- Contraseña: admin
- Version: debian-x.x (En mi caso la versión es debian-8.7)
- Ubicacion: acme
Finalmente, asigna la petición de cambio a un liberador (sí, otra vez vas a ser tú) y registra en la petición:
Gestor de proyectos:
Registro: Creado paquete acme-migasfree-server_1.0-1_all.deb
Asignado a: liberador
¡Felicidades! Has realizado un cambio de configuración y lo has almacenado en el servidor migasfree.
Liberación
Ahora vas a ver el punto de vista del encargado de liberar los cambios:
Accede mediante un navegador web a tu servidor. Observa que en
Alertas
tienes 1 paquete huérfano
(Figura 6.2).
Liberando el cambio de configuración
Ahora, vas a liberar el cambio creando un nuevo Repositorio.
Antes de nada debes asegurarte que el usuario con el que te has autenticado tiene
asignada una versión con la que trabajar por defecto. Esto es importante y sólo
se requiere comprobar en nuevas instalaciones. Para ello pulsa sobre admin
y Preferencias
. Pulsa Grabar
.
Ahora sí, ya estás listo para crear tu primer Repositorio migasfree
. Para ello, ve a
Liberación
(pulsando sobre el icono del camión) y accede a Repositorios
.
Luego pulsa en el botón +
para añadir un nuevo repositorio
e introduce estos datos:
Nombre =
PRINCIPAL
Version =
debian-x.x
Ahora despliega la sección
Paquetes
Paquetes/Conjuntos =
acme-migasfree-server_1.0-1_all.deb
En este campo se asignan los paquetes que contendrá este repositorio.
Paquetes a instalar =
acme-migasfree-server
En este campo se escriben los nombres de los paquetes que se instalarán obligatoriamente en los clientes.
Despliega la sección
Atributos
Atributos =
SET-ALL SYSTEMS
De esta manera indicamos que todos los clientes tendrán acceso a este repositorio.
Guarda el repositorio.
Observa que, en Alertas
, ya no tienes ningún paquete huérfano.
Registra y cierra la petición de cambio:
Gestor de proyectos:
Registro: Liberado en Repositorio PRINCIPAL.
Petición: cerrada.
Aplicando el cambio
Para aplicar el cambio, ejecuta el siguiente comando:
# migasfree -u
Observa en la salida del comando:
****************** Subiendo el historial del software... ******************* Diferencia en el software: # 2017-02-03 18:21:17 +acme-migasfree-server-1.0-1 ***************************** Correcto
Abre el navegador y fíjate que el nombre de la organización ha cambiado (Figura 6.3).
Tu segundo cambio de configuración
Petición
Te llega la segunda petición de cambio:
Gestor de proyectos:
Registro: Sustituir de nuevo el nombre de la organización en los servidores migasfree ya que el nombre correcto es Acme Corporation.
Como siemrpre, identificas primero el ECS al que afecta el cambio: En
este caso es a acme-migasfree-server
. En la petición
de cambio asignas al desarrollador y registras:
Gestor de proyectos:
Registro: Modificar el paquete acme-migasfree-server-1-0.1
Asignado a : desarrollador.
Cambio
Los cambios que se realizan sobre un paquete ya creado suelen ser más sencillos de realizar porque, simplemente, se modifica el paquete.
Empaquetado
Edita el fichero del paquete acme-migasfree-server/etc/migasfree-server/settings.py
y modifica la variable MIGASFREE_ORGANIZATION
:
MIGASFREE_ORGANIZATION = "Acme Corporation"
Edita el fichero del paquete``acme-migasfree-server/debian/changelog`` para registrar el cambio realizado. Tendrás que añadir estas líneas al principio del fichero:
acme-migasfree-server (1.0-2) unstable; urgency=low * Change organitation to Acme Corporation -- Alberto Gacías <alberto@migasfree.org> Fri, 3 Feb 2017 18:25:00 +0200
Presta atención a:
La versión del paquete (1.0-2).
Sustituir tu nombre y dirección de correo.
Modificar la fecha y hora.
Nota
El formato que se utiliza en el changelog en paquetes debian es muy estricto. Ten cuidado con los espacios, retornos de carro y fechas.
Ahora, generamos el paquete:
$ cd acme-migasfree-server $ /usr/bin/debuild --no-tgz-check -us -uc $ cd ..
Observa que se ha generado el mismo paquete, pero con la versión 1.0-2
:
# root@debian8:~# ls -la *.deb -rw-r--r-- 1 root root 2338 feb 3 17:49 acme-migasfree-server_1.0-1_all.deb -rw-r--r-- 1 root root 2398 feb 3 18:27 acme-migasfree-server_1.0-2_all.deb
Subiendo al servidor el cambio
# migasfree-upload -f acme-migasfree-server_1.0-2_all.deb
Introduce usuario: admin
Contraseña: admin
Version: debian-x.x
Ubicacion: acme
Gestor de proyectos:
Registro: Creado paquete acme-migasfree-server_1.0-2_all.deb
Asignado a: liberador
Liberación
Liberando el cambio de configuracion
Observa como aparece de nuevo un paquete huérfano
en alertas
y que
corresponde a acme-migasfree-server_1.0-2_all.deb
.
Accede a Liberación - Repositorios
y edita el repositorio
PRINCIPAL
. Añade a Paquetes/Conjuntos
el paquete
acme-migasfree-server_1.0-2_all.deb
.
Guarda el repositorio.
Registra y cierra la petición de cambio:
Gestor de proyectos:
Registro: Liberado en Repositorio PRINCIPAL.
Petición: cerrada.
Aplicando el cambio
Ejecuta de nuevo:
# migasfree -u
Observa en la salida de este comando el cambio de software:
****************** Subiendo el historial del software... ******************* Diferencia en el software: # 2017-02-03 18:30:21 +acme-migasfree-server-1.0-2 -acme-migasfree-server-1.0-1 ***************************** Correcto
Comprueba si el cambio se ha aplicado.
Auditoría
Ahora sí que vas a responder las siguientes cuestiones de manera centralizada desde el servidor migasfree:
¿Qué cambios se han producido en el ordenador 1
y cuándo?
Accede a Datos - Ordenadores
, accede al equipo CID-1
(CID=Computer ID)
y mira el final del campo historial de software
de la sección Software
:
# 2017-02-03 18:21:17 +acme-migasfree-server-1.0-1 # 2017-02-03 18:30:21 +acme-migasfree-server-1.0-2 -acme-migasfree-server-1.0-1
El signo (-) indica paquete desinstalado y el signo (+) paquete instalado.
¿Qué se cambió, quién y cuándo lo hizo?
Esta información está en el paquete como metainformación. Para acceder
a ella, accede a Liberación - Paquetes
. Despliega el menú de la derecha del
paquete acme-migasfree-server_1.0-2_all.deb
y pulsa en
Información del paquete
.
Aquí podrás ver el registro de los cambios (entre otra información):
acme-migasfree-server (1.0-2) unstable; urgency=low * Change organitation to Acme Corporation -- Alberto Gacías <alberto@migasfree.org> Fri, 3 Feb 2017 18:25:00 +0200 acme-migasfree-server (1.0-1) unstable; urgency=low * Change organitation to ACME -- Alberto Gacías <alberto@migasfree.org> Sat, 18 May 2013 08:32:00 +0200
¿Qué equipos tienen el cambio acme-migasfree-server-1.0-2?
Ve a Consultas - Ordenadores en producción con el paquete...
. Escribe en el campo
Paquete acme-migasfree-server-1.0-2
y obtendrás el resultado.
Conclusión
Aunque requiera de un esfuerzo inicial empaquetar la configuración de las aplicaciones, los beneficios que obtendrás justifican sobradamente el uso de este método, ya que dispondrás de sistemas más estables, te permitirá hacer el seguimento y control de los cambios y mejorarás la resolución de incidencias.
Beneficios de crear paquetes de configuración
- La configuración permacece encapsulada.
- Las configuraciones puede revertirse fácilmente.
- Facilita las pruebas antes del despliegue.
- Facilita la distribución de las configuraciones de forma segura.
- Proporciona integridad frente a los cambios de la configuración.
Desventajas del empaqueteado de la configuración.
- Cuesta más tiempo que otras alternativas ya que hay que crear los paquetes.
Beneficios de usar migasfree
Utilizar migasfree para la realizar la Liberación te permitirá:
- Controlar a quién y a partir de qué momento se deben aplicar los cambios.
- Tener una auditoría centralizada:
- Inventario de Ordenadores.
- Hardware.
- Software (actual e histórico).
- Inventario de los cambios.
- y algunas cosas más, que te serán desveladas en los siguientes capítulos.
- Inventario de Ordenadores.
Configurando migasfree-client
La libertad no es poder elegir entre unas pocas opciones impuestas, sino tener el control de tu propia vida. La libertad no es elegir quien será tu amo, es no tener amo.
—Richard Stallman.
En el capítulo anterior nos hemos centrado en cómo se realiza el proceso de la GCS.
En este capítulo vas a configurar el cliente de migasfree (mediante empaquetado) para que se conecte a la máquina virtual Debian 8 en el que ya tienes un servidor migasfree instalado.
Todos los comandos de este capítulo los vas a ejecutar en otra máquina virtual, con Ubuntu instalado, y que debes tener en la misma red en la que esté la máquina virtual del servidor.
El objetivo de este capítulo es que conozcas un poco más el empaquetado.
Instalando migasfree-client en Ubuntu
Instala el cliente migasfree:
# wget -O - http://migasfree.org/pub/install-client | bash
Observa como en el fichero /etc/migasfree.conf
que ha instalado el paquete
migasfree-client
no hay, lógicamente, ningún ajuste configurado.
less /etc/migasfree.conf
A continuación, vamos a configurar este fichero haciendo uso del empaquetado, así que no lo hagas manualmente.
Obteniendo acme-migasfree-client
Al igual que hiciste con la configuración del servidor, puedes bajarte el fuente del paquete que vamos a utilizar de plantilla para configurar el cliente de migasfree.
En la nueva máquina virtual con Ubuntu, ejecuta el siguiente código si aún
no te has descargado fun-with-migasfree-examples
:
$ wget https://github.com/migasfree/fun-with-migasfree-examples/archive/4.13.zip $ unzip 4.13.zip $ cd fun-with-migasfree-examples-4.13
Adaptando acme-migasfree-client
Accede al directorio acme-migasfree-client y observa su contenido:
$ cd acme-migasfree-client $ ls -la total 20 drwxrwxr-x 5 alberto alberto 4096 jun 18 20:54 . drwxrwxr-x 4 alberto alberto 4096 jun 18 21:04 .. drwxrwxr-x 3 alberto alberto 4096 jun 18 20:54 debian drwxrwxr-x 3 alberto alberto 4096 jun 18 20:54 usr
Metadatos
Observa el directorio debian
. Este directorio es el que contiene
los metadatos del paquete. Los ficheros más importantes en este
directorio son:
- El fichero
control
consiste en un conjunto de campos, representados en un formato común, que permiten al sistema de gestión de paquetes conocer los metadatos del paquete y así poder gestionarlo adecuadamente. Puedes consultar la debian-policy para explorar el conjunto dedatos de control
- El fichero
changelog
contiene información, en un formato especial, con las modificaciones que se han realizado en cada versión del paquete. Cada vez que se modifica el paquete, hay que añadir una entrada en este fichero, incrementando la versión y registrando lo que se ha modificado. - El fichero
copyright
contiene la información sobre los recursos, licencia y derechos de autoría de las fuentes originales del paquete. - El fichero
rules
contiene las reglas que se utilizan para generar los paquetes a partir de sus fuentes. - El fichero
install
contiene una lista de ficheros que serán instalados con el paquete.
Ahora que conoces el significado de estos ficheros, modifícalos cambiando
el nombre del paquete acme-migasfree-client
por tuempresa-migasfree-client
y pon tu nombre y la fecha actual allí donde se requiera.
Modifica también el nombre del directorio raiz acme-migasfree-client
por tuempresa-migasfree-client
.
Scripts
Observa ahora los scripts postinst
y prerm
. Sus nombres nos indican
cuando serán ejecutados por el sistema de gestión de paquetes.
postinst
inmediatamente después de que se produzca la instalación del paquete.prerm
justo antes de que se produzca la eliminación del paquete.
Observa ahora el contenido de postinst
y verás que aquí se hace
una llamada al comando dpkg-divert
. Mediante este comando hacemos lo
que se conoce como una desviación de fichero (divert). Mediante la
desviación, indicamos al sistema de gestión de paquetes que un fichero ya
no pertenece a un determinado paquete sino al que nosotros establezcamos.
Así, el fichero de configuración /etc/migasfree.conf
, que pertenece en
principio al paquete migasfree-client, hacemos que pertenezca al paquete
tuempresa-migasfree-client
de tal manera que, una posible
actualización de migasfree-client
ya no nos afectará. Cada vez que
queramos modificar un ajuste del cliente migasfree en /etc/migasfree.conf
,
lo haremos a través del fichero usr/share/divert/etc/migasfree.conf
del paquete tuempresa-migasfree-client
.
Fíjate también que en prerm
deshacemos esta desviación, para que
si desinstalamos el paquete, quede todo como estaba.
Modifica ahora el fichero usr/share/divert/etc/migasfree.conf
. Tendŕas que
poner el ajuste Server
con el nombre, o la IP, del servidor migasfree que
hemos utilizado anteriormente, y el ajuste Version
con el nombre de tu
distribución, por ejemplo ACME-1
. El resto de ajustes, modifícalos según tus
intereses. Una vez hecho esto, y situado en el directorio
tuempresa-migasfree-client
, genera el paquete (debes tener el
paquete devscripts
y debhelper
previamente instalados).
$ /usr/bin/debuild --no-tgz-check -us -uc
Con esto tendrás un paquete que configura el cliente migasfree para tu organización. Ahora es momento de instalarlo:
# dpkg -i tuempresa-migasfree-client_1.0-1_all.deb
Observa que al instalar el paquete, dpkg
te informa que se añade la desviación
de /etc/migasfree.conf
. Comprueba ahora que el ajuste Server
y Version
son los correctos.
# less /etc/migasfree.conf
Ahora ya estás preparado para registrar este ordenador en el servidor migasfree.
# migasfree -u
Comprueba que en el servidor se ha creado la version ACME-1
y que
existe un nuevo ordenador accediendo a la página web del servidor.
Finalmente, subimos el paquete a nuestro servidor migasfree con el fin de tenerlo
disponible para su liberación a otros escritorios ACME-1
.
# migasfree-upload -f tuempresa-migasfree-client_1.0-1_all.deb
- Introduce usuario: admin
- Contraseña: admin
- Version: ACME-1
- Ubicacion: acme
Ejecución del cliente migasfree
Hasta ahora, siempre hemos ejecutado el cliente migasfree desde consola
mediante el comando migasfree -u
como root
. Ahora vamos a hacer
que se ejecute automáticamente cada vez que el usuario abra una sesión
gráfica. Para este propósito, existe el paquete migasfree-launcher
.
$ wget https://github.com/migasfree/migasfree-launcher/archive/latest.zip $ unzip latest.zip $ rm latest.zip $ cd migasfree-launcher-latest $ python setup.py --command-packages=stdeb.command bdist_deb $ cd ..
Sube el fichero migasfree-launcher al servidor:
# migasfree-upload -f migasfree-launcher_1.0-1_all.deb
Ahora observa los ficheros que contiene este paquete:
etc/sudoers.d/migasfree-launcher
establece los comandos que no requieren password de root para que pueden ser ejecutados desde un usuario cualquiera. Puedes obtener más información sobre la configuración desudoers
ejecutandoman sudoers
en un terminal.etc/xdg/autostart/migasfree-indicator.desktop
ejecutará el comando/usr/bin/migasfree-indicator
cuando el usuario inicia sesión gráfica.migasfree-indicator
llamará a/usr/bin/migasfree-launcher
y éste a su vez amigasfree --update
.Puedes aprender más sobre la especificación de los ficheros .desktop en freedesktop.org.
Ahora que ya tienes los paquetes tuempesa-migasfree-client
y
migasfree-launcher
en el servidor migasfree, crea un repositorio en el
servidor y pon estos paquetes en paquetes a instalar
y asígnale el
atributo SET-ALL SYSTEMS
.
Nota
Para aprender más sobre el empaquetado, consulta la Guía del nuevo desarrollador de Debian
Nota
Para paquetería
rpm
, los metadatos del paquete se especifican en un único fichero llamadoSPEC
. Para aprender más sobre la creación de paquetes rpm, puedes consultar rpm.org y la wiki del proyecto fedora.
Despliegue
A partir de este momento, vas a poder administrar fácilmente los escritorios Ubuntu de tu organización, de forma generalizada, instalando simplemente estos dos paquetes.
Hay varias formas de realizar esta instalación:
Bajando los dos paquetes a cada uno de los escritorios e instalándolos mediante el comando
dpkg -i
Creando un fichero
/etc/apt/sources.list.d/migasfree.list
con el siguiente contenido:deb http://<myserver>/repo/<version>/REPOSITORIES <store> PKGS
donde sustituirás:
<myserver>
por tu servidor.<version>
por la versión que pusiste en /etc/migasfree.conf- y
<store>
por la ubicación que pusiste al subir el paquete al servidor migasfree con migasfree-upload.
Una vez creado este fichero ejecuta:
# apt-get update # migasfree -u
y los paquetes se instalarán automáticamente
Puedes hacer un clon de un equipo donde ya estén instalados estos paquetes, utilizando un sistema de clonado como clonezilla. Este es el método que usamos en AZLinux, y nos resulta muy cómodo y rápido ya que en una memoria USB llevamos un clonezilla, junto con la imagen clonada de nuestro escritorio, consiguiendo instalar un AZLinux en menos de 10 minutos.
- Puedes crear un DVD de tu escritorio tal y como se realiza en el proyecto vitalinux. En concreto, tendrías que adaptar el paquete vx-create-iso a tus necesidades. En este método son los usuarios quienes se bajan la iso del DVD y se instalan ellos mismos el sistema.