Cpkg (Software)

(Redirigido desde «Cpkg»)
Cpkg
Información sobre la plantilla
Gestor paquete.jpg
Interfaz gráfica
GéneroGestor de paquetes
Sistemas Operativos compatiblesGNU/Linux
LicenciaLGPL

Cpkg (Software). Es el de paquete de configuración (Configuration PacKaGe), cada cpkg contiene una serie de elementos agrupados que se gestionan conjuntamente: cada cpkg puede añadirse o eliminarse del sistema, activarse o desactivarse, se puede invocar su ejecución, deshacer su efecto, entre otras opciones.

Cpkg como paquete

La principal función que realiza un cpkg es la instalación de determinados ficheros, sustituyendo (si procede) a los ya existentes en el sistema con total independencia del origen inicial de dichos ficheros, es decir, no importa en absoluto que estos hubiesen sido instalados o generados previamente por otros paquetes y programas.

Estos ficheros pueden ser de cualquier tipo, aunque sin duda el caso más frecuente en LliureX, es la personalización de ficheros de configuración de otros programas. Además de instalar, también puede borrar ficheros y realizar otras acciones.

Gestor paquete1.jpg

Principales características

  • Flexibilidad. Cada cpkg se comporta como un paquete independiente, y pueden instalarse tantos como se quieran. Esto permite desglosar las tareas complejas en varios cpkgs, o reutilizar cpkgs para tareas comunes.
  • Configuraciones dinámicas. Los ficheros a instalar pueden ser estáticos (incluidos ya en el cpkg o instalados por otros paquetes) o dinámicos (generados en cada ejecución del cpkg).
  • Instalación diferida. Los cpkgs NO instalan los ficheros directamente en el sistema sino en un skeleton aparte. El runtime se ocupará después de instalarlos en el sistema (si procede).
  • Evitar reescrituras innecesarias. En cada ejecución el sistema se encarga de instalar sólo los ficheros que han sufrido alguna modificación a fin de minimizar la escritura de ficheros de sistema.
  • Registro de cambios. El sistema mantiene de manera automática un registro de los ficheros que modifica cada cpkg.
  • Capacidad de rollback. Además del registro de cambios, el sistema mantiene una copia de los ficheros originales, de manera que pueden deshacerse automáticamente todos los cambios realizados.
  • Control de actualizaciones. El sistema detecta las actualizaciones tanto de los cpkgs, como de los ficheros modificados. Este seguimiento impide que al actualizar el sistema se pierdan los cambios realizados, evita que queden modificaciones huérfanas olvidadas, y mantiene actualizada la copia del estado original de los ficheros afectados.
  • Atomicidad. El seguimiento de las modificaciones permite detectar posibles operaciones incompletas, activándose un mecanismo automático de recuperación para restaurar los ficheros modificados y mantener la consistencia del sistema.

Posibilidad de activación/desactivación: se dispone de mecanismos para activar y desactivar cpkgs a voluntad.

Ventajas

  • Simplicidad: Al programar un cpkg sólo hay que preocuparse de los ficheros que queremos instalar, el resto corre a cargo del runtime (instalación, copia de seguridad, registro de cambios, recuperación, rollback, consistencia, …)
  • Seguridad: El sistema minimiza el riesgo de corrupción de archivos y garantiza la consistencia del conjunto de cambios: mínimo número de escrituras, registro de cambios, atomicidad, …
  • Reversibilidad: Las modificaciones pueden hacerse y deshacerse a voluntad. Con un sólo comando, podemos aplicar o eliminar toda la personalización del sistema.
  • Una de las grandes ventajas de usar llxcfg, es que se ha desarrollado también un paquete de apoyo para el desarrollo, que simplifica extraordinariamente el empaquetado de aplicaciones que usen el runtime. llxcfg-dev es un helper al estilo debhelper, para simplificar el empaquetado de componentes de llxcfg. El paquete instala la herramienta dllxh_install, que a partir de ciertos ficheros dentro del directorio debian, es capaz de instalar los diferentes componentes de llxcfg (y algunas cosas más) en los directorios de construcción:
    • Instalación de scripts de llxcfg.
    • Definición de nuevos tipos de scripts llxcfg.
    • Ficheros (estáticos) de variables.
    • Conffiles (estáticos).
    • Autorizaciones y permisos (usando op).

Fuentes