:B~ Descripción general de las herramientas

1~overview-of-tools  Descripción general de las herramientas

Este capítulo contiene una descripción general de las tres  herramientas
principales utilizadas en la creación de sistemas Debian Live: live-build,
live-boot y live-config.

2~live-build El paquete live-build

live-build es una colección de scripts para generar los sistemas Debian
Live. A estos scripts también se les conoce como «comandos».

La idea detrás de live-build es ser un marco que utiliza un directorio de
configuración para automatizar completamente y personalizar todos los
aspectos de la creación de una imagen de un sistema en vivo.

Muchos conceptos son similares a los utilizados para crear paquetes Debian
con /{debhelper}/:

_* Los scripts tienen una ubicación central para la configuración de su
funcionamiento. En /{debhelper}/, éste es el subdirectorio #{debian/}# de un
árbol de paquetes. Por ejemplo, dh_install buscará, entre otros, un fichero
llamado #{debian/install}# para determinar qué ficheros deben existir en un
paquete binario en particular. De la misma manera, live-build almacena toda
su configuración bajo un subdirectorio #{config/}#.

_* Los scripts son independientes - es decir, siempre es seguro ejecutar
cada comando.

A diferencia de /{debhelper}/, live-build contiene una herramienta para
crear un directorio de configuración en esqueleto, #{lb config}#. Ésto
podría ser considerado como similar a herramientas tales como
/{dh-make}/. Para obtener más información sobre #{lb config}#, consultar {El
comando lb config }#lb-config

El resto de esta sección describe los tres comandos más importantes:

_* *{lb config}*: Responsable de la creación de un directorio de
configuración del sistema en vivo. Ver {El comando lb config}#lb-config para
más información.

_* *{lb build}*: Responsable de iniciar la creación de un sistema en
vivo. Ver {El comando lb build}#lb-build para más información.

_* *{lb clean}*: Responsable de la eliminación de partes de la creación de
un sistema en vivo. Ver {El comando lb clean}#lb-clean para  más
información.

3~lb-config El comando #{lb config}#

Como se comentó en {live-build}#live-build, los scripts que componen
live-build obtienen su configuración desde un único directorio llamado
#{config/}#. Como la creación de este directorio a mano sería largo y
propenso a errores, se puede utilizar el comando #{lb config}# para crear el
esqueleto de directorios de configuración.

Ejecutar #{lb config}# sin argumentos crea un subdirectorio #{config/}# que
se completa con algunas opciones por defecto y un árbol de subdirectorios en
forma de esqueleto #{auto/}#:

code{

 $ lb config
 [2013-01-01 09:14:22] lb_config
 P: Considering defaults defined in /etc/live/build.conf
 P: Creating config tree for a debian/i386 system

}code

Usar #{lb config}# sin ningún argumento sería conveniente para los usuarios
que necesitan una imagen muy básica, o que tienen intención de proporcionar
más tarde una configuración más completa a través de #{auto/config}# (ver
{Gestionar una configuración}#managing-a-configuration para más detalles).

Normalmente, se tendrá que especificar algunas opciones. Por ejemplo, para
especificar la distribución que se desea construir utilizando su nombre en
clave:

code{

 $ lb config --distribution sid

}code

Es posible especificar muchas opciones, tales como:

code{

 $ lb config --binary-images netboot --bootappend-live "boot=live config hostname=live-host username=live-user" ...

}code

Una lista completa de opciones está disponible en la página de manual
#{lb_config}#.

3~lb-build El comando #{lb build}#

El comando #{lb build}# lee la configuración del directorio #{config/}#. A
continuación, ejecuta los comandos de nivel inferior necesarios para crear
el sistema en vivo.

3~lb-clean El comando #{lb clean}#

El comando #{lb clean}# es el encargado de eliminar varias partes de una
creación de forma que las creaciones posteriores puedan comenzar de forma
limpia. Por defecto se eliminan las etapas #{chroot}#, #{binary}# y
#{source}# pero se deja el caché intacto. Además, se pueden limpiar etapas
de forma individual. Por ejemplo, si se han realizado cambios que sólo
afectan a la etapa binary, se debe usar #{lb clean --binary}# antes de crear
una nueva binary. Ver el manual de #{lb_clean}# para una lista detallada de
todas sus opciones

2~live-boot El paquete live-boot

live-boot es una colección de scripts que proporcionan scripts gancho
(hooks) para /{initramfs-tools}/, que sirve para generar un initramfs capaz
de arrancar los sistemas en vivo, tales como los creados por
live-build. Ésto incluye las ISOs de Debian Live, archivos comprimidos en
tar de netboot, e imágenes para llaves USB.

En el momento del arranque, buscará en los medios de almacenamiento de sólo
lectura un directorio #{/live/}# donde se encuentra un sistema de ficheros
raíz (a menudo una imagen del sistema de ficheros comprimidos como
squashfs). Si lo encuentra, creará un entorno de escritura, utilizando aufs,
para que arranquen los sistemas tipo Debian.

Se puede encontrar más información sobre ramfs inicial en Debian en el
Manual del kernel Debian Linux en http://kernel-handbook.alioth.debian.org/
concretamente en el capítulo sobre initramfs.

2~live-config El paquete live-config

live-config consiste en una serie de scripts que se ejecutan en el arranque
después de live-boot para configurar el sistema en vivo de forma
automática. Se ocupa de tareas como la creación del nombre del equipo
(hostname), las variantes locales y la zona horaria, crear el usuario en
vivo, la inhibición de trabajos de cron y el inicio de sesión automático del
usuario en vivo.
