🔎 
  
Manual de Live Systems

Gestionar una configuración

Gestionar una configuración

Este capítulo explica como gestionar una configuración para crear un sistema en vivo desde el principio, pasando por sucesivas versiones tanto de la herramienta live-build como de la imagen del sistema en vivo propiamente dicha.

Gestionar cambios en la configuración

Las configuraciones en vivo rara vez son perfectas al primer intento. Puede estar bien pasar opciones a lb config en la línea de comandos para realizar una construcción única, pero es más típico revisar esas opciones y construir de nuevo hasta quedar satisfecho. Para gestionar estos cambios, se pueden utilizar scripts auto que garanticen que la configuración se mantiene en un estado coherente.

¿Por qué utilizar scripts auto? ¿Qué hacen?

El comando lb config almacena las opciones que se le pasan en ficheros en el directorio config/*, junto con muchas otras opciones que figuran en sus valores predeterminados. Si se ejecuta lb config una vez más, no restablecerá ninguna opción que se estableció como por defecto en función de las opciones iniciales. Así, por ejemplo, si se ejecuta lb config otra vez con un nuevo valor para --binary-images, todas las opciones que se establecieron como predeterminadas según la opción anterior ya no pueden funcionar con la nueva. Estos ficheros tampoco estan destinados a ser leídos o editados. Almacenan valores para más de cien opciones, y nadie es capaz de ver las opciones que se especificó realmente. Y por último, si se ejecuta lb config y a continuación se actualiza live-build y hay alguna opción que cambió de nombre, config/* todavía tendrá variables con las opciones viejas que ya no son válidas.

Por todas estas razones, los scripts auto/* nos hacen la vida más fácil. Son simples envoltorios para los comandos lb config, lb build y lb clean diseñados para ayudar a gestionar una configuración. El script auto/config contiene el comando lb config con todas las opciones que se desea, el script auto/clean elimina los ficheros que contienen variables de configuración y el fichero auto/build crea un build.log de cada creación. Cada uno de estos scripts se ejecuta automáticamente cada vez que se ejecuta la orden lb correspondiente. Mediante el uso de estos scripts, la configuración es más fácil de leer y se mantiene internamente coherente de una revisión a la siguiente. Además, será mucho más fácil identificar y corregir las opciones que necesitan cambiarse tras actualizar live-build y leer la documentación actualizada.

Usar scripts auto de ejemplo

Para mayor comodidad, live-build incluye scripts auto de ejemplo que se pueden copiar y editar. Iniciar una nueva configuración por defecto y a continuación, copiar los ejemplos:

 $ mkdir mylive && cd mylive && lb config
 $ mkdir auto
 $ cp /usr/share/doc/live-build/examples/auto/* auto/  

Editar auto/config, añadiendo las opciones que se desee. Por ejemplo:

 #!/bin/sh
 lb config noauto \
     --architectures i386 \
     --linux-flavours 686-pae \
     --binary-images hdd \
     --mirror-bootstrap http://ftp.ch.debian.org/debian/ \
     --mirror-binary http://ftp.ch.debian.org/debian/ \
     "${@}"  

Ahora, cada vez que se utilize lb config, auto/config reiniciará la configuración basándose en estas opciones. Cuando se desee realizar cambios, se deben editar las opciones en este fichero en lugar de pasarlas a lb config. Cuando se utilize lb clean, auto/clean limpiará los ficheros en config/* junto a los otros productos de construcción. Y, por último, cuando se utilice lb build, auto/build creará un log del proceso de construcción llamado build.log.

Nota: Aquí se utiliza noauto, un parámetro especial para suprimir otra llamada a auto/config, evitando así una repetición infinita. Asegurarse de no eliminarlo accidentalmente al hacer cambios en el fichero. Tener cuidado al dividir el comando lb config en varias líneas para facilitar la lectura, como se muestra en el ejemplo anterior, ya que no debe olvidarse la barra invertida (\) al final de cada línea que sigue en la siguiente.

Clonar una configuración publicada a través de Git

Utilizar la opción lb config --config para clonar un repositorio Git que contenga una configuración de un sistema en vivo. Si se desea basar la configuración en una mantenida por el ${project}, visitar el repositorio en http://live-systems.org/gitweb/ con el nombre live-images bajo el título Packages. Este repositorio contiene las configuraciones que se utilizan para las imágenes prefabricadas

Por ejemplo, para construir una imagen standard, utilizar el repositorio live-images de la siguiente manera:

 $ mkdir live-images && cd live-images
 $ lb config --config git://live-systems.org/git/live-images.git
 $ cd images/standard  

Editar auto/config y cualquier otra cosa que se necesite en el árbol config para adaptarlo a las propias necesidades. Por ejemplo, las imágenes prefabricadas con paquetes de la sección non-free se crean simplemente añadiendo --archive-areas “main contrib non-free”.

Si se desea, se puede definir un método abreviado en la configuración de Git, añadiendo lo siguiente al fichero ${HOME}/.gitconfig:

 [url "git://live-systems.org/git/"]
         insteadOf = lso:  

Esto permite utilizar lso: en cualquier lugar en que se tenga que especificar la dirección de un repositorio git de live-systems.org. Si se omite el sufijo .git, comenzar una nueva imagen con esta configuración es tan fácil como:

 $ lb config --config lso:live-images  

Clonar el repositorio live-images completo copiará todas las configuraciones utilizadas para varias imágenes. Si se quiere construir una imagen diferente después de haber terminado con la primera, cambiar a otro directorio y de nuevo, y opcionalmente, hacer los cambios necesarios para adaptarlo según las necesidades.

En cualquier caso, recordar que cada vez que se tiene que construir una imagen hay que hacerlo como superusuario: lb build



License: Este programa es software libre: puede ser redistribuido y/o modificado bajo los términos de la GNU General Public License publicada por la Free Software Foundation, bien de la versión 3 de la Licencia, o (a su elección) cualquier versión posterior.

Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la GNU General Public License para más detalles.

Debería haber recibido una copia de la General Public License GNU junto con este programa. Si no, vea http://www.gnu.org/licenses/.

El texto completo de la GNU Licencia Pública General se pueden encontrar en /usr/share/common-licenses/GPL-3


≅ SiSU Spine ፨ (object numbering & object search)

(web 1993, object numbering 1997, object search 2002 ...) 2023