distribuicion de .deb con configuraciones internas

Victor Hugo dos Santos listas.vhs en gmail.com
Mar Ene 29 10:03:20 CLST 2008


2008/1/28 Aldrin Martoq <amartoq en dcc.uchile.cl>:
> 2008/1/28 Victor Hugo dos Santos <listas.vhs en gmail.com>:
> > On Jan 24, 2008 3:05 PM, Aldrin Martoq <amartoq en dcc.uchile.cl> wrote:
> > > On Jan 24, 2008 1:58 PM, Victor Hugo dos Santos <listas.vhs en gmail.com> wrote:
> > [...]
> > > Sin embargo, crear un paquete no es dificil; lo que es dificil es
> > > mantenerlo. Te sugiero si son pocas las aplicaciones que necesitas (y
> > > debieran serlo! salvo que sea una estacion de trabajo o grafica), te
> > > guies mas por un script simple. Es mas facil de escribir "apt-get
> > > install ldap apache mysql" que irse con toda la parafernalia de un
> > > .deb .
> > mmmm.. no seria tan difícil de mantener.. ya que los archivos que
> > pienso incluir en el paquete.. son archivos que se modifican una sola
> > vez (generalmente en la instalación)... o sea, solamente debería de
> > lanzar la versión mipaquete_1.0.2 cuando fuera aplicar algún cambio en
> > uno de los archivos que están dentro del paquete, ponerlos en el
> > repositorio y esperar hasta que todos los equipos se actualizen.
> > parece perfecto, no ?? :-/
>
> Separemos los objetivos. Estoy hablando de las dependencias (que era
> uno de tus objetivos), y que para manejar dependencias es muy poco
> productivo crear un paquete. Basta que corras en una linea todos los
> paquetes que necesitas. IMHO.
>
> 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 !! ;-)

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

acá va un listado de los archivos que tenia previsto poner en el .deb
hasta ayer:

        $(INSTALL) archivos/resolv.conf         $(CURDIR)/debian/config-mef/etc/
        $(INSTALL) archivos/nsswitch.conf       $(CURDIR)/debian/config-mef/etc/
        $(INSTALL) archivos/sshd_config
$(CURDIR)/debian/config-mef/etc/ssh/
        $(INSTALL) archivos/ldap.conf
$(CURDIR)/debian/config-mef/etc/ldap/
        $(INSTALL) archivos/libnss-ldap.conf    $(CURDIR)/debian/config-mef/etc/
        $(INSTALL) archivos/pam_ldap.conf       $(CURDIR)/debian/config-mef/etc/
        $(INSTALL) archivos/syslog.conf         $(CURDIR)/debian/config-mef/etc/
        $(INSTALL_BIN) archivos/actualizar.sh
$(CURDIR)/debian/config-mef/usr/sbin/

en el paquete que estoy  trabajando, antes de instalar/copiar estés
archivos se genera una copia del archivo original..
una vez que instalado el paquete.. no veo mucha necesidad de quedar
manteniendo el paquete que he creado.. ya que, según "mi ignorante"
punto de vista.. se hay una actualizacion en "ssh" por ejemplo, el
gerenciado de paquetes se encargara de descargar la nueva versión de
un repositorio oficial y actualizarla normalmente... se hay cambios en
el archivo de configuracion (que bien podría hacer sido echos de
manera manual o automatizada por mi-paquete.deb) entonces se entraría
en el modo interactivo preguntando por una acción y/o bien se crearía
un archivo .dist con los nuevos cambios.

esto... es lo que entiendo y que imagino que pasaría.
estoy equivocado ???



> [...]
>
> > > Si decides irte por una solucion "home-made", te sugiero mantener un
> > > diff y aplicarlo con patch, independiente del problema 1. La gracia de
> > > aplicar un patch, es que la salida de diff contiene el contexto de
> > > donde se realizo; si el archivo que pretende cambiar es distinto a lo
> > > esperado patch gritara y tendras la chance de ver que sucede.
> > perdon.. esta parte no la entendí !!!
> > alguna documentacion que recomiendes ??
>
> 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 !!!


> De nada, cuentanos finalmente que solucion tomaste.

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.

muchas.. muchas gracias.

salu2

-- 
-- 
Victor Hugo dos Santos
Linux Counter #224399



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