distribuicion de .deb con configuraciones internas

Aldrin Martoq amartoq en dcc.uchile.cl
Mar Ene 29 17:03:04 CLST 2008


2008/1/29 Victor Hugo dos Santos <listas.vhs en gmail.com>:
> 2008/1/28 Aldrin Martoq <amartoq en dcc.uchile.cl>:
> > Manejar la configuracion mediante paquetes no es la manera debianita
> > de hacerlo, ya que los archivos de configuracion son tratados de
> > manera especial. Se espera que las modificaciones no se toquen. Se
> > espera que el sistema no te pregunte a cada rato si deseas modificar
> > un archivo (sobre todo en un dist-upgrade, te imaginas preguntarte por
> > cada archivo de configuracion en una actualizacion?). Aun asi, crear
> > paquetes para solucionar el objetivo de copiar configuraciones te crea
> > el problema adicional de que tendras que *mantenerlos*, y eso es lo
> > dificil: requiere mucho tiempo. Si aparece un problema de seguridad,
> > deberas relanzar un nuevo paquete y deberas monitorear los nuevos
> > release de los paquetes que has modificado. Te das cuenta?
> mmmm... la verdad es que no me doy cuenta !! ;-)

En realidad no me habia dado cuenta de lo que estas haciendo! Me
referia a versiones del mismo paquete (digamos
slapd_2.3.35-1ubuntu0.1_i386.deb) donde cambias la configuracion y
lanzas una nueva version (digamos
slapd_2.3.35-1ubuntu0.1victor_i386.deb)...

> la idea original seria crear un .deb que contendría solamente algunas
> "pre-dependencias" + archivos de configuracion / scripts y crons.

Ok, el unico problema es que no podras proveer los archivos
directamente (ej: /etc/ldap/ldap.conf, ya que este pertenece a otro
paquete). Tendras que dejar los archivos en algun lugar "temporal"
(quizas /usr/lib/victor/config/) algunos que tienen datos sensibles
(passwords) dejarlos con permisos -r-------- y tu script de postinst
podria copiarlos/modificarlos donde corresponden.

[...]

> > Que lo puedes hacer tu mismo con dos herramientas: diff y patch. Un
> > ejemplo que me ha llevado un buen rato hacer. Imaginemos que quiero
> > configurar slapd:
>
> [...]
>
> aaahhh.. vale !!! pensaba que era algo diferente !!!
> pero mirando vuestra idea.. me abre una nueva posibilidad con que trabajar !!!
[..]
> voy a tomar un café ahora.. y analizar bien las opciones que tengo
> (tengo 3 hasta ahora) !!!
> posiblemente haga todos los ejemplos y al final veré con cual de todos
> es el mejor.

Bueno, sigo resistiendome a resolver esto con un .deb (en particular,
la configuracion). Las razones exactas no las recuerdo, simplemente ya
jugue creando .deb para distintos objetivos y me parece mas sano
utilizar la opcion de diff + patch o mejor dicho a mano con una serie
de scripts (ver mas abajo). Ademas, hay varia informacion de
configuracion que queda en debconf actualmente, quizas debieras
considerar eso tambien (Claro que si estas usando debian-stable,
tienes como 3 an~os para que te topes con problemas serios).

Te puedo contar algunas experiencias al respecto. Creo que tenia 4-8
tarros a configurar en un cluster para calculos basados en MPI. Lo que
hice fue instalar ssh en cada uno de ellos, con llaves compartidas
para root. Despues basicamente con algo parecido a esto, instale y
configure todos los tarros. No habia que preocuparse de nada mas, ya
que una vez configurados no habria que hacer nada especial.

cat > lista_maquinas
10.0.0.2
10.0.0.3
10.0.0.4
^D

cat > lista_archivos
/etc/resolv.conf
/etc/foo.conf
/etc/bar.conf
/etc/etc.conf
^D

for maquina in $(cat lista_maquinas); do
  ssh root en maquina "apt-get install foo bar etc"
  for archivo in $(cat lista_archivos); do
    scp $archivo root en maquina:$archivo
  done
  ssh root en maquina "reboot"
done



Como dices, prueba las opciones y ve cual te sienta mejor.

Atte,

-- 
Aldrin Martoq



Más información sobre la lista de distribución Linux