[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: dpkg-divert para ficheros de configuracion



El Thu, Feb 21, 2008 at 09:47:04AM +0000, Jesús Roncero va escriure:
> On Thursday 21 February 2008 00:24:21 Sergio Talens-Oliag wrote:
> > Yo desarrollé un sistema para mantener versiones propias de ficheros de
> > configuración que soportasen la actualización de los paquetes para las CDDT
> > (Custom Debian Distributions Tools), pero como ya no me dedico a eso no
> > llegué a subir los paquetes a Debian (en la versión antigua de LliureX si
> > que se utilizaban).
> >
> > Aunque no creo que te sirvan tal cual, puedes hacer un checkout de:
> >
> >   https://mixinet.net/svn/cddt/trunk/cddt-runtime/
> >
> > y mirar la carpeta de scripts; los que te pueden interesar son el que se
> > llama cddt-divert y el que se llama cddt-apt, en la carpeta manpages tienes
> > páginas de manual que explican como se usan.
> 
> El problema que le veo a esto, si lo he entendido bien, en mi configuracion 
> actual es que aqui no quieren tener una modificacion asi a debian (si hay que 
> usar cddt-apt para instalar los paquetes), ya que quieren que este todo lo 
> mas cercano a debian sin cambiar mucho del sistema de paquetes. En cualquier 
> caso le hago un checkout cuando tenga un hueco y miro a ver como nos puede 
> ayudar.

Creo que no me he explicado bien, el cddt-apt es un programa que se instala en
el equipo y añade *hooks* sobre *apt* para hacer su gestión de modo
automático, es decir, para instalar sigues utilizando apt-get, aptitude o
synaptic (si instalas cosas con dpkg directamente los hooks no se ejecutan,
por lo que para instalar a mano si deberías ejecutar cddt-dpkg en lugar de
dpkg, que simplemente ejecuta los hooks antes de hacer las cosas).

De hecho, salvo que haya algún BUG (seguro que hay alguno), si instalas el
cddt-runtime pero no hay ningún paquete que lo utilice el sistema es
100 % debian, lo único que cambia es que antes y después de instalar paquetes
se ejecutan scripts que no hacen nada.

En su momento me pareció una buena aproximación al tema de la gestión de
ficheros de configuración de Debian para las custom distributions, ya que como
tú has detectado el dpkg-divert no es una opción aceptable.

La idea básica detrás del sistema es que antes y después de actualizar un
paquete se tengan los ficheros originales de Debian, con lo que las
actualizaciones se harían de modo transparente y sin preguntas, siempre que no
se toque el fichero original y el paquete no tenga bugs de actualización (en
algunos paquetes se ha dado el caso de que el dpkg pregunte por los ficheros
de configuración cuando el usuario no ha tocado nada).

Para adaptar las configuraciones lo que se hace es lanzar scripts después de
instalar o actualizar los paquetes; estos scripts pueden reemplazar los ficheros de
configuración originales por ficheros completos sin más (aproximación más
simple pero menos resistente a cambios de versiones) o ejecutar algún tipo de
operación sobre los ficheros originales para generar un nuevo fichero que
aplique cambios mínimos (generalmente más resistente a actualizaciones,
siempre que no haya cambios importantes en el formato de los ficheros de
configuración).

Si los scripts instalan los ficheros modificados con «cddt-divert» cuando hay
que volver a actualizar el sistema sabe como volver al estado anterior a la
«diversion» y conseguimos el efecto que describía antes.

La idea original es que el sistema se utilice con instalaciones estables y por
tanto se revisen los scripts de «adaptación» para evitar que las cosas queden
en estado inestable, aunque en realidad si lo que vas a hacer es instalar
actualizaciones controladas puedes validar los cambios en un equipo y si hace
falta actualizar el paquete que contenga los scripts de «adaptación» lo haces
antes de actualizar todos los equipos (la gracia es que si actualizas los
paquetes con problemas a la vez que el paquete de «adaptaciones» actualizado
al terminar de ejecutar el «apt» se ejecutan los nuevos scripts y no los
antiguos, con lo que el tema es bastante seguro).

Hay más documentación de como funciona todo en el paquete cddt-doc::

  https://mixinet.net/svn/cddt/trunk/cddt-doc/

Saludos,

  Sergio.

-- 
Sergio Talens-Oliag <sto@debian.org>   <http://people.debian.org/~sto/>
Key fingerprint = 29DF 544F  1BD9 548C  8F15 86EF  6770 052B  B8C1 FA69

Attachment: signature.asc
Description: Digital signature


Reply to: