viernes, 13 de marzo de 2015

Script para añadir paquetes a ficheros de Pkgsync

Para mantener los paquetes deseados en los equipos usamos Pkgsync. Se gestiona con tres ficheros uno donde introducimos los paquetes que deben estar obligatoriamente, otro los que se permite que estén y otro los que no deben estar, así cuando el sistema se actualiza mediante pkgsync  instalará los necesarios, desinstalará los que no deben estar y dejará instalados aquellos que sí pueden estar.
Por otro parte estamos usando una modificación de Esteban Navas para compartir esos ficheros de manera que por cada uno tenemos tres: el que nos ponen desde la Consejería, otro el que ponemos nosotros(.ies) y con esos dos se forma el tercero y definitivo(.all) que es el que pkgsync utilizará.
Puedes verlo en el siguiente enlace de Esteban Navas:

http://enavas.blogspot.com.es/2013/12/compartir-la-gestion-de-paquetes.html?m=0

Así como tenemos diferentes equipos en el centro: miniportátiles(para alumnos y profesores), LTSP-Servers y Workstations  tenemos que gestionar esos tres archivos, los .ies que son los que podemos gestionar desde el centro, para cada uno de los tipos de equipo.
Ya los hemos colocado en los equipos con una tarea puppet :
 https://www.blogger.com/blogger.g?blogID=2361837138647093212#editor/target=post;postID=5095385512043461757;onPublishedMenu=allposts;onClosedMenu=allposts;postNum=1;src=postname
Así si quiero introducir un paquete para que se instale en todos los equipos tendría que ir añadiéndolo uno a uno a los cuatro archivos musthave correspondientes, cada uno en una ruta distínta..
Para facilitar esto he creado un script, un tanto burdo, pero que me permite añadir estos ficheros, los llamo diciendo que fichero quiero modifica: mayhave, musthave o maynothave y si lo quiero añadir a todos los equipos o sólo a Workstation, LTSP o miniportátil.

#!/bin/bash
#como parámetro se pasa el archivo a introducir dentro de musthave
if ([ $# -ne 3 ] || ([ "$1" != "-y" ] && [ "$1" != "-s" ] && [ "$1" != "-t" ])|| ([ "$2" != "-a" ] && [ "$2" != "-w" ] && [ "$2" != "-l" ] && [ "$2" != "-m" ])); then

echo "Parámetros insuficientes o incorrectos "
        echo "escriba anadeAPkgsync [-y (para mayhave.ies)|-t (para maynothave.ies)|-s (para musthave.ies)] -[a(para todos)|w(para workstations)|-l(para ltsps)|m para miniportátiles nombre_de_paquete"
        exit 0
else

        if ([ "$2" = "-a" ]  ||  [ "$2" = "-l" ]); then
#añadimos en ltsp
                if [ "$1" = "-y" ]; then
#añadimos a mayhave de ltsp
echo "$3" >> /etc/puppet/files/ltsp-wheezy/mayhave.ltsp-wheezy.ies
echo "$3 añadido a mayhave.ltsp-wheezy.ies"
                 else
                        if [ "$1" = "-s" ]; then
#añadirmos a musthave
echo "$3" >> /etc/puppet/files/ltsp-wheezy/musthave.ltsp-wheezy.ies
echo "$3 añadido a musthave.ltsp-wheezy.ies"
                        else
#añadimos a maynothave
echo "$3" >> /etc/puppet/files/ltsp-wheezy/maynothave.ltsp-wheezy.ies
echo "$3 añadido a maynothave.ltsp-wheezy.ies"
fi
fi
fi
if ([ "$2" = "-a" ]  ||  [ "$2" = "-w" ]); then
                #añadimos a workstation
       if [ "$1" = "-y" ]; then
#añadimos a mayhave
echo "$3" >> /etc/puppet/files/workstation-wheezy/mayhave.ies
echo "$3 añadido a mayhave.ies de workstation"
                else
                        if [ "$1" = "-s" ]; then
#añadirmos a musthave
echo "$3" >> /etc/puppet/files/workstation-wheezy/musthave.ies
echo "$3 añadido a musthave.ies de workstation"
                        else
#añadimos a maynothave
echo "$3" >> /etc/puppet/files/workstation-wheezy/maynothave.ies
echo "$3 añadido a maynothave.ies de workstation"
fi
fi
fi
if ([ "$2" = "-a" ]  ||  [ "$2" = "-m" ]); then
                #añadimos a miniportatiles
       if [ "$1" = "-y" ]; then
#añadimos a mayhave
echo "$3" >> /etc/puppet/files/miniportatil-wheezy/mayhave.ies.alumno
echo "$3" >> /etc/puppet/files/miniportatil-wheezy/mayhave.ies.profesor
echo "$3 añadido a mayhave.ies de portatil de alumno y de profesor"
                else
                        if [ "$1" = "-s" ]; then
#añadirmos a musthave
echo "$3" >> /etc/puppet/files/miniportatil-wheezy/musthave.ies.alumno
echo "$3" >> /etc/puppet/files/miniportatil-wheezy/musthave.ies.profesor
echo "$3 añadido a musthave de portatil alumno y profesor"
                        else
#añadimos a maynothave
echo "$3" >> /etc/puppet/files/miniportatil-wheezy/maynothave.ies.alumno
echo "$3" >> /etc/puppet/files/miniportatil-wheezy/maynothave.ies.profesor
echo "$3 añadidoa maynothave de alumnos y profesores"
fi
fi

        fi

fi

No hay comentarios:

Publicar un comentario